From 398b2240c0b2166a31f4162c69b73ccb5e69997b Mon Sep 17 00:00:00 2001 From: reallyshadydev <193838108+reallyshadydev@users.noreply.github.com> Date: Sun, 15 Feb 2026 08:13:40 +0100 Subject: [PATCH] Add Coin Flow, Network Traffic, Supply, and explorer enhancements MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Coin Flow: recent tx flow (from → to) with amounts and pagination - Network Traffic: detailed network stats (bytes in/out, rates, uptime, mempool) - Supply / Supply Flow chart, Emission, Difficulty, Mining views - Nodes, Mempool, Chain Health, Chain Tips, API, Glossary - Orphans, Reorgs, Rich List, Holders views - Wojak branding (logo), header nav and style updates - Redirect /supply-flow to /coin-flow; peers stay on Nodes only Co-authored-by: Cursor --- .env.example | 29 - package-lock.json | 6 +- public/css/style.css | 1110 +++++++++++++++++++++++++++++---- public/img/wojak-logo (2).png | Bin 0 -> 251748 bytes public/img/wojak-logo.svg | 151 +++++ public/js/app.js | 38 ++ server.js | 788 ++++++++++++++++++++++- views/api.ejs | 210 +++++++ views/chain-health.ejs | 186 ++++++ views/chain-tips.ejs | 112 ++++ views/coin-flow.ejs | 94 +++ views/difficulty.ejs | 192 ++++++ views/emission.ejs | 113 ++++ views/glossary.ejs | 104 +++ views/holders.ejs | 107 ++++ views/index.ejs | 2 +- views/mempool.ejs | 153 +++++ views/mining.ejs | 175 ++++++ views/network-traffic.ejs | 144 +++++ views/nodes.ejs | 108 ++++ views/orphans.ejs | 112 ++++ views/partials/header.ejs | 117 +++- views/reorgs.ejs | 112 ++++ views/richlist.ejs | 105 ++++ views/statistics.ejs | 2 +- views/supply-flow.ejs | 236 +++++++ views/supply.ejs | 140 +++++ views/transaction.ejs | 117 +++- 28 files changed, 4560 insertions(+), 203 deletions(-) delete mode 100644 .env.example create mode 100644 public/img/wojak-logo (2).png create mode 100644 public/img/wojak-logo.svg create mode 100644 views/api.ejs create mode 100644 views/chain-health.ejs create mode 100644 views/chain-tips.ejs create mode 100644 views/coin-flow.ejs create mode 100644 views/difficulty.ejs create mode 100644 views/emission.ejs create mode 100644 views/glossary.ejs create mode 100644 views/holders.ejs create mode 100644 views/mempool.ejs create mode 100644 views/mining.ejs create mode 100644 views/network-traffic.ejs create mode 100644 views/nodes.ejs create mode 100644 views/orphans.ejs create mode 100644 views/reorgs.ejs create mode 100644 views/richlist.ejs create mode 100644 views/supply-flow.ejs create mode 100644 views/supply.ejs diff --git a/.env.example b/.env.example deleted file mode 100644 index eef6885..0000000 --- a/.env.example +++ /dev/null @@ -1,29 +0,0 @@ -# DedooExplorer Configuration -# Copy this file to .env and customize for your coin - -# Server -PORT=3001 - -# Electrs API -ELECTRS_API=http://127.0.0.1:50010 - -# Explorer Branding -EXPLORER_NAME=Junkcoin Explorer -COIN_NAME=Junkcoin -COIN_TICKER=JKC -COIN_TAGLINE=A peer to peer meme currency serving the internet community - -# Logo (path relative to /public or absolute URL) -LOGO_URL=/img/dedoo-logo.svg - -# Social Media Links (leave empty to hide) -WEBSITE_URL=https://junk-coin.com/ -GITHUB_URL=https://github.com/junkcoin-Foundation/junkcoin-core -TELEGRAM_URL=https://t.me/junkcoin2014 -TWITTER_URL=https://x.com/junkcoin_jkc -DISCORD_URL= - -# Mining/Consensus -ALGORITHM=Scrypt -DIFF_ADJUSTMENT=Custom -BLOCK_TIME=60 diff --git a/package-lock.json b/package-lock.json index ada6c25..50b01a8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -784,9 +784,9 @@ "license": "MIT" }, "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" diff --git a/public/css/style.css b/public/css/style.css index 14394b8..cf42bdb 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -155,8 +155,9 @@ a:hover { margin: 0 auto; padding: 0 var(--spacing-lg); display: flex; + flex-wrap: wrap; align-items: center; - gap: var(--spacing-lg); + gap: var(--spacing-md); } .nav-brand { @@ -185,8 +186,9 @@ a:hover { } .search-form { - flex: 1; - max-width: 500px; + flex: 1 1 280px; + min-width: 0; + max-width: 420px; position: relative; } @@ -221,7 +223,33 @@ a:hover { .nav-links { display: flex; + flex-wrap: wrap; gap: var(--spacing-xs); + flex: 1 1 auto; + min-width: 0; +} + +.nav-toggle { + display: none; + align-items: center; + justify-content: center; + width: 48px; + height: 48px; + border-radius: var(--radius-lg); + border: 1px solid var(--border-color); + background: var(--bg-input); + color: var(--text-secondary); + cursor: pointer; + transition: all var(--transition-fast); +} + +.nav-toggle i { + font-size: 1.25rem; +} + +.nav-toggle:hover { + border-color: var(--primary); + color: var(--primary); } .nav-link { @@ -250,6 +278,187 @@ a:hover { font-size: 1rem; } +.nav-backdrop { + display: none; +} + +.nav-modal-panel { + display: none; +} + +.theme-toggle { + min-width: 48px; + height: 48px; + border-radius: var(--radius-lg); + padding: 0 calc(var(--spacing-md) + 2px); +} + +.theme-toggle i { + font-size: 1.25rem; +} + +@media (max-width: 768px) { + .nav-container { + flex-wrap: wrap; + gap: var(--spacing-sm); + } + + .search-form { + order: 3; + flex: 1 1 100%; + max-width: 100%; + margin-top: var(--spacing-sm); + } + + .nav-toggle { + display: inline-flex; + margin-left: auto; + } + + .nav-toggle[aria-expanded="true"] i.fa-bars { + display: none; + } + + .nav-toggle[aria-expanded="true"] i.fa-times { + display: inline-block; + } + + .nav-toggle i.fa-times { + display: none; + } + + .theme-toggle { + margin-left: var(--spacing-xs); + } + + /* Hide desktop nav links on mobile */ + .nav-links-desktop { + display: none !important; + } + + /* Hamburger modal backdrop (mobile only) */ + .nav-backdrop { + display: none; + pointer-events: none; + position: fixed; + inset: 0; + z-index: 999; + background: rgba(0, 0, 0, 0.6); + backdrop-filter: blur(4px); + opacity: 0; + transition: opacity 0.2s ease; + } + + .nav-backdrop.open { + display: block; + opacity: 1; + pointer-events: auto; + } + + /* Hamburger modal panel - fixed height, inner scroll */ + .nav-modal-panel { + position: fixed; + top: 0; + left: var(--spacing-md); + right: var(--spacing-md); + z-index: 1000; + max-height: 88vh; + margin-top: 60px; + display: flex; + flex-direction: column; + background: var(--bg-card); + border: 1px solid var(--border-color); + border-radius: var(--radius-lg); + box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5); + overflow: hidden; + transform: translateY(-12px); + opacity: 0; + visibility: hidden; + transition: transform 0.25s ease, opacity 0.25s ease, visibility 0.25s ease; + } + + .nav-modal-panel.open { + display: flex; + transform: translateY(0); + opacity: 1; + visibility: visible; + } + + .nav-modal-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--spacing-md) var(--spacing-lg); + border-bottom: 1px solid var(--border-color); + background: var(--bg-card); + flex-shrink: 0; + } + + .nav-modal-title { + font-weight: 600; + font-size: 1.125rem; + color: var(--text-primary); + } + + .nav-modal-close { + display: inline-flex; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + border: none; + border-radius: var(--radius-md); + background: var(--bg-input); + color: var(--text-secondary); + cursor: pointer; + transition: background 0.15s, color 0.15s; + } + + .nav-modal-close:hover { + background: var(--border-light); + color: var(--text-primary); + } + + .nav-modal-close i { + font-size: 1.25rem; + } + + /* Scrollable list - this div scrolls, not the panel */ + .nav-links-scroll { + overflow-y: auto; + overflow-x: hidden; + -webkit-overflow-scrolling: touch; + overscroll-behavior: contain; + padding: var(--spacing-sm) var(--spacing-md) var(--spacing-lg); + min-height: 0; + flex: 1 1 auto; + } + + .nav-modal-panel .nav-link { + width: 100%; + justify-content: flex-start; + color: var(--text-primary); + font-size: 1rem; + padding: 14px 16px; + border-radius: var(--radius-md); + margin-bottom: var(--spacing-xs); + } + + .nav-modal-panel .nav-link:last-child { + margin-bottom: 0; + } + + .nav-modal-panel .nav-link span { + display: inline-block; + } + + .nav-modal-panel .nav-link i { + width: 24px; + text-align: center; + margin-right: var(--spacing-sm); + } +} + /* ============ MAIN CONTENT ============ */ .main-content { flex: 1; @@ -363,6 +572,12 @@ a:hover { color: var(--primary); } +.stat-note { + font-size: 0.75rem; + color: var(--text-muted); + margin-top: 4px; +} + /* ============ CONTENT CARDS ============ */ .content-card { background: var(--bg-card); @@ -438,203 +653,765 @@ a:hover { border-collapse: collapse; } -.data-table th { - text-align: left; - padding: var(--spacing-md) var(--spacing-lg); - font-size: 0.75rem; +.data-table th { + text-align: left; + padding: var(--spacing-md) var(--spacing-lg); + font-size: 0.75rem; + font-weight: 600; + letter-spacing: 0.5px; + color: var(--text-secondary); + text-transform: uppercase; + background: rgba(0, 0, 0, 0.3); + border-bottom: 1px solid var(--border-color); +} + +.data-table td { + padding: var(--spacing-md) var(--spacing-lg); + border-bottom: 1px solid var(--border-color); + font-size: 0.9rem; +} + +.data-table tbody tr { + transition: background var(--transition-fast); +} + +.data-table tbody tr:hover { + background: var(--bg-card-hover); +} + +.data-table tbody tr:last-child td { + border-bottom: none; +} + +.clickable-row { + cursor: pointer; +} + +.text-muted { + color: var(--text-muted); +} + +.text-center { + text-align: center; +} + +/* Hash Values */ +.hash-value { + display: inline-flex; + align-items: center; + gap: var(--spacing-xs); + font-family: 'SF Mono', 'Monaco', 'Inconsolata', monospace; + font-size: 0.85rem; +} + +.hash-full { + font-family: 'SF Mono', 'Monaco', 'Inconsolata', monospace; + font-size: 0.85rem; + word-break: break-all; + display: flex; + align-items: flex-start; + gap: var(--spacing-sm); +} + +.block-height { + color: var(--primary); + font-weight: 600; +} + +.copy-btn { + background: transparent; + border: none; + color: var(--text-muted); + cursor: pointer; + padding: 4px; + border-radius: var(--radius-sm); + transition: all var(--transition-fast); + display: inline-flex; + align-items: center; + justify-content: center; +} + +.copy-btn:hover { + color: var(--primary); + background: rgba(245, 166, 35, 0.1); +} + +.time-cell { + display: flex; + flex-direction: column; +} + +.time-ago { + color: var(--text-primary); +} + +.time-full { + font-size: 0.75rem; + color: var(--text-muted); +} + +/* ============ BADGES ============ */ +.badge { + display: inline-flex; + align-items: center; + padding: 4px 10px; + border-radius: var(--radius-md); + font-size: 0.75rem; + font-weight: 600; + text-transform: uppercase; +} + +.badge-confirmed { + background: rgba(76, 217, 100, 0.15); + color: var(--success); +} + +.badge-pending { + background: rgba(245, 166, 35, 0.15); + color: var(--primary); +} + +.badge-info { + background: rgba(90, 200, 250, 0.15); + color: var(--info); +} + +.stat-card-success { + border-left: 3px solid var(--success); +} + +.stat-card-warning { + border-left: 3px solid var(--warning); +} + +.success-row { + background: rgba(76, 217, 100, 0.05); +} + +.warning-row { + background: rgba(245, 166, 35, 0.05); +} + +/* ============ PAGINATION ============ */ +.pagination { + display: flex; + justify-content: center; + align-items: center; + gap: var(--spacing-md); + padding: var(--spacing-lg); + border-top: 1px solid var(--border-color); +} + +.page-btn { + display: inline-flex; + align-items: center; + gap: var(--spacing-xs); + padding: 10px 16px; + background: var(--bg-input); + border: 1px solid var(--border-color); + border-radius: var(--radius-md); + color: var(--text-secondary); + font-size: 0.875rem; + font-weight: 500; + transition: all var(--transition-fast); +} + +.page-btn:hover:not(.disabled) { + background: var(--bg-card-hover); + border-color: var(--primary); + color: var(--primary); +} + +.page-btn.disabled { + opacity: 0.5; + cursor: not-allowed; + pointer-events: none; +} + +.page-numbers { + display: flex; + gap: var(--spacing-xs); +} + +.page-num { + width: 36px; + height: 36px; + display: flex; + align-items: center; + justify-content: center; + border-radius: var(--radius-md); + font-size: 0.875rem; + font-weight: 500; + color: var(--text-secondary); + transition: all var(--transition-fast); +} + +.page-num:hover { + background: var(--bg-card-hover); + color: var(--text-primary); +} + +.page-num.active { + background: var(--primary); + color: #000; + font-weight: 600; +} + +.page-ellipsis { + width: 36px; + height: 36px; + display: flex; + align-items: center; + justify-content: center; + color: var(--text-muted); +} + +.page-info { + font-size: 0.875rem; + color: var(--text-secondary); +} + +.pagination-footer { + display: flex; + align-items: center; + justify-content: center; + gap: var(--spacing-sm); + flex-wrap: wrap; + padding: var(--spacing-lg); + border-top: 1px solid var(--border-color); +} + +.pagination-footer .page-btn.active { + background: var(--primary); + color: #000; + border-color: var(--primary); +} + +.pagination-bar { + display: flex; + align-items: center; + justify-content: center; + gap: var(--spacing-md); + flex-wrap: wrap; + padding: var(--spacing-lg); + border-top: 1px solid var(--border-color); +} + +.pagination-bar .pagination-info { + font-size: 0.875rem; + color: var(--text-secondary); +} + +.pagination-bar .pagination-btn { + display: inline-flex; + align-items: center; + gap: var(--spacing-xs); + padding: 8px 14px; + background: var(--bg-input); + border: 1px solid var(--border-color); + border-radius: var(--radius-md); + color: var(--text-secondary); + font-size: 0.875rem; + text-decoration: none; + transition: all var(--transition-fast); +} + +.pagination-bar .pagination-btn:hover { + background: var(--bg-card-hover); + border-color: var(--primary); + color: var(--primary); +} + +.pagination-bar .pagination-btn.disabled { + opacity: 0.5; + cursor: not-allowed; + pointer-events: none; +} + +/* Coin Flow page */ +.coin-flow-page .flow-list { + display: flex; + flex-direction: column; + gap: var(--spacing-md); +} + +.coin-flow-page .flow-item { + padding: var(--spacing-md) var(--spacing-lg); + border: 1px solid var(--border-color); + border-radius: var(--radius-md); + background: var(--bg-card); + cursor: pointer; + transition: background var(--transition-fast), border-color var(--transition-fast); +} + +.coin-flow-page .flow-item:hover { + background: var(--bg-card-hover); + border-color: var(--border-light); +} + +.coin-flow-page .flow-meta { + display: flex; + align-items: center; + gap: var(--spacing-sm); + margin-bottom: var(--spacing-sm); + font-size: 0.875rem; + color: var(--text-secondary); +} + +.coin-flow-page .flow-time { + font-variant-numeric: tabular-nums; +} + +.coin-flow-page .flow-block { + color: var(--primary); + text-decoration: none; +} + +.coin-flow-page .flow-block:hover { + text-decoration: underline; +} + +.coin-flow-page .flow-arrow-row { + display: flex; + align-items: flex-start; + gap: var(--spacing-md); + flex-wrap: wrap; +} + +.coin-flow-page .flow-from, +.coin-flow-page .flow-to { + flex: 1; + min-width: 140px; +} + +.coin-flow-page .flow-label { + display: block; + font-size: 0.75rem; + text-transform: uppercase; + letter-spacing: 0.05em; + color: var(--text-muted); + margin-bottom: 4px; +} + +.coin-flow-page .flow-addresses { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 6px 12px; +} + +.coin-flow-page .flow-addr { + font-family: var(--font-mono, monospace); + font-size: 0.875rem; + color: var(--primary); + text-decoration: none; +} + +.coin-flow-page .flow-addr:hover { + text-decoration: underline; +} + +.coin-flow-page .flow-addr.coinbase { + color: var(--success); +} + +.coin-flow-page .flow-amount { + font-size: 0.8rem; + color: var(--text-secondary); +} + +.coin-flow-page .flow-arrow { + flex-shrink: 0; + padding-top: 1.25rem; + color: var(--text-muted); +} + +.coin-flow-page .flow-total { + margin-top: var(--spacing-sm); + font-size: 0.9rem; +} + +.coin-flow-page .flow-fee { + margin-left: var(--spacing-md); + font-size: 0.8rem; + color: var(--text-muted); +} + +.coin-flow-page .flow-txid { + margin-top: 6px; + font-size: 0.8rem; + display: flex; + align-items: center; + gap: 6px; +} + +.coin-flow-page .flow-txid .hash-value { + color: var(--text-secondary); + text-decoration: none; +} + +.coin-flow-page .flow-txid .hash-value:hover { + color: var(--primary); +} + +.coin-flow-page .empty-state { + padding: var(--spacing-xl); + text-align: center; + color: var(--text-muted); +} + +.page-footer-note { + font-size: 0.875rem; + color: var(--text-muted); + margin-top: var(--spacing-md); +} + +.page-footer-note a { + color: var(--primary); +} + +.text-warning { + color: var(--warning); +} + +.rank-badge { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 32px; + padding: 4px 8px; + background: var(--bg-input); + border-radius: var(--radius-sm); + font-weight: 600; + font-size: 0.875rem; + color: var(--primary); +} + +.rank-badge.rank-1 { background: rgba(255, 193, 7, 0.2); color: #ffc107; } +.rank-badge.rank-2 { background: rgba(158, 158, 158, 0.25); color: #bdbdbd; } +.rank-badge.rank-3 { background: rgba(205, 127, 50, 0.25); color: #cd7f32; } + +.card-footer-note { + padding: var(--spacing-md) var(--spacing-lg); + border-top: 1px solid var(--border-color); + font-size: 0.9rem; +} + +.card-footer-note a { + color: var(--primary); + display: inline-flex; + align-items: center; + gap: var(--spacing-sm); +} + +.alert { + padding: var(--spacing-md) var(--spacing-lg); + border-radius: var(--radius-md); + margin: var(--spacing-md) 0; + display: flex; + align-items: flex-start; + gap: var(--spacing-sm); +} + +.alert i { + flex-shrink: 0; + margin-top: 2px; +} + +.alert code { + background: var(--bg-input); + padding: 2px 6px; + border-radius: var(--radius-sm); + font-size: 0.85em; +} + +.alert-warning { + background: rgba(245, 166, 35, 0.12); + border: 1px solid rgba(245, 166, 35, 0.35); + color: var(--text-primary); +} + +/* Glossary & FAQ */ +.glossary-list.detail-grid { + display: flex; + flex-direction: column; + gap: var(--spacing-md); +} + +.glossary-term { + padding: var(--spacing-md) 0; + border-bottom: 1px solid var(--border-color); +} + +.glossary-term:last-child { + border-bottom: none; +} + +.term-name { + display: block; + font-weight: 600; + color: var(--primary); + margin-bottom: var(--spacing-xs); + font-size: 1rem; +} + +.term-desc { + color: var(--text-secondary); + line-height: 1.6; + font-size: 0.95rem; +} + +.faq-list { + display: flex; + flex-direction: column; + gap: var(--spacing-lg); +} + +.faq-item { + padding-bottom: var(--spacing-lg); + border-bottom: 1px solid var(--border-color); +} + +.faq-item:last-child { + border-bottom: none; + padding-bottom: 0; +} + +.faq-q { + font-size: 1rem; font-weight: 600; - letter-spacing: 0.5px; - color: var(--text-secondary); - text-transform: uppercase; - background: rgba(0, 0, 0, 0.3); - border-bottom: 1px solid var(--border-color); + color: var(--text-primary); + margin-bottom: var(--spacing-sm); } -.data-table td { - padding: var(--spacing-md) var(--spacing-lg); - border-bottom: 1px solid var(--border-color); - font-size: 0.9rem; +.faq-a { + color: var(--text-secondary); + line-height: 1.6; + margin: 0; + font-size: 0.95rem; } -.data-table tbody tr { - transition: background var(--transition-fast); +.faq-a a, +.term-desc a { + color: var(--primary); } -.data-table tbody tr:hover { - background: var(--bg-card-hover); +.faq-a code, +.term-desc code { + background: var(--bg-input); + padding: 2px 6px; + border-radius: var(--radius-sm); + font-size: 0.9em; } -.data-table tbody tr:last-child td { - border-bottom: none; +.balance-value { + font-weight: 500; + font-variant-numeric: tabular-nums; } -.clickable-row { - cursor: pointer; +.balance-value .currency { + color: var(--text-secondary); + font-size: 0.85em; + margin-left: 4px; } -.text-muted { +.empty-state { + text-align: center; + padding: var(--spacing-xl) !important; color: var(--text-muted); } -.text-center { - text-align: center; +.empty-state i { + font-size: 2.5rem; + margin-bottom: var(--spacing-md); + opacity: 0.5; } -/* Hash Values */ -.hash-value { - display: inline-flex; - align-items: center; - gap: var(--spacing-xs); - font-family: 'SF Mono', 'Monaco', 'Inconsolata', monospace; - font-size: 0.85rem; +.empty-state p { + margin: 0; } -.hash-full { - font-family: 'SF Mono', 'Monaco', 'Inconsolata', monospace; - font-size: 0.85rem; - word-break: break-all; +/* ============ API DOCS ============ */ +.api-page .api-docs-card { + max-width: 900px; +} + +.api-base-url { display: flex; - align-items: flex-start; + align-items: center; gap: var(--spacing-sm); + padding: var(--spacing-md); + background: var(--bg-input); + border-radius: var(--radius-md); + font-family: monospace; + font-size: 0.9rem; + word-break: break-all; } -.block-height { - color: var(--primary); - font-weight: 600; +.api-base-url code { + flex: 1; } -.copy-btn { - background: transparent; - border: none; - color: var(--text-muted); - cursor: pointer; - padding: 4px; - border-radius: var(--radius-sm); - transition: all var(--transition-fast); - display: inline-flex; - align-items: center; - justify-content: center; +.api-section { + margin-top: var(--spacing-xl); + padding-top: var(--spacing-lg); + border-top: 1px solid var(--border-color); } -.copy-btn:hover { - color: var(--primary); - background: rgba(245, 166, 35, 0.1); +.api-section:first-of-type { + margin-top: 0; + padding-top: 0; + border-top: none; } -.time-cell { +.api-section h3 { + font-size: 1.1rem; + margin-bottom: var(--spacing-md); + color: var(--primary); display: flex; - flex-direction: column; -} - -.time-ago { - color: var(--text-primary); + align-items: center; + gap: var(--spacing-sm); } -.time-full { - font-size: 0.75rem; - color: var(--text-muted); +.api-endpoint { + margin-bottom: var(--spacing-lg); + padding: var(--spacing-md); + background: var(--bg-input); + border-radius: var(--radius-md); + border-left: 3px solid var(--border-color); } -/* ============ BADGES ============ */ -.badge { - display: inline-flex; - align-items: center; - padding: 4px 10px; - border-radius: var(--radius-md); +.api-endpoint .method { + display: inline-block; + padding: 2px 8px; + border-radius: var(--radius-sm); font-size: 0.75rem; font-weight: 600; - text-transform: uppercase; + margin-right: var(--spacing-sm); } -.badge-confirmed { - background: rgba(76, 217, 100, 0.15); +.api-endpoint .method.get { + background: rgba(74, 200, 100, 0.2); color: var(--success); } -.badge-pending { - background: rgba(245, 166, 35, 0.15); +.api-endpoint .method.post { + background: rgba(90, 200, 250, 0.2); + color: var(--info); +} + +.api-endpoint code { + font-size: 0.9rem; color: var(--primary); } -/* ============ PAGINATION ============ */ -.pagination { +.api-endpoint p { + margin: var(--spacing-sm) 0; + font-size: 0.875rem; + color: var(--text-secondary); + line-height: 1.5; +} + +.api-endpoint p code { + background: var(--bg-card); + padding: 2px 6px; + border-radius: var(--radius-sm); + font-size: 0.8rem; +} + +.api-example { display: flex; - justify-content: center; align-items: center; - gap: var(--spacing-md); - padding: var(--spacing-lg); - border-top: 1px solid var(--border-color); + gap: var(--spacing-sm); + margin-top: var(--spacing-sm); + padding: var(--spacing-sm); + background: var(--bg-card); + border-radius: var(--radius-sm); + font-size: 0.8rem; + overflow-x: auto; } -.page-btn { - display: inline-flex; - align-items: center; - gap: var(--spacing-xs); - padding: 10px 16px; - background: var(--bg-input); +.api-example code { + flex: 1; + color: var(--text-primary); + word-break: break-all; +} + +.copy-btn-sm { + flex-shrink: 0; + padding: 4px 8px; + background: transparent; border: 1px solid var(--border-color); - border-radius: var(--radius-md); + border-radius: var(--radius-sm); color: var(--text-secondary); - font-size: 0.875rem; - font-weight: 500; + cursor: pointer; transition: all var(--transition-fast); } -.page-btn:hover:not(.disabled) { - background: var(--bg-card-hover); +.copy-btn-sm:hover { border-color: var(--primary); color: var(--primary); } -.page-btn.disabled { - opacity: 0.5; - cursor: not-allowed; - pointer-events: none; +.api-footer { + margin-top: var(--spacing-xl); + padding-top: var(--spacing-lg); + border-top: 1px solid var(--border-color); + font-size: 0.875rem; + color: var(--text-muted); } -.page-numbers { - display: flex; - gap: var(--spacing-xs); +.api-footer a { + color: var(--primary); } -.page-num { - width: 36px; - height: 36px; - display: flex; - align-items: center; - justify-content: center; +.supply-progress { + width: 100%; + height: 10px; border-radius: var(--radius-md); - font-size: 0.875rem; - font-weight: 500; - color: var(--text-secondary); - transition: all var(--transition-fast); -} - -.page-num:hover { - background: var(--bg-card-hover); - color: var(--text-primary); + background: var(--bg-input); + overflow: hidden; + margin: 8px 0; } -.page-num.active { +.supply-progress-inner { + height: 100%; background: var(--primary); - color: #000; - font-weight: 600; + width: 0; + transition: width var(--transition-normal); } -.page-ellipsis { - width: 36px; - height: 36px; - display: flex; - align-items: center; - justify-content: center; - color: var(--text-muted); +.supply-progress-inner.secondary { + background: var(--info); } -.page-info { - font-size: 0.875rem; +.badge { + display: inline-block; + padding: 2px 8px; + border-radius: var(--radius-sm); + font-size: 0.75rem; + background: var(--bg-input); color: var(--text-secondary); } +.badge-in { + display: inline-block; + padding: 2px 8px; + border-radius: var(--radius-sm); + font-size: 0.75rem; + background: rgba(76, 217, 100, 0.2); + color: var(--success); +} + +.badge-out { + display: inline-block; + padding: 2px 8px; + border-radius: var(--radius-sm); + font-size: 0.75rem; + background: rgba(90, 200, 250, 0.2); + color: var(--info); +} + /* ============ CHARTS ============ */ .chart-container { padding: var(--spacing-lg); @@ -835,6 +1612,79 @@ a:hover { margin-top: 4px; } +/* Transaction technical details (scripts, witness, raw) */ +.tx-technical { + margin-top: var(--spacing-md); + padding-top: var(--spacing-md); + border-top: 1px solid var(--border-color); + font-size: 0.8rem; +} + +.tx-technical-row { + display: flex; + flex-direction: column; + gap: 2px; + margin-bottom: var(--spacing-sm); +} + +.tx-technical-row:last-child { + margin-bottom: 0; +} + +.tx-technical-label { + color: var(--text-muted); + font-size: 0.75rem; + text-transform: uppercase; + letter-spacing: 0.02em; +} + +.tx-technical-value { + color: var(--text-secondary); + word-break: break-all; +} + +.tx-technical-value.mono-wrap { + font-family: 'SF Mono', 'Consolas', monospace; + font-size: 0.78rem; + line-height: 1.4; +} + +.tx-technical-value code, +.hex-value { + font-family: 'SF Mono', 'Consolas', monospace; + font-size: 0.78rem; + background: var(--bg-input); + padding: 2px 6px; + border-radius: var(--radius-sm); +} + +.witness-item { + margin-bottom: 4px; + font-size: 0.78rem; +} + +.witness-index { + display: inline-block; + min-width: 20px; + color: var(--text-muted); + margin-right: 6px; +} + +.raw-hex-block { + margin: 0; + padding: var(--spacing-md); + background: var(--bg-input); + border-radius: var(--radius-md); + font-family: 'SF Mono', 'Consolas', monospace; + font-size: 0.75rem; + line-height: 1.5; + word-break: break-all; + white-space: pre-wrap; + overflow-x: auto; + max-height: 400px; + overflow-y: auto; +} + /* ============ ADDRESS PAGE ============ */ .address-card { padding: var(--spacing-lg); @@ -1057,7 +1907,7 @@ a:hover { } @media (max-width: 768px) { - .nav-links span { + .nav-links-desktop span { display: none; } @@ -1303,9 +2153,11 @@ a:hover { background: rgba(245, 166, 35, 0.1); } -.page-btn-sm:disabled { +.page-btn-sm:disabled, +.page-btn-sm.disabled { opacity: 0.3; cursor: not-allowed; + pointer-events: none; } /* ============ INFINITE SCROLL ============ */ diff --git a/public/img/wojak-logo (2).png b/public/img/wojak-logo (2).png new file mode 100644 index 0000000000000000000000000000000000000000..08334eb95b2cb15a182b9c3aa16e8d71c549a738 GIT binary patch literal 251748 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
    {GnzbNyBiCjKby`3r zXON)^fH1~EFOd2r|3`po?*)GLg^BfvAtr=4sy2bP5?tF^=Cc&01!IZMQTjTCf0)rT zY6F0u^d8Ge1CI0)S+{wkuLQve$IJGbe*(H`i?gA$ zTZA3`{-ghJt6mu7Bv|*EC%4_v01RUGRd2=&22lFIJWmCnUKwv|{h!f@la5w+`-9xL zk{+Ns$2<82tl%81NYP?E7&f?jyU6`NE{OqcrSBnC7E;5F+TD%nw6S8zda7DRI5j&#?sG|vNmeTa~ zBzm|+t8B}@hK@gA#4xW!Qto)_6#O4y5?o9W5f-HMN{LJ3#PDp+sO9oU-^`m-_T(qD ztutZn=PBp)*caD9{6{II?C`nhbwvA@W=@NgCvGSlMj*5!UF@LvnNZ;pv~X%e{WDNU zreDIJx84wF%)!na^`w?0Z6C3M&!Wa**9G7ADbjJ>YCpG>D5Qj-D=0uIhgBXdFPZu* zBLEkV2DD%S%mJo}c8?EWj73)*gJj#x1{?$9g?JI0%}QcoKc1FgxjC=f>x28Z0zqe& zg^}H61cx~augL>cynkDl|6Dcp0tdktFjfoqVvF(9)9XX!XP{~v5q_Xx%)I&q;-@<& zpf92O70H&FkSLzfHI9sv0HZKNK+%>)!4FcLa`BY9j_&8A#ozYH%PE9IAL?5Fu&9n} zQ2z!(s3YL(peuIAeK+7YB;mA-h0@6f@2mObB!t)2rJ%?KAsQDCNLTc`;Ni#%_z5Bi zk@{R$tdOxvNuo-gc>{O8beUdr)5SlIb21kE7X00>WJL`{tw%T4q|lKZWJjp#S0vLSj##-&RO`8=cc3`f94s zdRcOfPcHMaz{VmSIRvONtmy8jcGXjqd3Ol$fMrc_(K zdzS6A|155;7jyen$``4p7Ojigyt)F#MIfL=;htgEzJG}x&O=&` z*<319eGMSnvEL@w#v6A2JcT;VJv=GQ&NMT{?1l{iuzrj{ie>KA7T;y9$O<$lr^>6% z^EqKjX#vWoijAt49(eIc9>Z(fOO;<~-p>j+UpWYnX=%@T*pjtMWm#S5ED7JP1Eb8J zDq%g;2HYx-!&zCIgeVke)8jgnF{8LNMG3hv73ZJq$UDjoWli37K^)R) zK#8oXOwAgsQy)|%H9G_ma+js~!AXaM5}GJ@-`*I89;t|z_|FVYmNs0ldJ;T_lw{Eu z{|!%=@OK(K`{mkqdRe5SWhsl)UMNlN*p0{6WQG4^lwi#3cfUXea0AQ1*J?EhSh{Wz2#e$;oJ6sv0W=_qxMKnd}50X}C>ct;s z%_TbiRBL6VT{7RnP_OVmh`et{No!Mmn&pnt`yY@&xCC2zT{^N>m+b}^Y(I01HFfnf z?%oR;QyC-=6MtND4t5R;kZ|}VH@H<|Miv?Ze1Zy4quF^ywasf2@I4EyaZc?$0tG!8 zg%X8f4N4JO)r_5d#e6hv2SkbELCG5g7z4j?b}Ed}Y#amom>>?k7CO8KY7)-uXxN#$TgOn>&M=>~J7XVb4Ct0JEC`*HK4lNUZA z-{%$e%w2T0ySBG#Op=+7w$eW7iTsi>A0B%xR0rChL_kl>c)VDF)qLyyY3K_3Z_v*E z-KudektT{80jT~N=SR!0h152R+!sGi#{u8U^S>>3r*V)E`~V$(Xnua{1UijT;TCZ5 z-ColyB;ZSnl+Vkx>viCkw7z2+mtXx7aA%Gar&XU{fz9|k${-yJ%hxIHk{ITm5a97& zLT`cueqisw_1VM{5WW}_-REyo$DvE8%{#G9pawEor^oLPSmdYCgJp{mDk)nNFu2Bz zkovZ{BL)=%QPac2mg|6(H~9{tPV(4=B8n_)XoYuUU_+L}w~UrGCwnehSnx>h1ACrR z;-jJ(^&N+OOlA1^vL)PZV`P*x$O0fkv5N-vCNupZ2C&OeyA3+$C+fxQ7zi16=Gfcl?l>M(AQ<$nm<}a`(t4)yc zS3?s5PKgpOvm2n<7_VY(e-nDKyr!GpFuiH4o^p1>+N?CD;Yq#mPwp!fFqRqTE`8aw z_q}M%>T2wmUqC*g^T!4thFSmcvI=?vUmOZmJhr2CNg&ET_pm%(G(9=ovijEn$c9k6 zGQ`)uZAbf_1(R*cS93HJ$;nVRu_pEBLs$%JN-@A?5`1|G?}#zcPV6oRVLAEGI3eq{ zUK6G67@yeaj2~VB9cV4XCcqxqoqhhz7VQ=5-{IriK#8X}m?7=k%xpBqNr|b#5zqPxrS$`4= z9`j$1HyEd@W$%Atn{~F_eBo0L>;*f#YeqUd-x8zMbP}3!ip?bY@{wfF$kSBJOmGke zHF#NL1=_X@7X3%uJQZI7yAL^4a*LA=&_@5M}mp#plb6t~`@Q?X6%8Mo$*JZ}N8@n@xkbLR}xDH4-YSMQCAHJY-g% z^J-)ys5lWuwUhxklAU)a^K(;=3{PJO=Nq8xDo+=Nfji-d7xp#atA63S#+h0iHI_K6 zg82>iU^VL)kgG=I%X#I|9_N*Q2j17OSHXphgRhW=0BYWN@Jr$6MV$Fi!(Vb8(4q`F zeFU(DX+6Qd{oD6G&fcE)zdBz$D-C)+9RLD`??9uO_v-HHn#eK`M7B7M z_}uhS)%6dW&W8LXGvwDnidh+mVo#PohQ|^8**g1aX$X=#zcvCgDr+!n3Lb)KBcdRg zoIuqo?ThdvptvqTaBHx_IG^g$`YNwFVBP!}WRQWaCenvRYAq)SLxd223W;^_TTJmV zM&wZl-fK!h7M8i0;#T|RLgoCrY)mf_aA&^MbZdnB1eYyeVR0$h1_hFy-p_kLBrRZ= zU_;`u%8)cjbLb{UK67r=9r9D#v+pX+*E>;F)07x%DxWEzG0X7u&tK%0o6&PW;FS5C zpj(Qwwy-qT>iwW$Fav=10sH6;cgYwjkSz-nxPaSdnetk~N0uLZ76iu)hJh?)X?CTS zG)}=21Tw4+%5E?+t=J&6r}N%HX*Oi zA!@wu)MmJr>Tp1k%lOmqMiprudfLEWR>&+A_XL#pjd=#jXa~PQ1=Um7Xebu zJ6?KTu_AgUS*+Z?cDU+Chqnwe1PBA85E@dt_urct0e<->fF&T0Ln;+&FQh)Cq^p#L zB5nVNlmM2>$u>>i{R!&!0y?K^XJ0=$hLFPkmzT-xzL~9HM(YD{ZiYyK)8O*LFj^tz zey9k8SjeOPF#wLmYZ#%nd$ghkCC-@0Wjq3zQD7UILHYhVUSuQp7H%iUJ;x8|c zMqi!jPj>tPDUMtFcr`Jq7fDd&y5M<=I;dzf=lECDM~nUP&xe%u^(J6+$aT#MAaK-7 zp$YGul_a%^-Sgn}LT1?qCY$v|xWyBOyAIObVg6R_QeSoT=Ui&Q7HIom7yJ#L9PN%jZoZTzg>^1hyJ{c8aUt1Kgj75PXb0mc!G48|GOL(^I2&=Fb6C zaf!T0yXJrgp%k(I(7Y;-ySk*)A^HWI$ws7&p3C~jMMwc zd|ttaoEHIkj~VpNnL`SLeZdbrH_A*=q7&MOT#VjlGO(xvk13XI;)9+V)xBjSi;2EOcZ}ilN3jAck9}Sn4~pj&E*THNSWsHU_uT($I0vOZ67;aKE^kL+afLe7 zQtkQt52P#T?C3Fn?6S9|+ky!y9$Fglb19SyhjyY<(Nr-1dlB2Z;X0d#ej2iBIrEi> z;Yn`eWSd}CrMpa_X9#HSYaF+WIu+^BX~G;J0&{?+@s((9myb8=P)MmMtt*g|#w7ge z#O7IBwTNhO5TPGlc6;zxcr@AZbsWH)77+=wt$q)PMa1kYRfOP~%bLVRWwC}2Dv*O9!o6AsK|!J0Ui+(lB)2h2*pV~ls!{TL_ENjU~;(7umpby z%s75{ifqCzBK~3EwcDY3oXKm>*Y|2yCLD!SavLxEYX~p)2{U1fCAOMbq4Ce>$$T>l zi>0zZu-96~MrcCov1oHgen8=82M0yCsu1^-aiauf2EG6O?XK)_qaiAs-wv-&)=dD8 zZXf>38!x>f+sMFVX5Uz1n%Dj16hL%?t~wi^v4jc=yOlT!TBvi2p8d`Y113pzfrE92 z2P^$ME!johu#eW+uJJ6K$2>E6U2tKe00jknvO^88530wTHoFKr320GhQ09;ki&a6c z`Stg@bzEks#Mr1q#aFcxxvWyz`!|!aZ#4YhW1teXCO?kW(IRpv`{DXlSLF3m;=CWt zny5ARt@oR3lgy-CbBpRqc>mslk48T0N9E*-R)OmyQ13Wm;8U)$pK;0E$&8;}2`@Y* z&Z{1yZ|wu<1S8L6)xHBwI}|WQ{> zgA`muU}D6j{E5}$3fV|9N#<2PM}7_gZ-Y7NW-^1+A zOgOw+O1Y$$n=zdV@6ga`5AV)*&$9RS>-NxYZ=x=bydSi!-=~!GJY#H&r#276VT8Wd zo-g2(ynz~xytqQ){+s&G-PI9%sQ)bxE@MHp%*8Le1SEe!Bq4vVcz2@+$$og57Tw4j za#VIXEtSiIQ-wExsuS%9yg7XU(5{_>GdAGTc0-&@&NFYd<Pv4z@~ZmR_sz6q3J1`hP4-@$6>S%O8y$Y&>4X zGY;&wJmL^D!Beq;TYV{Dy+zkm!GG@XUfvenW~O`#F-PEkpC`>1_P{6G58k~Dt#IVk z=Ho_sn}rn zDMlx6GqjM8b#3L3MlD|X6C31-tz%yb*?b$}nnnwOL26CUm?jYVTDZRO!K;t@QJ|1RWBC&*lJ+M*JS9gSc3nAw(WJB2%i^&T5s=IuW>(!|Eyuf~)oO3N1`d?lPf z7l2%_@n8uk^>z#wIPcUFH`0gxp1poJ!+C;|(Z9VOwzA+OpJ7>a`^x6rA$nz=S&gYv z8v1>mK93OP_M{^OyC$s(0syY3HhBss;?vJN-e{Y&=~8N*8L*PyMAyF-E!DmU92iEx z#lc?Aew08O$U+Fh4+?XcxZArzphx0#lg+!qPd8@T6&Die3xga^KWuZq1ah^x0t4e$$c7@?QVQlmAXoN)(7-tFIL4!IccKJdTk9 zxM2TfFJUubriCQOuge?;txkk@wj0ev+gq7HW?( zBaZm!(cp(B3YAkn&am*8@*D^ID*S8%tXqv)shvA#)aWeQSu1m*SK#B@`YZ!Dya$Uj zub2N`a<8HxTp~`EL@SO5;9hYQ@Z7Y2zwx|1$4Mo4JKSO&fmY6=Icg8)xXOrb_J4;H z6%pc$X4bn5HF(j>MB@ktKS(Mi&x*EN66mClm>6hcb|AxcR7vk2O}EW2Dv~YN1U9y9 zB#aV;Sd=4(;Rf1IRi-2rD1-xUfbR@HV)*k+&+zAN^_&i9lMnV@4A9yKs*~p&q9g7} z<#l=wtjh_Me|Dsvu0MJ4_A~qvMgpGlQ zcC@09A-Pi>k}>i#c5xvm&-}vu^?c!yT-6O9tf|+*e*k-^W$o9Y4YW<`skI z3g`%Nr!(}Hzo-({6={9?G#M+nTP|OX8DA(4%>cZZ*x<*&7%p%HP)f|qroTO`zy2!* zaPghV9xuyldRX})=Ljyqou@z>ATRfSgo8Vr{IQA8k>9sKDprTupdUhWS`eTsrfojY z8q^YEkB1a{8Us-TJJ_8_^_A&B6#1ux7oexA(I%}M-}wKSdhd8D|NnpdaLlY@#Id&` zaZa}E5y~EkY}pEl>^-wd_KJ)sglt*SIQBYZE3#Ks*7te!dVhYm-=E!Xjhn0MdOjbI z`~3MODTEJLnAw%2PY^aAspZnmBbhxPeD?e+7dyR`U=4(%b4}=~(}_4@BJtB6_CvKTO`+WW$BdVkOdN*7H#15GZ}Czx|6MG4U_g zXz5Q12H`K}jeYl^b4w5OkqLk>>P7?oXGuR#;$NeG+>bH){EAE^YBW@_-^#JG_Tls+ z+tV$wmidH;LI$)*FnhS8)JdBp`w3zLvE`r{o?LVcNru~tyg+Q9VpA;YaV(A|54Z~N zWj~Knyz}nrB3@L+B@3kl0)(btu^ z8I@~dVs4e9v_~0m%@;NDf7G@&3G=5m3wTIYl-W7UP9D(y`ybW*+zzty^x{rAz#?}p zD*;M%vOl}}Z39Vqd`*3QQt%}RVw&vkKPAqoeXgMhOoRua-# z&s1_j5VqETdSnx_1oc=800N*9j6(PXR|Ba0cG~>XjkBNZq*nTUCLHE8zqi|)z$ys! zz$V<jvk^!&f`Ua7m~=m#J>xumpvRKu&(GCG%`wz0j*6(pkA<( z*7k>6{<^c6eJ9q&JK7hI-18y*NT7*TGlCs_V>cShs1pv#FzF>j** zK)o39!d*lDIlrAEID0gItsa%?_m?-kp=1HLYJUoJ zCdS0kQ@4`PmUtHnNA!iRc1XrZmXx2T(}A~r@B(Qu90-C0bX{H+ZYR3_g+UQs(cR~E z*kImfF!+%0E#&&I&wGT$Hg766v2ND zEWo7X;Ys=f4}Lr#M-nNK>>{!H5$KX5O&C{;M6Hdw<*pNOn4DU+(;RZ(-9b9faToh} z=4v*l<23Q}KAOG9M{)f$jmlMu3Pwk&%iwm|IN%?j^XD==zB^K1{On_-f&R^B&CbSP zb(7AC{qKKWj*OrmI=A<_^*@T1=177YC1U$4vqyoGLv$J<(=su*40 zPx%JS3w%p^$l&$~oQxbk-crvVND-xUxs2Da_5@xY1;%)jrkXw(kNY=j_4mN`6{Dn& zpy}4t*B`6kIIuisIQ#Vk(gOn!bub3Er~@&<09*YF7AC&A)7hhJ@ymnCz?+C;)ftZ* zA4S@~f_@7mA(^OdNYKX#t?Bk5tS*BI44g9zIVzO^Jm&PSkA zmvUqIIcQMlU8CTY=|6<>C(-@}`D($kL6EX#kdMt&Kd(Ax58b}s1TtxEw9$wcEP%4G zWW;N;1kAO;pD^E0b=h%#QJW-G9B`3y8}`vjKC(rVmZ8fmp*Je4}rx? zS1{OHEfHSK?HP*@cp!2aV}AC!O1>!9e}O25ETccNDzbgTp`k~TrR%@hlNt_roJ$+O zfJ4BYYXwZphAA$#7B1UDthW{~S#UDc%G0z%uSxSQbH8CeVE@7PsWTsB6!pSEWbF~U)f&hOc{5#8V_#k z)c>h&3JH+;semn{auWRjxT*UoY;@O%$6}Gtq8o+OM#|kfEo41c{hS<#kSnD;%}+OH zyYTzC*yfY->JxB{s)5S7oO-ea$Gh7i2u)H6J`$0~U}+&D9`!?)+rQLjUcF_#=pXd` zG9~X!$#pm~jI~a-;g17`L;8ZBJ(fcBx?{nB?oCQhu)6O7y41&V9AN%0_HQGF?Df2G zNce&>Lhx9vE}*F_;rnFUpo1u4py~EbERsE2Gs#ZQ{Cv&u z#+W!yHC6N_2Z1CLeD`p@7q(ve#0KCuYXvj!_JG9CLv+~^@b_YbZ1GzUrA*_?}9qHT-up6!GkEl4| z^2!XKv5<*g?^sL-%e!D#V3%*~a`#O|~-TyX1 zyi>8$Jgl(Qu~34uLe~7`n;{>$FBX-bNm@P7YB?8AjH~Hs(k-dPmxar<25{kLpNCj? zr49qy7OWo*weG{)+z;dd>$rDx6i-?j9&K4q*9iZkRCR1v#UaJ~E`;7H@fib;j!=lix* zzO}8(S#M8VA14Ng-{{3aM@f7q%(Dd)Kj^GU*L+nX6DLMkDOijU{2vy8+xY=RB&u0d zW7=VS6RLmN=3_VR(oo-cNL{Wwcuw)!8@QCOs+i6gjRi@t;Ii625vd{Oc(E@K>-&{E zjV8V-Gdbbju3NPcA1a|czfG5Hq>-rp*W zYWUg+{Hl~!mfoa4{{@`J)DK0H`>+5a-~l93Wd3BZARdu#HgY#kaic3SD*4xd!9L6x8cRIb| zxHb9+mL85#EZxoWE^t%tRJ4?K4KzGScw4?>zS`Y7g%H#(3{V3|-$o<$dSg%@p{fK$ z_n#+^)8N#V(9`Shf-&|WJb0ykmRJ&&NoP$9H$0f7hO5qfI-S`*#B6A?b4Q4;YmVdb zH*`f(q(PL;MmWQPWcJRRvg`@rseAOQMMfow*AcIzNu>t5V!w@0Fmf|t&7OYc#&wJA zVG1+L{rF)#82zs~6yT470EMe8>zCGv7Y+o6&Datt`v&_?(nitAcHMn|6TFT8<)OBu+njXOkLIpXSTseJ0v(%K zSknCZEzuzC?7DEbv@S_b{J&Xc#S*5X1;s9}#kl|{L`bVY1Dndca_X5df8%$Z1b617 z-cB#jzf>ftVO@}mvJA2KU~?Fh^A}2A)>)5pzW{|CWRS&K_IoMkA*dDo3IdePlcrxQ z^z8=Ex5o2?zTN9*0=}tRj-%JzGFGcILU|+EV7N4WMCauB=-@8JTH3_5uK5ug`JCq{ zggSG&o4wGaak6s38?8KYxgTSN|QF!Z!&r9W5%nedNTuKIg?~t|O4h z3CYJ18)(ckd!|%B^Q?l$rGGnY*9#syHr$~+5-TGQHP|<*z3SITL5!P>SJUo?a&^Hb zrvE~-K%b@&a{hNSg5xK6%fko0M)x7eCr&+LQ9~*3)@(Cy@h%hWnpB%)OVLe1i1G8*` zX3u;#88~txgCo?qE;xp_s9hi)xHTKn07npBFx*LCxk+R@yhe^hmv7ElU}WBP z4S#4UD`9x8cTWo)bmUGutEHEB-usnIbS&>zgEiL1y5zPqwu)gT5?iI1o&Rd{{mez9 zV+xyUP0|Cq)`x!h`CH`VZmyBUR~&blPNRCRU^4!BMnO7g$H)m-Uj(Fti2U{6R)?xQ zBzSmS;a}3RKT{w|Tw@6|KyG*U9N?+nAy`yP($|H=&T}=QAsA*Z}{i)zu_mi z7`9yWH6Avp-GwlX9WWMfmu_^uYzFETd==jo3e+rWL9P(DC$W-jZ|ED_&&A2TCzLCl z^~7_xcD*3#s#b#FN<*tTfd4wP-)BADL}TgLY$i~)QJm7tqC$dP&94YlQ6hxy^1AYpzg{00e0=6_>he+R7l&eY7? z#!?QCyP<_l4%}Jhi@R?r;9%2hoZskqf`82&tM}u?li`O)(H8{$$7>gm+JsG8L!iy{ zQ_cuLZxG{c6-QCem^$fsyj5r3yfVJ~5y*C4d<>gP*LPmpJq`rmlVMaV6mxCcm&pxM zY{M{lva(|v97S3d$F}H>e<8|F(D01eyIvz$bcBIJp_EX~PpZo~XxO`2bfmhMq_4Q~ z<3N&|jJ#iJU)>0R=J<;&Eyr6q+oYGY_DWWFy2LiRZpZIIop0Zs|8`2?EWzBW#m5L2 zv)W4bKn#H-9o*shlPm58jGuPnTt@ZfgS1m7a~4LZwgnCe@KraJ(HZyjzS_-`ac;>T zH4ey6U&d%E3eXWo_#n0p3Htry5EriQL2-uAS-4^WE29XzGsSG}anxE3ys4> zNJDST_jnv4Mc>d$T8T!W-{=-?+^ZuGh2c_^nDCG)UFrSJZYsS0LmKL;`KlpidGcyg zlYPU@EHcOHV`iR0;ZSE%=N(p(6i(kJeY_{nBSaaA3!*}RX5 z+p?a=P+&R~L3H&FJWJC2p6VY+pY$ls?JTaHXT{HS(KW>NT=N3tzS}o-ok%gvS5-%-F2jBXNY|KvHa~ zBidKeU0?`bW|3v(V}bhPnOEfgnXo1)wlk%n?jwTsUjzCAz$EW zC(z0N+cijppCsjE&?A8KAN5ELM8s$29-e|l|{>5%0xV!6BE?~QAVRJifDYzwLL6D@xcgG zuEWc^q|l5z<|Pbw^@?PW?fwO6)7)MXGELE;o`DW%TlqTH$S2NIAEv1lV4{vFy5Att zwVrJFV=%%-&<)T;hVfQidGHIuMCUHyAT}95zlT{fPU>-~HI3|8z3O_Vu-4uDRY>Uv zqFF~Y_S3~dC4QfxIzKjjQ89SwRnSta=nu6QdK9;PmT&vT%ty;;+{4j2^m?~K|H$Lk z=X18cOfeU;Us0W)akJRgOO#U+zSG~ZDEZ&qP6-z!0MR{-jjk4GtAtW5f% zlAuZLV-GA#SL9RCtab7zOP#?C%$?}tyy}*R8EH%xtos<^^OjpQ))8z%cKtN_Mv2?a z_JoT8KxU6S!FREL$wa zRpJ%>MR~A^S4TqTQ#=RR;b#IxJyL>FC7iz^I|vF$7P5wI-XO1@$B9mrE`mS_|IwY@ zIk;jOZsJ}-E54G*HaXrdI4N(ImK3T*iFqM8FvQbvO^%~!cdcMz$i-%W#DhG2$|<;; zlv_Bq1nNAR%kA|z+e_GLYy5Z70D;%B5A`PxAw@DfYwKL)rr?2FN6LrPDDHG*|4eD= zLblU{Y~zGvNFK_3^*Eg;==Dn1bCnfHFOm`##Jcq5$(ma{fRV(@fP<6romnxgIJ1nS zSeW(G6}}r6|4}9_$RK*hzbh839huhmEd-AG0`2_^b{}_^eD;taSN3R$uhLKT>lxEt zG;?#mER{SD2KzjJzDyl)ij$&sDZN#UO19J1w8hF8pyos-v)(a+4xsAz88r56u6@E&w<#sKuisJ14!r$2+i1%-<$X+&P%u#~Wy#ZyGW zzsspRhyq@LW1QZ_64y8wp?u?eeWb->tN0J=MQ<_^Ecw0W6>7|xf%jNYA$Y%2^rWp^Mu@B4czj^qQmAN&ChMWsc?jw-qtMxy657jcNOlZ;Dqt0Fnhcl zBp?mpKO&?KIiYQ-nLHR1*<7)d%9mUZQPvCf6P=EY@%kT^=Z8dvH&=*MoQv|u>fP2V z@sGV@x<#^X_?52Z=iIW>r!Qv_)JKkcJ>&DN1!C187uZ|AkB}5G&Da-bi4(S@5%BNt znWBTUQ>hoJs=6vx1!?dP3v!*a?@;o{60nt~*XZ=taliGt-#gNH^Q!t9SqScJzjXZC zcb1k^`Br3Iaw~OKQ8)hrVwPL~meVXJBLicvtv96`SEce1PQic-%=a(UhP@ab2v(!6 zCpv6Tb}M0;+M&H_ti}w8e6^!cQ5?)|3=A}lw7<}kK@yZsa4tZNOySS%e-9RPR{PGA zYbcy{j^{l^>SH%Jje0G)7!<_U0O;9v?HE_i7siTbqQc~+WDuU`<{oA}{2)fax?&@4 z@K(?&<&=yspD<}vxr%S_GhNe^M)-wE6{fCqUytBD@&Cxd`7RiqXqtfC<3Ts(4|aEc zNi6*z77%n&I$}$dLYaaV5)^(y@=|f#$hF>hHTP?XF4?s$=={G_jysq4z(1e=m?dgt z%T0UzU8cN@YjF{4zs3}fqvALgE12)Ju=uyYKZUH(G1TftEiXR9_Ju@; z5sRu?o8#4iZQ#?v=V%w$f8#)+Kti#`6D)6zI6~-Op4nBc)0vC4CI^CCQKB$|@%|2Y znDe-g(Yyps!NxX$0xK>f2mK}kk#CgsU)!bd7ZRlGqYDxt37jX|1Ek)8FX!b^>lOpS zv~1gn8l{RAS#;aTFsZ|R6r62~U6=is-JbpiDFtX=rhQr_omkb;ttT}VjVk&uFCoZ( z-j|M66qlqdR(j<*81ks*3^YOBWmrte2anZ~$B7(1OV^XR@w z6;>v{*zVQt{4)jv5q(b&$$yB}W+cwW+mWp+xNKy1(hApN$m%tFt4v7crt?|IhL+Zd zv&@Jj42^VI!mc|06&-;HPil4H2Nfx6Vh<+)xpPDISib6eCQDbZH*>dX0%i-ZAso@R zTAan#D+|)V%0nU#w-)o;OBm?&8_C&5TTec+|JIoR{oNntdvRXVk4XF3Sx_g;+>Q+b zYUuk|y3rwN-salL82E#9&>VD!MIqPP@oM zd?&5CK)H`K(gKVXzpP*)Yf$Wvcy8YW^}ZiVmUrDak*--3Va?;B#8T^#`i!{>H|Gk7 zQ#0vOoXUA*7}x8m&X(xeE+wajOXymX{q)8B7cyI--00oV_9IIQ+=0`+oz{8wfa9Ho zt1btn+o6K9yv}P9;lXy~obZ8j@fA)@Gn`>0BX{eo2)Q0gcJfoNS2cD6uO`=;pqNV@ zLI!fL8Nvw83$OQ>0-ttN3)|1Hy)3ME^K>Sihp$pRDz^x<58H zqEn^eFS-g)f|eZ-h$Sy6^B6B}JGZ0M(>=?>MVF3QBDtV>(=%`{{xNv`!cUY|JmLGj zu*Ctk)tq9|*H{p%Lah5R>J&8D6e|c@AH_eGOb!spo~gF{uzu*7=?~M*0R$C^uKz4E z1`T;@g9jhY%DqSsW-XJ6g|+MzcCxBr>Gn4)f^Z^ly{V~Yw#s#6Vl)LT4^_j7b=%9z+Go&-V=@6@*_57i9p2f-^k5D zU;=K5I*fyT?4)ZusuFurBoUH|S`X(nnUWF8?_(|Z{}KXgP>{RAzO^5##C|!&f8a-f zFA@iNN>ucUi}LW-ex;dj>99~k(yYy3oQ7J5=gBrpQFmpMFKR`tz1@&wh7wAp{SlK{%A1h$)ffw+Qa-cJYgw?*!IwcrH2s zGqUQAj?T{zRG2;au5Z$~XU4B|u6*VYz0XiA?9(Ea_)RuX%ZoGMiJ{H5=a~7pd7$yt zGsC)~1SojDKJ9<(sDE?#$h&-ERH%>JlFuHtv2H16L93X32EwM4Sg)~h{QCyYNZGnY zCg{@-P$GR-FqTC27%AqX$(8lJqQp9ZGO4NxOTLrX5}j^o|AU6VN81$2Eb1OLCsnLP zPX+_hUEgV_$uc>RG5&jZ4m)5}4Moiz>b=|&dt)8!X^#sxL*q_9Tf#V!!s$yQOG%dc zrpF}L#!6q*3^soo*<-WVH6xcVv1E6KzS?t}s^qPZv@!@r@Al{YaZTz3v zU)k5oZiNZj@`K2xs~9Fo#vhE6s9!?=4a>R#rD%_`P@JkBH4+}uqXMy*f?MR(31Jy_ zJHHDPu24D5cGxx$N)xDaxNek;^dVjkSN3+a#knv@J*8ovqG}O)xz8NWC>C%3zX75J zX_1gW@#_8i_uqy}MO}v}e=A0imN^Pd9wZNM5Q}Sy5%c74m^-pKr{9%XS`}H$?H{ud zAJ;1jW6hFDfjfs-(M9y-XY}%DmQ;U|d#6xhjf4V26(JRK0`#=GgV4zFAz414vF;`o!o3yDRdzqrY&I?ZZbCybPhwW4E{oCw%<@^dsuh1Qzn6| z;>qoQmrhPFj-F}^1#=pFmWxbm`KwfV$WRQ7P0O^fpZaboV#BV#H0}0OIbiSfU9>qb zRe|&fs6Ky?*vaba@9T68Ud7NUu6+In_tl{jMOSUv^|7NWsb{mktgdHoeCJ#~o#Sa8 zNj{E5J#&k)U5PA~ctMKG+DBeP?ih%5aJmy}H2zy$mq_a8$|l{z^@?QRvLG2Y&~K6W z%%(L52%TILuZ8fd)KMT8QGe%gVoA>I+t3n!CInQqcGcHEek61fDy)>B8eqcd!q=mk zl_&B~XE^4TYZ|y6*5^~$lkl@m$3Of}=pi*}lJEoJyFCf4c?7iI{~=9G@QU7I36}ku zI4Z7<{pG%zni~$a=>5MD!3~wdy1lX@tOTd&<%L-+2EM5c+ao0d+oSd@28M$Pg>etO zOxs-tbqDlGqdAu^Gw99zvzP2F{%4~@oU!~D3D&hIn&(<4$g<{Tit zs7nJLC>6ineB3YzS`}Z)0eAV9#cmgDm8JCCnrOM#*dOtSiC#RdbJ7Hxs;=3b>-mMH znc-I?$(^962_q0ykH1PleylyzONV1jZZIE9>HJp041(jSqs&F^>9g#wxYl}O?`=S~ ztQ?ss8pQ52qvN?fpPa=~EcvR8F*n5gDt9Ir%VKawN5KHf%&Yk3(OxxsmNb;e6(nfAm=}K*w$@%>H3IX)r_3%UB?->}VEW`(5lPw2t2!ZVE!v zcyGSci+$nSioqv3EE;uU@iGiN7>#DyYNUie8v(cx&BgfeeeS@Vk$3PL+)8AGnq$aJPg;*6$iSmD<_iT}HI5OpquClgam!NbK$u?DgfqOfm& zml}%=53%%qu;ie+Wy?y+$dL97?p4%}xM+K7u|aZbkKu}!+EZO!+jIJkJ@9iFUj*I( zQ_pEPl?D4+Pvf+qr|oulYbQiVKk@5)tb{3TagTNU!)imRTOr|US^ja;mrgH@$Ebhe z!`hn!79nd{iZJlXu;x@msO`s>b(p?GAc9~0DLWz5pI{5rCEYlE_BzS3lKN=6V(O)- zJksZcg_cp_hnty;he)-qv zlFr06xT-4f)re3;?Iq}(+0Mw|43}orH5@0ak<=W9$Rm5&^b?zIw6eC7m8r%x=F6zY zyU9H#@gBzzeTepdA5cCo|@N$^5YhJ`TMy zN`1`FtA+~cha5Cr0Oilq<;1LXk%AGkGYn1@3(}PcfrPTo;F|@F4OZK|-w{)WUtOzD zAP7$q6*N^<=|i>PGTy=akfrWsO&n5?7OuLj@m_*~0aX3In}_vJP*WXpM7jKJ_ny+c zy*XMa+tSAAkqyva7b1@p&TxM~udO*kDrND`zA+*^$?n#2ey&RB*SEGnH41I6nraRL znNDwiV}1qZAal5?EcHFHEheO6mx`}Qe5x5LWL_IB3-NEAn!h?0Ue6q#u}>?SZvp&E zvt%D9r3dIz5JH0gD2jh$rbgLgW6iE>62nWXfA|?3n=}qt0O}~|Qo4L$rt{UV1^oO% z2oL;w+mrdnE!UTj<*iKXyqIotNFz@Thr*3ftPNKbqZ2r|+TLGSn+1?sq>)xX`4|*^ zb=XvBAhtYQKhcNIgOr{TzR}lrL_|i>@}=-DxxC|{xe}A_rccH|`uh{)L;D&Ub`O=B zVC$_aA;HDAK2cf$lk3B{?DA7L>Bt>E+VADe4Wp zn|KkQZ&W@a9%cJKETBdAulA4$q!L^`Z;)(vW5bXdW@PmGMr*|Yjd{JTXRHdKx|B#q zErRN3138+44v;C=a>m)+E8>5!du+5M3KzTKS8RVmianWjXFpHH84>PoU3@=X^kioM zeC&@wLzkI&$`3fg)1^4)&hU4b-*;2Dc1k$&i(qhe8#$J}$$suaWupm8{kqH)k^iE{ zJjF7|d)m`p2n;wz?tLPyoZ*9VPrtbz;M!bo7e#jVz4TOk^!hG&l2#yn<~=+cA$Pzi zT{b#Ssed?NHLc}B+%|J_Jygs8B5Urf__>RHy>+qCTt+#jC41ND>G+Kz;}OKsUECc*50(1T z8^3#PNqECZu)iJ*NNxWGLds;0cyZT*nF?<=6R>!^z)5kln=Op_?(~W}5X1;^#B z1ne>9+MDkSqwgBzwMwts7#g1U@9^b3yF8tmXyX9_TYe0|r)DENa3isP0XfHf;)`96 ztR_sKr&4Q*%L5;ZPscR*5A|7kyI;6M-mKn)yMO1@Pl+%R$cMr8nNu_}@q4JE!S}&x z@X**+dSi-gb@>3t63TxT!guI)sffm+HnoRx<@+gkbpoe;rh>d-I>d$2(6pTba$=5q zU=71^nGp>u1n|}HhtBL^ae5th^vgL;6N$fcdhKm zx;&udeiV%CGb~I{Sk^^bD*z?#9)ams9KLcBSAiHfNHRI_%wN)LK&P5L4O%tNsLVlly+S^J9U) zGV>IwuI#=xK*$(?#5;&hZ36LS?=hJo_oBqs%oP86Ls|WzYNTapbP*amAfI$9^yF3j zO(y%!(vIom6ke3jmml{l{s~;CkY2#N_lqL%Sn+^I6ez15O;i%s(iT)J*~-o-K>Yts zJd2Y{n1=GSAmB#@Z*aAgzR#aqE3e%0s35#%?xy*6Qx01Ra@od&scvsbmeZrDf`W;t z(1U(RP&ZcTuI-TJBIWTzDY2#?eX<2%kl6F=2i3D`I@i`oLrE0$|x0!UsXd--jESb8Q`y&6T1>q`%3Y?C(z4Mr%R) z(x27)M{mEZ%MAYk_5r7d9l1t%iAZ4+G$gBut&a$(zXu|ArFij0qUggD9#1PNt9&7p zh2*>Q;j}g`frKN(;bEJcH6d_O21qh9e0bGSOB${fv@W9J9kU-T$PU;Ab7WE%iiu>%zO)!dPW+uxwoQ+7GXAz7`b=B+p_Q9YZ_K z-wv8g`c#)I;`XE-06uAsOL4q-cq{{rcH0Lf?S#3BjTHK_pucR}P+eO4C=Zm-fY=%V zsP*D&6eTC#@@G(FA;1(KHHmk4d61CbLaW`k(kfUPsr66>^o-!0`Dfm}khN$Jx&qtA z#EH#bw|}62i|S%Gw*7#B(V6WJ{!ku_B?cPNr|{sYKd5)(^>D>RYUgLhk*IEuX>!xU z6Vcckaih6)(+02DDdyas+XV^Y*RDqSetz6&G{gHvNB-|XNv4*@=|bTvdlpJ1i5Q}) zT}LJYD=kX6vK8#1m7%X%e?OZihx!$&#AoLkMz>+TMnCoytTom>Y2dNASVe= zo&F$d(3F5&?v$&bK_g;u^1iuIq4y!VTjCRf=TtbpSK+QBIyD~&aXRY2+VNvjdU*6k zmkwRA8FoR@ORn~}X7z#Wd=MNj#CU}}yndQ$Lq)WV-i3ahZCGpcD+mly6g1Jr!CZ;= z4joiJkS6{Zb!$iE_VE?D7XcvZTtBKA@QsE*@GL3c8UHA+a4aZh!VW2C4WGl!`$a>i z*oCJTIY#$wHhg zU}VxMIIRm2jN_zCj|DJAj#u;vFlP2rSNqNsxn22X5;?JYfI(sw%(K@%i)Dk9Srr-7!J&vV!|mpKw`;X6}rxu#Yq-IL@RNmVgC^H=UjB{)#Q^IR>#f)9u4k&q0;tj0AIFOAs17Q7J#DogHgU+tv<4ZF)98I$C z!W6kTbE;2A`u|}3a>)jWas2@SO_Q5vluK);6*-#cs~#Hn3mS9Y1>-Egf)=2$j({b` zIfQTxMBbkjRekil=8LDgIYhdaM4u=J3;HPo6DIrlLOAG7su;K1Kwr7CY`QY0>(At@ zwO+yu`{Ol8M6|lFnVzPc_PMGCh1mWmjS33;(ng)_IOSa=LG`^}T$`nG`7TPqwMQXA zs^L6)t_B(7jdZhEV$ktRgg7kj^_Sjyt)MSp zqhW)fFkjU|Z}6;tLa#LNA`BnQ?O&+KnfHO}V-<$6a1BD#iyF7_9b0DlH8g)Qx<$F1^9bgE^*iS5^ zkBVL*H~~BH-V<22NOiJ;9h-(I)tT5_t8MQ1#F5>0+*JMOwr4o*g$>IAVOh8-wxD*H zT7Rc*nOPmNQTu)E$CyBO`HfG^d*U~7g(3jY5VQcLqAU)t4x>3qa%?Ry_?hezi91@56i)fJ9<>AF%|1MhO^rb=G}rfjRw6I3S?PVYZUIx{8g}*VMnv%M zc(!HSc|-Sl9CL&7V$&t?;i!V3IT(W9_SNu8EQC?>y6g7{N_`)FSSdWx%Ispi$kJUJ>05Rsbmo-9 zUwfxNuQjQ&EZ1S3(2ce6lji7W3(dtb1V+0Kfxkh4$aV|v?!-7frV-WU5% z)$^(yHs$3b9fq?Zc|p#@uMV3ab2~Hr6mV{$T;^@GTpHFBP>jsby7p46rL+v7NfLi^ zI=?W31+&^BlaaTEYR%$MvHN>oLf0pe|lvK}|{Yh}9p83?>^cQw%eQ{B;x` zG0#>b4tF@QX9Xefpeam*_ZkZ2DNj7>#usD!nomrFf`{Wqap-69cI>ENar8*r8-y^{Y~Kt*QF z=fb$DO~KQ9d31Rm*#EF&D*$vZxV}nFjh+b{N;W&Bc2=-_G@p(jZgV-?kOh_-PHdMD zIoE1wCk3mF$#Ayf-ziLT!T|j5s0YgQCw-%Owy^qmqJ&iWi0Uk5d^23u=(Nj|7MImM zrow~M4?0kn&@j_tkyV=3YtYI;k4Nf_CnbW<7n+hxK*3UBH5rJH#=R`~-NX3d$m~g6 z@wKhgKLPI*?mE{yg}@kh1?(D|_H0 zz2!37Vj^Zkb)>qAZ8(ewXs_;Vc$CRRjGBMiHqHYK>muyGYFMA8yloOZXgu@(uWtBeG&AB)mGW{4beZs z$(7UXn=Z9BRoAe#+@yd6xptFBT^67BJt6xP$%St5+;Y+ z>t!k+{jN{8x<9*d?Fk@y{SQxGzA;UAphK^eiN2`cyvyh(=Y0=x7m71_qFr6Df|v3fWL-x0Q(OLpQcXR_bVm@@;_*VQztg5HsfGLhzS#7j zCVg`Y&v|CIT2Jle9}3)--^GxOKWPyJg(;&96&T|G5cA3&E;|QFj3qAi?e z(VxhGtlyT#-e}=xO|hKKyq91C;058GTw_YDpA1vyfA=1U>fSkj#kNIA!E&ZmN0~+W z0>&b$NpG^#qU{=kxn+jf_v@C5Nt`qT@53_~!CISg5%BMOyo6GLp8_<9nEJ^~90M6! zWA6U8qMN{QA55t{6Kur8rbCgand%Gq}hKKt-m=Sv6B75R8~c!1Gcjn z_u)?#A?|6vW37oOjioQpPIZgtP@T#dIE(`GR^|jc2tC zuT5=6oSMK6-czkl*1)|lRy#UE1a$|%+f z$A?&=wSpEPP70Z+{7+5CMnN#`aq*`_mKaYg*@tUQnfjo~u*g`|#e-qs7jSGIcC>@m zE)Ln_4vK8CXX8e8U(-IF+1O?DhaKbD0=w;)(VIx%>q%>2Oc^FL)F!kaV7IjOzghZK zAycOl_oS1qO8+gHaeAk14#y%Y-;$4J=)Ta$U{i6G4v`;NtdbdkDBqBlC+VIhGClwuCHS}R zNBN45l1jcPMBr6*UGfB3#rVf2fHCnX10wE|AKYV9tC zo}8Y>B%YF$9=ST1Be0(&NySg;k9D)|Kje_3z8bK4&pa8DM=!o%?fVSOV>OEltR?=a zZ`uVb4RY@0T=-`l>Rw>9dRpJ@zSMC0W-RgJD33_rSiFGiJF0-e5dTM1q z=^?iDlyQjv`V*_OXjB=3*|~TV#5-NO*G2oHXm0bHwBQMNHB9i| zvZYU^IcVoIQl;PBF;?pigdSrfs{MIHjZ~2rLc5Vct&*!$KY>w96PRRW=us9yH4#?i zlKa-Sz7{Y->-XV|9DiTO3~MZDv-bwDe%%7GqWHLB&+osJc*9O~YBxG@Z#_Sa!InAP zV&l!0UbBrKwx|Tx7FPA0z6U+f@Py#%n3E+~5JYL-X#-qkl_A-w8l2Y!fd zEK=+KV}6Z!Me)J^vRoKqaK`NgW^QCEi)W5GFmnWrx!vxT>g^{{+dn@=60jeTr8ld@ zF&unMdeUTnkMhVu>*hB*>IgH$hRlO3uNA+aAnfzam3Yp`>#dcqIqz@~+_IbpCj56; z??wKExF^NmaN1u?UISr7i69_bHP?HYUgF|-$p(Ce)KQI7Yq||xGKQ?^%ID~Ly`?UP zCD9+wDdOU@L!i#87&lZyw3yTX^e`0?DY#xd;Jtp#8YYbi3(49{U2aGN;J$IOW)2_l z&Be_BerHHPg>{%EdtK?h(bTvN9P7IFj3aWwcXs->%SZT5He&t>_}P*Tna5iUHTn1a z%Xv(6nMQE9cI{1hIwozLcO;T;Q5}ogT1i^v`;oR|M_Svn-O<6jB)0-D{K&>Re>Sfm z2U#+LiBrlD4?YtY{~lcJ58?UdEU{=NjlDL;voWd7^d1bauh+yoB(4Ofec@N)){}0y zOFQhFy=_3X3o%r32!bjH22g6url#_gRi76@^p!Gf3d;Lp|6N_uQ%^9*Z}!EZM`gNX z>R3<0>}DJe?Ka@)`n)NyV~RnNB+Wu@#~wiVVxZfi2UV1-XN&8&VxsP=(r+W2^xt&R zo)hYw0jTdK#3}8y!zqYVv_xy}w%rlJbGrZIvFXHBNZ^4RobcSINRx=5z3)l$<}$9! zSE*TpY{OfZ{JRkVWj&1XgUk8sJ^$0 z)7^-qNC{FhNJ@9NAR#dW(k-C0bTD{+IwVI zO(sdUV)mqlsJe>?)|wSxh=B333nBp3tK!mIJi-%)rD%FiQBy+2&3AfnWftnSXUbh##ul*x5ms$bmWQy6vXDW_(ig`o>DXhdc+vcg?J~`v zS#dPGJl_n&gTm{u9$QmBBm0_SC0qKiJY4_BdVk9cw@uyk|6Y;+T6EzOF(62BCUMTD zZyXx!G?7SvWNyWrAH8cgDcYI(?1Y?nrl|UMp~i4QK5Xb1NhwL^;-p_Zuq2Rz-(^{W zK!dBP`ZIBd<>c&l3(CTJ@>|j^=4fca+W@yvu2kx^<>4jHc*Jw`R@{-l`Pm8;4Uw>! z?0w7lJ>~RcwT^;?w+-lp;PfQ&LN3oBExWFb;ofaK#+*E+o{wSt9f-jREHYn~f0E#G zU8fuU8Tpx`=7o|U2q#Z3q*}d%8*-p643+mLF6_0M3h*(Uf^^0Y@D#~W((z8&EjL!%pzbOwwiI*e z5aaXslzD&WZ?P-~AgEQn_X{7h{MHckHFjYCwB zL11aPr!}+n?6fV^eTm>EF8UG``qj)vOz;&Y*6IYZ<8MSzYwagAm@v!Iij|`)>ohOE zXXCzW#(;c~juPu7e*CRftC;K5H?NhOxKty%GBI`CT?Bj?RAh4!{cHo5&jApB;sFrj z4?XiN_Ibku6}kh*#GUk3!V50cwmS9O1B_(q^(lQI;g!NsO6(SL&`LL~!E5(o&33Y&Qe3|iHU2zzVHK+s5X{VG7(q;AOdOBr|Fy_Id|QP35~kta0ogz$Hj^Xx{Z zycGFq>|XQS-wm9HZsggN|M^F6c>_Kx)Wk#JCjMh%mFL+|R13etSiu1S68LfDWD^H% z%G9;9p3a>at)coON5ggcN{%;X1)c3>KqlY((Pt7?5uy??pJ2-qzMJY?XEPHC;4vCK z2tc>s%o0re{TGJiGDW4Mvn%7dbIXOM6q?Y@*R=Pio@A$hxOZmkq@zLEUvUL1$8~EY zd#}3#pom$S6=Gac=hHneu;|OgE$0q0<${gEF(SK=TAMs+wD7+`sgm}h=%Y||VhPlQ z;$$p(3b{7!_03Qk0U9*;7!n&@u%=FB=8JS*0)tLkQO$#ZNce8PeKif@a(CoE?k z%dUCSKWr(z_7*Q*nR;1v!06T3zYnGL#$)xt!r+J33lTTS?@=xc!MZSB9!Pyp-Ce?4 zZLel0ICtX*Sb`>?A0XV-{;`V5WBq?tS{RttWRW6^tEj6@pI z?_McApfvM!l|~yC%A{ylHcegu0l3aTXm1|ryLEoMDoq+Hn?s!CghHV}>M?oXgXcx+lmvSu3utuT6_+pz&lrjl_`xy#Roqu+wP;A}M80d0aYKDib~Zov z-RIibtHQ1VIB&DKs2GSF7QIvpgwnyzoHiI#Gb}EnmMjSAgtdgD#@MD#VhKOckla}E zeek{S`x6oPt^*~;S-qb5^Snddu$@!v{f4IhX)=J?K}T-31qYI!QT@57>{D2b2VUR9 zC(J+3$5UAkJF2}6M|9RCrzp-ho}8$k3u~`iLTF_&N+%sMk_4k^o`Io1I|P-EH2?Ry zXwXnMrriayVI>a}y;jaBjhPT+FbkHiV(sRNAhyq~H>j9M)$Q6h28^!5=J}E9+!0Yk z`U28~#dT)MWFp1=NKcZI!0Iu0n6(U5E-7rkrIi@ebH#n$kr{j<2(KwU{N57W4jQ66 zsW=00|3NFCJkXDZzP0#nHf&Rf)0dy(B?|K8X8w1Jnm^I=Q6nx%1eYx@7hgLTQs`)| zc-B}umX;8HuO>so^%sPO&08wlPMwwY!IM`1QyIWHTp7HnoeXz=R*fMf$WNnTGYl3Y zClp<637#_*r55(Ujyf{3@ZP!Wn;2lu*&K21ppRSxx!{fmh^OKkG%&lw4L{$f#3rE9 z8ZKzTxr?<6M()K5sGt@x*}suNc<-~_?-T+r27sVocA|uAnu;z~oy`K8d^kvn6>&fv>m&vr7t%#26O> zV#LWjT}C#n2FD_%VQ6U9wKsM1(<3bS=vtmrc!D!2dvOg9)ad3*`iJyVSi%m;AE;MjF zQ(+$L-3flHLQwYC0)isx%rqSwlA{`AoWNeNmAP+oHuD#Us(>5UC} zaceHUXTDOS`1=w}ih_y~w5E+}E}27NU|W%Cm!v)iB+QB(04~}F$t!B4nuziEVTeSh z@&@K>D4kdSmv$if@9wKaEQrgAXBo0wr3{Ju6~EiBOIhGzNr~8a+%0~!`ZUV$H!N?~ z$SUy4Hs!My;&01#N3Di2u!eVjPn{98TZEt|Y_oQp`sH25xQRtLQF6s#w<*HkRKLyc zqj^}6L_`h)DBtPn1r9my<)>v_Lz)q)ajd`Qk7J-R>v_kZFD-#7F33JCyvvpl0@@ zDqF=dq;qF*?#x!RMAWOk{Uh3I@XA{VYSdqvd;dVC<|Viy^bwSLHwGALxg1)i`t7}5 zDL=`I|M}^^rE_)wDxD_LV~Lh^SK1$b6XJzLKYA%T>Csj~LYuI(xD=0%lOxm&QW@yb+aj(@Xc^>mTq zT45{!$aNn31@yLANuQJt7;_jne01GeT;6zXrXLSK3Uy4t?D)C82>shlw6cHozWpxS zMF+?Kp>KH^t1n+)x)0@RhuY@w{;L3t_QSABET|ZQVXz#A;47fFPoI9HhTJ&{LlC5u zl>!es0NoW%q1GOh21ON)gNLt}_(>(UbJLWjz5Wef`0E@LaI>RLWh$@FW4z ziP#ncFz>FxHKj(IuQxF%EL8aE>DQRANUF)rIV1fK5IN?*T)PnK? zKcT4b=lZP`!>x9YqP#?zSHssING--zPSkOg9P7KndKKhN|ig=Vut?KhF zaCKsR7IMPvoEF4}{xxs=WwMsN6YEMb&32_D_j zk_UaSa=H^N{Uz5Un0@v32DUPr06`G5z(^=09Rb#@x!%C8jYIGSSpuSe5r)Lov&7J$ zZer?SA_w)`+&_SB@f)Kr?T1#CNtC*k^UpxR$6xNO+kUs&OgG`aj4!y9uMZuljx8*h zxHb*y-=f8LB=5zHk&4TC63w!g?KjGDc zkgH#Z(wM7$!~-nze!Yih3*_hyy)d-Mh%+nz#x>}`7&J7nX2tjmXbpxi-`bNV09=rF z_D{;_ZCe(!b?umZs7M5xjC~h_A0`GjV%!};f-mAXE=m`j^qtAB=7Mi;x2R95>zUeI z#rnP*OwEB?gyYSQ<_9BPH-Uq^ocOMmBIn}bq=80o0&*(uukpw}+2BEj!)eiNLV3eI z*h0w%NQ!p>f7;qdL^B*z_PlbcswI&WYR>(5`~^s4e*`d#ZKD^X8qKWIE&adyN@H;tbJC1 zA+YnrnC2lXRa{}J@mpo~POO*T?89ORZ7c7y(a`wgl~W9*Eko8TX*x~O~sMQ;b%0IZ}R+(=dHt9a_^ zyw9-wz81&e^2HUsg=U;Q7rKy-B@Q!AXM1qcW^tM1ksX8@S3^W4Apg_efz3Q`nioM+ za)ip3Dh!#mef0e5txkkSCO}6Z0W0YgbbZ9S(gffBz05YPtWLdepl}_1sg=~3talv= za(^VxB_f#w6TuN4cAQls^x^S`Kee9?`3Eh)gfR_4i2CoAl?;Gsnj+mI&eH{ukkMsdIZ@wf|}E(Gu~H>6x&F9mJz9Tg7dbIAAB_jFy+>a zA~SvBb$alxInK&uIe-QV(CQpSm$613&h`Gy*Cv@7zJv434c|jgkc8?s!DtUHMrw(TQ;Ett5VAjbm?$)%$o0wK)5e2GX-d za&+Zx@%J(6+(V4(7p7jjb<{x}373Q&#+&`0Go6~1p*klfGOOQji|A_pR6pk<4x{tS z^g5t%4s(7y%>3A&msvU)FP8YRTHWu$VS`>cR4t`-bbWD6E=t1h_DwS;o%wn$)33XM zDHn`5DkO08JSqOG`En@ZL9+mS0LR$G($-7q0N*^!zi4K;Zt~Xt^7Je7p>$)?a&BoS zbVq#YNl|RM#xSu437JG4O8naHn*NtniKeL_&QRpeh8z~~p5nrU?pH^i$nAFFlkUH% zucg)_L;Qiu9VEy;(kl*2D|Ok1!mZw7wZ%ls2iA4fzW+7%ys}yYb87fVq#N{kY zfXF)i`7q=j^w4Z_J`-tQpkJZFy|o_h@TVrEI6V*DA()U+vjU7Coer;gU@JD(9^Cpq zwU-n&%XnOADRO`ho0DF>8(3s-|Mui+m8@MtIYY-YTS5NuoK-tika7R1MHZyQ#oSn7 z(JGUK1<*oDDnEDPS-rE%YPdL`)J)s9;i1qY%~R(M$bIf6iJ5pf5!JgD6AxWko_+iREev+-A ziXkR7WUs(*7^>ifgBZhhEqAvxz0Tg4s}r!ScM1hK-UCi>`7{Gd!o->QHQmcsfqM}y zZz%ef)N>_FTxQ4?9vETRem?oG-lcVyA}i;Hp*fLV)?)(7Y%?%)JgIk&ebXTHaU#1< zJJO%5EFuEYF;^ZMUpLGl6LRraE#FI}L671Mg<=3nB+1<+0!osXZn3p!dmKbQ{QMyE zK*ER5i;`U4V40_*bUZS&Z2A^M0TMJ(|+Qh@!H= z!20}K?o0S9JaSf!U_-rBVSQSrpy)>WE2d~JCSOjHQHfYe!q=MDBcew*?=FyW7KGG> z=-`BD#4mbB6c!D`h1kzk@u(WAor!-R|m*Vgb zlsGrYv+8sEETyH*4+PFCZHLehkN*k&326W_Bu7$3xzN|cn^`gz_Np5`MmN|@^lK;Wh_u8MjHMczyJDPhbZ{9MH5PgWOc(M5 z&^QaS+3S3ls%&MW5#e}Cv-GXM(MbyxZO&An^^Hew?zH_YC>1cYN;fMfT=2-(#E}u- zF_t$~anrs*x|d1RoBgtsu7!1ISi#I`X^s*}%b^L@4;pZWc} z%cW=72xc^^N&{6`@Tda`HT2VkdzH@Dtye_Jtg5td#r%S!iZj54^v)7Q@{93y>l!kF-i%a3J|_nbEm!3u(nEAwelxD{ivgk0N* ztar^a(SLa49V)G(MudR)uLN0+K7Nks!qq0BQ3a9<@0QI;`kY|KfOA4b6M6A(o*;wR*i^S+kPJWq$e&6~YfAE$64d@Mc@8>Nk zJ0wn!{f$F53`Ap8d^|WlIKDU^idud7ls7swZorI~QZEqcdWT=+Ctolv zTpJ5enFwKjD^{r~Ax1GD?}YCr$S+V=?IV0GBmXbQC+J>u?-|ml^qdOX9=Vf757Edt za1OoU-VqH*HIFY_>?bR(TBBZQ_WN^vA~}k(GL`43zQjp1Q8TS7z;}+jN)V$SKukYU zugu?(t>~fJRkstBWfY4n96((bm%@7*NX_l0`n9x+ihfg%08v4?3pI9Se2zPOAVR_T-^XavI?CfZ5#;vgF0M{$~vtY z=F&~s?%8?cPa;EB8mXl$V*e79=mF`>oUFiZ_*^Rar!S@38mJ!PDpZV5b@tt$?R2#w zIfXn0DDXG=G2~Q#YuD%ynn~O(h!EXI&S-PiDGXw zeE9dbDGc`v>*Yt|6t`D0(bj;=poe8(!v{$Kp$P`ayv&|lV?^Mq4wMxpBYE!@WVMTB z4~72J54#AfBxmP7;{a#_UKV4J)oW?Dn|8f#ASdSN4<6syN2C*AMw;oIVBwr0j-IPsWK-QK59H`QZrRfF-l+U>y=tOl#|D~7=$`4uR9oBdE| z8l)X}Ek%c4Ro1ETr7xU57Pl#g6)ay>EyiX|T%BRJ*MEPOz0xml~CiTWvx@?&NFryEQdKx5iNh4e6Dbd(oqN{B&C&)m`C$0K@KLe*preTMxS|Fqfzd8Y> zbSB|zZNu!h`O9u`p>p~qeu}?_AZ^cR$4dj$ck+jEVuGwzj1%Z_>=RxfHr4pxVq!EYFm9kInMi z2Dzr)Ix>s|lnDd&icSq?+Nhw(3B60wM&WM^$XVshyZ#W_Qm$vH6Q77thRgszMv4K2 zGVbN}xh1-JvBlPfO!LAMxmAFee~QGkBTdsr9p}ToxzGZa5ZFbS4wH=uM6($I;dJ?Z zWkuhH#&GOsA$2gL*K0bE@;IZ9h79jD3!VJ{puicv;AOS{4w-@xT}NbB9>`xu1TJ@? zSebbf_cceD;rVd+ZV0x%>10s)RGm&qR$kbiX>M+aX-i2wQOWK z@5nR#0tS4ajy1XYT~|6k8F3ERA+ia*^^+*7{wP#BwnqRf8ze5yu_q6SIyQ|mk+|$C z#z=afI!u}Kdwwc;L}Z!7bIPVxwA&eTMNui637U`<3gKLpp&U1JD7=86SVTKBJN{CN zfqnVZVaXj{W;JUFgj9@znGsD@W{MUNADuwF0e8(WOK%6K5oI1ar%F%kX*d{yYZ=PI zg?qUQE_I{PMA*x4;h`~RLh-@koBG)r_%P^L7-657r5(}2@76?xNyIGA5c4yAubitz zhj8(^AWZzB%CH_-8w@Wf_4SO#762@lUfm7xeECYb#*9T1i+br+tRiOg=~|?=?_^At zI5PgE?>1N=-h_>1c&Xor5-k($>#ee5VxStp%mh4-p=?}a zN{eA3lpZO1ugW?tM8oUC?G$3<2w0#fDU-lJZZe1A1PtMCk-31k=cGFSK&Ox1>KBMSbKE7z>@UB7hOq=mvfujRzAW`!n9v~soT>UhH`Xnlp?Y-a*`AO(}hfJ=J^b{ z{v(!<>OTNS_g1Z}7XKkPUj)8Bwbcvb>MshLwXWUIXqCk=91q)k%9uhp-Et324A?JKGnf;C+Uva&Ux9s;d5!wX4Xp zh`4)_YOwxcI$2cDq(jnFVnrcbz9$Escxmq`5kO+Abqr;KzBUgaWa!gkEXx#jEpVYT zCKZaZ#TE1y7L!ItIFP3pM|c-4C~*&eDOguZJC=)kaDqGl%jb;`LP(TjzI}reH#u>< z;&^~Qv5o zsSe!=iw*7qWLRzqsXs)P#0FUS{1G8Um+LzVgZ%bQ>S%GaD#L~aXZVqkcg@n@DZ(9w z&&B*KVu3bAgAONv4HQq}6hckGcE&K;w@nseX$lLa;I}Cz=_@F`vo8OI^*3$d-`7u5 zIg1BW>p7VRi{FkuaS#X^hoOA=lwI!syN|VdnV_@dr{_j2=kGrju8KVwNTiz@!Lezc z_vl@yIJ>b%otSghFnixXK1bxQK?m&buw`w*DiS^`Lv2^Mk=kG3^9<4V)d)-O@`ILx z<456Bu@iSBTn#(~t65Ia%Q^M7?5^aS8yK zDb!Ky4GPdYN%OHExhF8>TRMi5O5HIw1{^o!V((T!3}klE(YwNixxjjjWaea<=!EAN zEqY91QPVe^2BVoYv`?OGua$?w5nI_m&JOZYI`3u|368sIV?s&Me^NnB6{g!n*&#>9 zL?@6m*x`hWRsXUZ$mt8z1#MKi$zSIb$O;gzlx|+DffB<|>vnnR0z>2k7u_s=d&`6p>-S*|(-%V&0V zbe7?pcm~r)pt*{Ab1z}> zF|TJi?|V5wD){NJV1W@JNZ70YHhz zRj1*g(o5IlkQp)~wV`+=eLs6Iof0^Y>qlDaE!l`iz}wSFeQQJM%UWCRh-${}+HVgdMaw7rB)=o$$1B>cSa0KZ5w9>X+OlgVsULrFqE3-RFiQpqb15v*K$ z<|rLUGa32bcLSZ!n>Sz#hg5aGNLdNOUKKh>P?9qluT=r7crb-Ij>5_f0wSZ zI(A-o7W^``C~%YIw;Pkd?LYwgKa-abyVYIgV`Wxj*1EaMk_{4UINo+WPe_20UG&+y zpU2>kVvifhHg%XDGtwmYT8soLyLb&k(E>RgwqdDx)Cjr_JK` zr{>#~FR1+fzg>WSNA@=cXdmg7SRwLS{{`{8v;JKlB zKZ_)ItehisnH0~$XKL@~7{W@K>r#O*k{Yz39ih+=<`X`zv~EfqwAD37 zB)p0uovE@V>uFwHG$|6oh%(|K!ty5f1nA`YQtATtDhfP*EX1mvI(k48ma+VFOF=q0 zrpkG_#Sm>^NAM4gnJv{1N{TR|ZVw!X?g~Rl0RM7U39SFiXnkL}Vd-c$K|zl9yX*vh zwQjVlj5JL+WGy?v|21_nbEFSFd>!S{r%tGTH;J8+s$O=+V;%B48!?9`wLc~iz^Y!b zIP9|n z2|w=CWx)e{lyP;!m=<}ySB=HK%J}(qek11KN&-vkUvMCW2w9e*`PL)6qhL|6Q0=jn zBv|Wz?=+)l4+qmx*U;Nun1(Dw7#JecMVku=@fkwY1vJh2NG?m?W+)D4VAPw8_9mN{ zDi|pTVPJdP_|3J6ngYBLO<%zhc?@Ic*a?Hw*mcm4-I`fA*<)AW6B@)PfEQ^$U~ejU z%yI?Mi4f}Qxg`jUH#D9(k(%p@v1bjFpYe$}J_tsAP4f>4Qi6Zq7d38l$!B>n*9~L0 zPc-3SiA}Y^F-93$d2n_$gwmLby<-4&qkli-KMdxS&CT;>GC=p=dghc|w_DA{fhcz1f>0EGJGk^(Df)@v}`f6iuoh ztBxYqIKoKc%JM_kubzrC2niG6tijr1SAKSxeBt1i5S!~&f=SD^E|E^wK?h=XT%xcc zF@3tex5^w>L(C3y#vX$M8;#$=Ra2nUOZP?X5r1HE1nUZo;|vc|oN@;Ui)$IqzBo;` zP^=XQ-7)_fFD|@$V@2;u6-S3FFLrKTm4Dydz$GJkj_AOU&#lqz6%6BR3@8ihe!kb*!4UL<1ouxRJo;GP0wpNhFVBh6ku%L|8&rKiv0(>v&k*YG zpfDi=OlxiSb^lhQh@|8{nDB#o)D@Aag=ZBOV4+pSG*?pkAL67VQScMC)su?}-G^Q> z*~DuNAZ4;wgh&j<)dI-s)E<;k>L6ODUvZ*`PrH9`?uI2y4QB{cOgxJgqjmZD)!R9A zxRG^taBk>Jlax%nE?H!&^TdpW-6e^0?<$vL78etVp{+}8ODpg3_mz7MNDXeQYJGj& zi%qze3lCj4qv?hTfJV2BQ6xSnd{i{4%t#Pi^j6I;X(0MpFr(}BS~#`w`ba~Ml z2(dhm5)IxogG8^QOryK{qKI|AGdGX^%)#691uWcHE}H}g`YPL z^lwPO$jF?h1Yn&Z49QP$%pUVSQpZ~HOlR}6G(3f!^R~M&5hZy=c)=U56{To$KXFr` zz$Te_LW+I?MSSe7TM7Bg$iFC8+C!&ov$-cs^ojT7%nlbL z!FRNKw=BW8zxpMucG^>5q8W`x{w`Z(khvx_jYx($y+>Qb1w-!d3Weo^Xri$;<>mb} z!PgPwK`jK`Hq{J2++SF(cSq`+n-5yi3rvHasn-m<>Xi(*<8tC;Ha>3!U}xRxKDS7@ zORH&UQloAbc1HbN;o(P;Mx4oIDny)6bVy=TPBQbg!d?$S$>%(c8bM~XL}ee}D-t}V z=tPF(w0HAvk%Xg5osEEpHi2xEDKIHMr1bF6$R4*9LUk$<8a;NpBhOBh0N@oVW zn4p(U<##-jXxeqDk@z6-%=2_a{K{B5O0#90a&)YXa=8$>=ZedpvZAO;s`0UTwVrbl zNIT=XZpc#~Axw(h>od~~!a@u@SWxqfJp#FAFFd%@70@9s?V37TmOw#^0GMf{jRNoX zZ=#-k7oJ2hqHElUyaSEc_a?4caYLtc^N<^dzpE-;KZO=8PE2h-rIZ``5-8mO3d=-2 zpr*S4@`-+2o#;+ca!`?FzEE&TB%xSbB*U(2xAlx=7lwBH8^WN#;Z{RaXF4=AbuvfI zc)VAwj)HFYT0i{$2xi`}3pzQ#3$8~_E@RPn*0!>-+vl)JbHHszS|;lJ{^LuHvaII7 z2Rtp9Wx`i#L5j2tWi9>Baf~-J>IKt}KG$gmSsb3Hu%$HZLWtKbP$f~6y0v*MAHDCG zNlxqLf1{abxkNInG`&l$nbU0ZC0r&@nd2;C zFHYHFq#BRh)=RjjG}xQ=kza`!^a!-ehq?hLUY9?fwU-36@qTVA{r6m!jfek50q)Y# z@_I|=MwF`%*70UE2Wtrn^u1|OJ*v|tk{05&Ig|*lq&g1P+Da2+B+~b7HU&BFiQ|{% z_L%N%v3KhH}E4AP-$tLX@?VrWW?e zWjdeOjzesic}KV1=NUuJ>}y(6=LiYZsB(q^l>;0k{C?-lJty;W=!4~n0iRaq`y>0h z2;Zu}HM{60f8djKqwqTOWP?h1p{hI;zL$1j4Ztt)|7@jG&~mLyn_d^c-&1n4F_6uPc;Gpa#~(Gl-t zKT!i_s1w2!_m zY-!{G5u5F&`g=8!$h$+usv^2G-E$5P%zvIH*&cvVhM z2YJ}O{xFI%v1ZbG&$ychN-qN5***Wx_nEN=X6rm>UE=5tD4W1&_mi0r9~l?|Wh}l_ zE|0Vv)~|ryjYjkX)l5E(w!7J{W)+{ylt0Ff+sn!p#XIB#p>a6F-)k-UQmY-wL~?Lu zC8!Wr$ulwL&w5tS^S#1{b`Tv7&(A#Q*s6=!zl;#$@>X>aJi!noRERzEzsMHL!J3T& zubEIzxwrOb6PgzttV>IY%FY<+J2zu{AYRr(s(Qa+r78fk@zJ%+oMWDOA6F%da#>_c`SJDt}WY4EY%nlz{^s43r8b0fu06y8T<$B zkDGI-WwxMU4x6F9hG_{4;hiOjd(|pT#S%olqbti{tm1dTsdiE8WLJ1)_kfLDLh*U2 z`#RUKLr9McKge)& zVB}#XK_!{xtZp=q&xB5fMLkQVPfF*f7^Y8oNv2f$IZ@`~A0SpFD}B5r#gct8Rh^<< z*Z#?1LYXQ6H}m}@uhUZFz)5;+H>DeaeR9oc%hkI5XxgYy(acL_HzmAD^0OyqqVFVV z)j-=sy1hphi8*n@+jYjY=och9Jh)-jFj0+*j*W^yk52u=fe#z8LLr4SE(yCFqe*>d zK_|mBVPzRLPB?X)mC?!u%MRS*+ah}8)*eKU|QMBW|8AtI7+He$A9GJ9Qt+nMj z+`$-tZ+E%5?V1!W!kQ@%p|T7AebEi0ksh+p9KD+?CG-)ua0+YApYWNA%!IYL612vn z3ewXhroLx^_dzp~zxmI2SMn-*j6qa5cnV@}l*lhOi^r!0&#WF!vQTAIzw5UcdGgEr zr#wY&LcL#pD+G!_37j9q6$YH|lxcmlpI8-~RhJJaet2)+qvq;)kD|bKk--`w@$)fb zHT#_L9!fK=xq;Ja)~du+;i(U}78`aC#tHet|7P6Xy1NU{s@}bl3|0FZKSTeQ(q%65 zS3FZwiorq|6|^R}(Aw{x@Q?1MGL5}s@K-Otj+?L*m9rOc&#Bv6XZYyXoSn<(Hv;Fi z5HY%VPIeV1WDU0Ky{KK{aZJ_^qj|rcOT&g@V<3`S+e z=V#WU5CI+Rc!_o!QW5eG*t8)|!ppt>mufB!2HYLpD(UucNcZeE5@l!m5&oRKEYCqTa3}e>qc4G1X6~vz?xje z#~0&=Xu=`N5(?}Y5?%t@5LAxiY(Guj?<2K+E4DjIOFlV`MvX-J^8ZS}l?9&{7~>(y z)nzLE1*6zSw`IE8JcU3dHn(nEd(17PXrO173rk<#{_0)!*m;Qj{%Jy7H>zBDE7Zfa-|8V!dVN9 zDzAAo5~GE-Qd4P%ar@w2*{D6=t<(vd8|6}1#N-{k57lbk;$xZ=6ba#ZJkxYE_*g``V(} zo@2@Mp5prQ8Ack&znPV#IcAj1r4xqJ7mVmd#NvJBu%gz%nA&!yUuI)mbr%V{fgs+5 z)@6XZrGb{vz-$yww+L-Ma=)6eV1g_ltqbt2Q)d+vEK$nES@X>RfBkedm=5qEsS8gK z5m}2L^fWU;%#6RjdA4+{-h66dYHiMNApDJ_68f-P`&IrCR4J2{fWRWoB(yXbDlq6y z=i&Z{hgl9^y(%}QcwV^Ep$b?*T$X>azqRVxcYj!_wrN43>pyqGoM>%Y{f6a_MKyNZ z3;G~VRQ_6=ELr$b`@g?mKvaUYla&I5+(KA7LQ*@7I}9l#V8;=|XUaaTZC_zV0c>VX zoVgxDDQ2%sD|p*)Oi2kIgc8?NUV`$hCeUvZZTI}^WEhoHMW6d^)i(W_NxgH*%|@ak zeQjNZExh1am=pyABN}tuCArj>2jYBSd6W4?*G7L%X^BnDP(C3yKk7p@a&s**Ve3;DBuF3?P)Hcqx~d6Q*$yd$HgRuc{2n&kfjgUO!mqhZ zYQeF&G1)P`vRVjdT>iMq-=~@8z46@tz>Z$G)>Y;iNCNUzQ-4<8TDvlT0u208VrQU(Yqt9X4eTmYF@i0+^ zZ8)6O^=NN2rN;3fy)QZISMzRCpEqJ$TUaYZI^jKCeNT_@Ib2C-Fh$R9v~Hr9G`2bX zmBm2kHXo+A{A%RUaR|8vNj-rV)?YyjWj6BwzfI7d!qURFBzZ=dq5f>`L2*@^06GlU zp2+b{s}1>NUgd?@v7PPTHwDe{AAANxIYh~>aN~W(@}wV^6R)mfBxDpY%7*oWAfo;0 z4=qPrLC#wXrg&o9Y4Ho0qz9(&blU@~-gJK`qe67C#wEDu^oPA@2tt=4Kc{0q>n7L4 z89Bispc+F@vhHSzd50w@9_PYv>Vqde5q9}MaX*~$fF72beA5tQ`6b#D?JFz7SxSBx>p8|#+GNLv#8mr&z%RLr&hQXT zSgmLJ^3bCo5((`rDjxFIB?O3^SV7gL))pOl;N_;sRST1JFeN%7uTTJhiy}S zUE+6HMd&{7#l%t)+DsvpsL%=)dSqDDa%V_fu=vk@o)0&wUYGOM9?!$*2|h<=0iGXJ z)(fDllwXD6kW*h?m!8-M(d#MIiC*l74pZzVI(*bt=6ZXkU?%(z7>DAZn#5<}??e80 zri2G_O|ZG4ayiS@{(jXF;9Qt&{il)~sVDpaDXlalm5N5nYhm0Y;o(u^Mw|${Lvuo< zE?+Y~Arwu=prK|6FDzL}WGf73h%23u;5hE}+qe%)s9S-}`VXd7-|v-B!O2^J!IOkhZ^ummj<|#(Z9j@>Vj3l}8k!Q`^_p7Jdx@$T! z%s@^r&Idt^u2b*57;{kv3mAU8tw2!{Gj7F8>%T}%!%BA~M|~B6=acb9q|EH)6SFSf z`1BZy?D((*qgnSahY8LhDGO9N(W_wy$NF;9Z&oDtoc?J57rEqhxWM7 z=#J5A9pj#G$2FlO8RndLlU!65lHAz5gFIev?6i4)#vo>Ll!$B5cObZb z`g{^cD?u!EUXj|-A}Wx)|M^1L{1-qH9t32ZR|;pC_0*Y9Y0<%bl45e?kyXx~A9~n* znX?$l<&b*YX_0R|qn}!Ek$27)AtVbWTHNwc=A+0vgkp{GN?K{`*pifs_Jn`Oi%|RV zBEpCCx*d^w(V_3am^r2_y&i~OVyA$uh-@@eQr9Z94pfoFq%|61h9*E~y+KA3Ux&bF zBRnKW9Y4vK|5@plkCm-oaZ25I`U|&WpiUJ&Zz{iHuTtUSAw`ESn?{9vm;a`y(33aAK2WqY7XiGJc^m3Y`fTFfDM{=Is zf>xHh-gauAU*GJKZVF9o~q&eS^tVD%+-007pJq*ub`<{G5>GEWxm-i{@ z3jHLzQ@o?X(9TC*zY>Gamc=eITQ%r%Y0<~XA@ALHz%GfS+Uqx%r7328HN-K@OHVkx zBi?LAH`G04Eu-nO0MnQsJh6N zIgWP`KUa<=>3K}b4}6|NuAI`Wk`es+tq6xl`$k+=NOqHsu_tc_LPi<;rUU=9Ekk_W7s(lw5jvJ>}-bHDw+t z#YP3oh=QT5aZZFOF7zm2X3KGJxFoA*6m7;*6w&+L{JrjS*e73I0i#5QUrz_jsqnvs zh$YBqL?g2jD&kiIl!25Ppf3v0Q)U5Sq$eJvW$P`Lzy4g&TM;A>gk5Po=s}9(x z#No7h_6a9idF`-R;ig@b!pM-3q(_jNN8dgVR~JwLu!YEIcjU=iJyB+Q-sW;VR#ZI! z8PX)O<{eICk55yss@(SIh6uytNO<<-s*Zt-W5j3Gw==LzhA{m(}Zu44Z2s|<@q4&N*!HV%5Evd1{O;X8B zQXD`^HsMBO%}jWyNCa)tBXCau_4a4S33RJzbj+mq1d9FRsfB`^>-Zz&zHiM$Hj;i| zc!I3)1=h-E#ExPT9>;vRGb6NIVQ&ZFDmWPFG#HL8L{Ku~L)yE;8NzDRtA7#*AvOkHTv7Hx;y#G_M z!MeFP@aqWa)&l}YHU|dGG?r(Kkg*|S?dwEOdd;UUWPuhl@0qeyBwFZ!Ahu6OI!vSs zv5YhB|2T0jUttKmS_hgilC(jBe{w%aig@8^>16iuAD^6O5Wtjl3|}@ZZ}9f`k$wNy z@X=&2fvsik1!YiB0Jui6sZPOGp3%Ymw=1rFF_RZOtk1=}6G3Qu^&C#yr9rtzSUEoW zwxyf0@tshLO3;{uQBFhaY0BxZ(s8p9CVQri_!G1U+N@ z`v5o9YsdKW_uAo+aO?PB(VyyNgYyIO+9kb$m9*W&4uS%e-9@)>tiRY7vFpIE%)^7-#|*1M(a-e5AV|S--eV6a8As^f{d3Q)#&SP}gf^5iGKMyP`g)gQ zI*h*nTvHF^KfH!Rz!&+a*eJUgt8zCVEU&EPt%&!$pOmnv6p#7u!>7n9TqMm>YY$9VWqc4u96dtuXHU-hNpN}qUfsdgvYBc-!6a3 zrY^qh);i_a3GYyE;Qugb-DGU>SaW~Bu*N=i`P5|J&({qvDn!8jZFIh2N-O5|6b$QV zeKn2SQIT{#^R~E9gUEiT$Fz%ow9U*f4_x?J6*Q5q7CX|1H?9264i^PjR zY{cv81}S%KDvb$83G|XTfsF~2b%QdjhtBTAABtNmj;hixq8QiyD*!Pn;-YrTgCVA+ z8mvW9)|DIXvFOh~v}-m-x{!-pC0UYM=KBAwLE6P#@ADSN5%r z`$ce2mE;C3r=EXF6#(~5`Q!IZjGPuJAKbwvRf<=-yosIeUCI~b4j6hg5l^?fAiXNt z6!GPgZoCLj^VyM(iHHWn0;Ro|q+C#)1g?lcT!oF5gzR6$&BqosK_G$dn80fJGw(W! zg5diEUE!~C0pek0=8JB!4I1>A6{^{QL+$=ncca`K$5_47Q9 z#0cfz$r{gSxY?e@kyu!IM=6BHagf+?@EU&~QmgvRu&bYN>krt2kPR|k?OvqaJqLXQ zV$laCqTz8-d#`oK7YQ#o_OHFIvBUIDi+ul6Rq@5lps&9^uwg)3PA z&Cgohbk=WVxHwT^DG85hD6(_i=)c6vk1UsEY~@jnUX2{6*mw-r)A33^k6uxT(wsRIzXnH zpt*D8#&3#rMM?}UY z)J6(m6oIXcM7Hp<<_e)B7rm`Lpkx+arhKk5t~&vOL^)K}5_@vB6$IfNWQvNi+(?ii zuErOdYGjctl|;(}(r^{_y6UGN!B?S+a0?ua7Nmdy$-OA_tgO)&OYGOwD!Zd>hrzbe zYp13fnMW^}4=X~?@}PU@dOcr+w-xl9p%s!D=A&_{&`y(~oMrr~wq~6juC_&XVxVRkJZDvv zTUK6!FOe{q-5G*PSP7qWzAX5zr47EaGBL33J?XP%30*G23SxiDIwO`q@HrErvCj_} z63(&<@xLq*_*ui;k^c~y@#wwpRl+OEi>?rk^34f)WF&=*NiU5h`b9%)qLK6QJ_QK7 zSRww)1E%eENhs2!cESR@bKnjv$TDb>%1xPN>(Y&7mAp$Njf$<<{gUTh~e*_hCLNO{mO!l>cf{037KyyQ2I>|zqtLni zS%lPj_JGaJHWeDe?WxDewAAkSoB8oRBn`yP;qLG#q9(UGh0R>W+?9GznXuoyW%1ZG z!c|0kOcm8TPt)48aMnBb4^Gkwo218T=hXrW!vT5@8}XlzhP>?*WD#!t6$GC|`D!^% zsf(m~t5O_)N&chJ4fZ{}X9hL21&ccMppUWwlcGjW#D=>G1vt zgGOV0(ZHIl$u&q$V9ELC)j&Txtqe|0+VICzotVCtUR%DKeG!dW^97J>34NCdsaqH1 zOP2+jUtasA>AXS84*$%;aEsRzIZ8$#Q(Kg4QJNVcCXvxwtj=^KT~7%Xpt=^iPK`W9 zw9$7ZswrD#(svbAbJ^*Nx~{?@-z&5%BnaHKZlyxzrY8Wv<;gcJhJ&_R*8c;PWPbU> zt~!mNogID#A$;w-q!I~&jhlFENLH&g&&;iBBa^nB>Vy%G{JHnUoT*Z189rcL@G^0t zPHxXJ*MUFW`qAR*$tT1{RXWL0PXtzb3PhVy{IM40OPM;&LlNY=sOCc*PqWs#?> zHrHVIhtom~1HyvK2xi?06{L!1VC)>VlofJ_8z0vwX?)t7NqY`f;yB}b?NtJttw5;H z@zWQ8k;Uow?P7Zfp~6p9u;*aRNjh&v7i^Y~)!$QCcqYNDXSkQ{+LM0D;xP((xPP{I z+GFO;p;BpXo$&TI42ca5-)P!D7M=J8W< z?L#U{wtwq5Utl8x#GAinlY1lYlf7D3h1HSAP z%gUL*bO`&~%2SdzMta;Uq$aiJ-x&LG#T};G*pDv`2`Tbjd{H&=d7NmdRLIdZ*LcMk z7upSzp72qf_`(3Sg{Wpzl)@aAv)+o~>k%MKjU@3>NV$#cW#lMhRb7p3BcEp>qpW_9 z|HcYlM=30Esu9w3+>QI+oYMfqXn*pS(~enDa`givqBjntT{&T*{=uVUeQI)3gLwfm zx{^T#uR!Bjh~i(slp%>9+?1k31zGXwgcpQYTY{%3uK<82ca3W1!sEwR_kk{72GqxP zFBCKQg&EWhZ6AVLu<_NO*0*s~7^sV_p0<*3#|V4aqbjjwi%m&^qVpxB}{|tcfeRNd`e#!jvLWQa-VVK9k;JrBqH9m7J~D_ zQC!GW8Uy-D@DDHT-^>u1Wz_9PTCJKX?^b~KQ(f^wN90wTntMMeQQQ3qeP7@GZ8YWt z`uNM?YRPK9*S=G+@O!ofJNMTQb~i2Dt#E3V)+cn`!8iAFSrQb$@ko9j7s0`tBmJ(c zzG9?Z<`b1HdMcK30xAlF{oC5Hl!#~iHp$iv&tLOB_xRFq@S3*=xjDV(f3tv)Av>v( zbZ^}w+_qInN<1>;dA`ED!R`I+(S*ym&F6k`=Reaa5tI8VhEv?cd&Ti$FOE|~N}|40 z8Nui{Y;z#v+ z167AU<3-4?Jo|^=R76S}j8%r0dAYdj4iWJe64;QMf+1Pms>}{GDgWdj=;N zb&--bnA2HW6Ft`VN9H?JK~Bg#R`^lQpP^Bhtj6k7{^zr_;Rc;uZ_i`F>m*OCKWMjr zVelzP6SymSeMaUQtiz|2L;^{rIjb=XH|w)JU$|zli(-3DNM4c(C41-o5b%%+bA0+G zBJ^s=k?CIhhxgRAcSd^aaP8cGYGoD!lB?a^1b8MsKViblo>Oa^hPPAN+ z8(jHNdh!?gGZ+Qk|KZg~*FAGciuJY`waV*%rfw^ZauMX<+LAS-H2-F2>>@Mf5S;y8 z!XNFu*DYMou%t*;60|_Fxv2UF*&i83IB2C*>e9vEe2bMeAEo-fG)efbjKr5uB;GWO zGw(#lQqz0r+@_q-yIVT-`=*1zfwW&GmK(jT4Zk-3un zbp-xre9kkR@TILkouB+)+A)YkTXlw3boOGf!Q*fm@lB}-#q2Ci zX)#o(acNvAW0{7Ritzq8Pkas*UY|GWf$}0?1Do##M)^0F_)Eb6)h>`@a8hJV%G7a` z$(jxnu4}?9Xf5=VO{%;#)n#!j)i_frK1fQOquLoo4yc8AF-?BJf0^<~ssgt2(G^-d z?Nya;4UMx|P5Tw_9;;foaF9v(TjmIh@%BOo3UTqLc&>d(^|C#184sld`T#|cZ=roK z2ZnrVZz^|DZxy%_S@fsgJwjdMMKw9~CD|o(pT|eu6gvIs*^NOY@4T#&CcNnKHdglPUd&E^(#Z=fVgQed;h|L&xudT}EeHGwblCOJ@kHFz}HJMEz-BO?bh9 zg((2cv#|WOAHl28TiGhqZd~Y5qJpsR7n9pYbYFS0P)siT4!Vr+o`q|%xC&B{Ng%}* zz`_>|K-j0Xw8N$K*NxAm9?ZhWPMzD_L3vc7T-v((sv;fnmvgM&%eMb_RcOhM|WDjabl} z$p{Q-qvsc&DzymB0HLF~E=@!A9TaIj(t{<+d39M<<@P&u(u5s>2TxN5n^qoYxjS?7 z#=P`%g(5I(BO0rreM8#2dhZs-IY&ndQp8L0?L{r=E5p$mxu>TLa8=FYiy& z$7}@0P0cjW6kyvww5XrPQm7NaVkdINjr_gT{pVaui7s6R@&j*n=%-O7wuM@IPT|Hq| zRIaEHsz7!Sb-W#y*p-b_+NK0{0>t@|%*Q+iW6~wHYpXM6ued;~aNH-~x|o9R1;hRO zf^)&`r)PTNf*OGbr9n;OQ+;XjY8#=+@`T44*HIU4ln-V6;Sf3}I0Dduy!fE>U1-Sz!y|$MrzobkvXsdvc5_1Fu!Jx^`@($DLi8{4eD*Xak zRO!FG>e5amKh@cG*)fg=fJB(?o;6liO9zwV>QM>)E)WEabrhRPK^@uFUqMxPjO>OW z9Yx=Dns|wN^c>vL%x3O=_ci3k=C}9HnrL!N3Y?Bo-1^;zhlaMKcE#M*Jf&4C8vm2> zv=HAy%>zY2?t#Wjpri~LV@JZqOpWdr+|jn&KHq!!U`mOj8Tx&ny=B>wQbv*MEWq`T zhLxY>^w26^9wJF>QL^7Hto0LOQL-kpv+y!{O343v4!|G@8jLn;Qhe&2K9MM#P@UU| z;W>2Sp1ApLy6ZCfeXF$x>^NJJN0e5kDK7W=P*dm5ZYi;1k>ilo&cYdJ^VyL6;y^gH z>@Q2D(9ix5YnG~QMUG{GEUvlubV<8-!tqbS)jksY?}#i5H6JrzMjnyCK*R&HSXGg{ z>lOK0RAZ|3(q#A4l|^DxeC8Y$Sj1HY^JltwRD81+Z@}FqH@XT-|Pyd z%*UiLov#+38e|W+(1iLt=`j)|_$eBQe)=TniSGw`wd?h9KEHMtknu0fIy99wzuN4m z!A$RplL)J;vKadFUF$o)@Rq9E2ge;rcLw;uDJGIcdL2)b660L(WV)8qgda`{wgwX3 zA~(Dq z6FM9|)CXQpvne55&M<#L^ku3aR2gob?EIKl9w%eGnKZXeeN>x6aeg~f4*&9lf(wdN zmM{w|qzZt`!lKT!RUVWCBFU=C*)YFXRo{Ap`P-VyPkSeE4}YOT+>f5^CdGaDU6P_% zxm_sqcOk<7`9&0C&2an&JVAv(EQNq<8Rid=SZF@-Zc}`K@|# zNfSpJ?Cet}Zkx2w!RY4P*PGo|p;VPm@(Y)}J%m1~4e@QK^Ag43>i|~UHgphb+Ydy| z9Y*g120CB4=)dOWm?K&1hlaZSvVTGiY1Gg{V6nhDLO`5xso78|xGiy&d()DG? zv=dk>{K;fm=n^qLcZ6iu*NT{Gq96HL8hPwE)^=H0(&I*fQk`LiZ&sJ&;Eln~=f}ZA z^kv2OlarOlIm`FFdB&BvM+%h_xjGW7;&d!6QFip2a|o8Pny5C#)@d(!ZbBo2OCsa` zd=Kezpi5mNG>DbsTib_dJdrs&F%WC+f?Hq}ucup5K#q*FiG(hQl`S)wl zAq`^KchTybm^%J+ML{c1UDx#kFPNxN&%p#}`H8xu&XA{K1M_LVT&3YHcEd0oEh8e(0U~ z?I8(1LB;WRlIB7Nb=$++kcomDYs{YW-c?`)+VCJ($Zg_Kcul}GFv;BXQA%G`mjbOc z3dhUAB~ZKDUI&(gt|_93%iA(pL>Y9|cPMCc^=7SE_$SjjvpV2jsPcI5;?9FF?^E%A zma4X4cvG5-Bkld@ntPpBa&Hr!vUEI+V4gSu8#LtsQ0 zsrLBIMBd8;3UNQZ#4^NuLTkpG_M8B`)|s7ZrambTT9ZBTH7&!C-amBLyjA$PoVv;u z7J?DMlz(UIR#~vmP=L9@_)UsLeqU~*w2i(OP$w}2e=TJZGIaaL7@=z4rfq<`zEXT2 zp6Q}?3Xkk88CNH_R*bIDDdCa zuJ3<+?7Wj>=XoUFZtv}9p2UlFjgiV`;Z5bd#mn&S60<$(5pEfxcK&ejG;^x9eYf)0 zMN(fsq$eNEu7t4M!7S~Lc8-JrM82bh;&^#>Rs8CGjs!75i0hhkp2`? zoe7b?vh6t4#x97K(E}qcd+-klF`R3yvpwe{!lUQ5SG9C)= z1Z}@TiKoA?gL&aO*=~OL*pq>tNDmWGwzf}i1ail8pCBTt&r)7*EaN+7I z@tfIW8NkwPb;)TkTs&fcmM>KXU@y1aO&@BWk79}d#(Z$5^)?w*HwY`U0oAu;)>eRA z(L^5J0}+(!ar>2_ZFlGGD?pnO1Q}`ypHh9qb7e>wA>IFP7Vu0vl?4Hr;_jjw%EvIW z6Gd!3QnW1!qSs%y;?;_(;=DsQfU)#lb^$$|>Q8^Wpjic?Gq|OpUZV8o!>^2sxRnzG z3$(%xL3pWJ>{9#*0G{;<{4=l)+G>S!E~L+zmE%sp@S(2!zrvr`DaNu||3Y(_c)_B63lDl5 z0M;Pn+Y=WZ9Sh>7fcq3aCXGfm!1lA_6~J3J2R##Y_z#$LGf`{X#U`40H5YL0pJ?x9 zvM}niX=JfF5fnypRDYfhBb#)(CXhT!MEuGC?_6|e*_wk^JW^wp(;}-KSq5X%0UovR zP!}$qn#LO7!6>|4g);U2LY5_7V4E9%1$1hucQm>lO>)>foP|k1m0%8wU^?rwV<-)| z%XNDXVq;K=O|PpVg+J{phK4c{U}5#cW%f-eKuTj`tD9KHb4X!Vp}EL3Y7-Xd9jKCZ z&#UwF^t$5w=wvo^xOzF38BlR#k~P*?E80c*N)wl}WzGsEcr~Y(!&{#)Mb&Amuyg&*1p3I(Y-;|K z3B|t+7dHzsS%behJ|p&+4jpmMt(s`T^yf*riTu~ZqxQt5;`c|{=`IzLVcY|qRW;t@ z9A;0xWV#Js8kOEjUhG4BAG;fsQ|YU<(1<0eRrFiy9Ci6HO(1Um37Oa433x?x=}=|0 z+p}WHLUceUfbC@(nSs8r-PRtfJxTisOeP7(ym)z_(p#1La& zl$I#M(oVB?R=Xe66$O@(Ke9vc^v?pk5~E<*)@hAb{5ut0&*#-C=Y%6Fm*F1z6&c49 z5}ziv6WR0;Vx5FuB3awJXmD_LAzV3Cd#XhDC) zDT5mXeclv)hgwnxqeUONh;YbZIY`7Er35d8&%!g7z&s7@zeJWTk~Uy`YxV z6cm36D!X5m$@@npqpr;TcG$-a;~=fXKP8wR_d>~S-*bUtgZ4dN$z^#U(S%>aj}664 z=qs8A%SZ0s+AWqN!Lx9!N=jYnK2L58ArR46*5Bmar=l|;sZfQ(1IRFhNZyN0II^yP z_5?;9=m@YHD^J;*zqKC2gVN~H+Ocqo`#ul71F6;JA#zu+PxiBQC{1tCzDbHWAQt!C z{ea~#rKoF|9xwfa3}3=fulq0^`y*aXQ4QaNBxlPNtW^y{@-B1rRNbV8#mBJd2p{JD z70=%Q)#BHsHjnVv3tNktG<=GPDvzy2{v#?a;BlD9|r6ScXuD`k0jP= zo{mRIzg*$DzJ9{iJC06TpI$y!1bJRGN5tVxn&ii$IGE-Ti#0^qK?K^q0eYI}#@ds{ z#SH^!>ZC=yyVbu4aki*KsX;(jG?!hw=FHWsUbxO;PFw?yi(*L1=n-3p(*sJ zb7Bte7O?g{NcK1gsedMX+ahB<8L7Y2L&-Q;5M{R38ZdSuS}|)S@&%49D?aL!AIyJFpN44}PNA-6r9>}LTT1OFJzn#+yDS7E_`GA$w>;GQt zOdIzX3xh!C0lCXq(MwmQJ!UdhuC9oC<3$OY&W(v7xG4&w8QN}y^kBDx_^n2ugHR0Rz z5%hau$NqdEL`0den@bBz=|lvo{5`=1v=f&>1%6H=RiLf+%#p8 z;y(4r4=FIU8L_zxSBJVJr0)z4V`3pbwn|xzlU^($*ZLf-*nv^N8lT7yKH{V)MOsEY zyddIx_$QY}TilDEx1(qwM<0BU(e-gXQ85y8tUqo{2~cA&h=l9lhVcd|8eT~qW+5d2 zT5&uUrb0|;O_?XfR8HBuYLnX6s<^Em$nS=>vG)W(X}5E078ny{eYTBL=dJE0%@?%St*T9i$9Z@E5Zltml$ zm^<9+_FPwwkB^Jvlq**q4+QaD=0#Ns%_XaGi(Ud&-HheW_|FfL47`D=s>wzzT{v2l zy4}H0)&lHVS~MJ4xf@^-bT<==>N9JPZmYM`P=S1W;MG2~LBn=Q-x#0PACw7z_Zayl zRB+gZolpB6Xmna56@4#Dcyw&_;?lg+EmA1H6T6tRMh(HYdJAB-rxm5!P>}3|=IiA} zFSneUCm44QHD!x#Qyw7;*J|fUZhHrGeWU^P!LLP%4Ec~Ca4L(V@W6VsY^D@-`% z9&SiG+W=y02V`jS0xsqwa>*-2#g^jSNS>(BF8GEeLr1_+G8=Bhy3IGbauRo$iyE_E z_Yt15tB`#tPryE%^dXY@KTrWYA>2Mb<~I6>+t$Oy^zA3B#typy>wW$9Gvo48WuhSZ z%(-$q^2g(aqwIK(?RT+%ov4Dzf4yq$L=Z~gao|K1f;}X8(-2R|+ZWb+uYLu`6FY`J z`|ahe0pDOl$AbRh#QZ7Sa`IJI2~LKpgG)#Y;TP~b)=+@IZyhF!5c1#MSiT6>qZ|wZ z!;xBm&my4WEBSy&6s3qoZ6e?Xc#oZ;z~?XucBD>o)VuZl`1~#ezi(I4p4aw;A6@;- zik}jq7+mU@DJf}hV3o;En|YN@5Ncb;AxR=LT82-GJo>VSnf7FUgM7|VESa)YX#iD@ zed8IS@nM?Tf4tCBFqeZfQY!F|b0fPitTGRAoVh?T3qKBrlm06jWm=4v;BtHinea&hPT<% zJRP-k|F+Am)Lnjrye;saJ;P|G$-y_z4=j1w1XA7^WjfGZ(UA~76v5>#K>bf z7UOrx1^aC#_3_DHEZQo?9Q|GfuQkMDsUG}mMdeWuhaPk7*DXYe3%9NOGZ^k~-%b&+ z%4M4|VInBm&Rda{_QFbgzB6V0chnFSR5~F}z$eWwJa>aFrbR3}sD?iMaoVN_oM);; z103z^*6!qll!KF%@t-RIFFXb`iF9UYeMex(evq6Hkpj7aD%(Jji5v2e{Ln<1xOQa9 zVIy|7hnXtBIH6b_S$|@XR~Dh1S(4-e+dyxGmvLFl2+#{T|&ze z2e;~r?E?p|$*zdZ*-9@~-G(1EcHms|XRI=SS$l+FB3&kwuX(ha(hFfc_GVGiNmX2JBH9dn8Hox7^+TUWdB%^+inh zZ~i##ayRR&e!zKy-aM*>7xh*=Rc;`y0H0de;#3xN$HdNLK=L* zpFvZc$%@4qXgG=F*Hb*!5GMn%YDZspnA#Z6K$`zjJwV20a(c43QQKJh3}Y7`Rb@E3 zes7AG^=?_#=K4$nzKes(w@L$`}eg7GVihXeG~yN zKiGW`e7+zYwdi2F;z!|;;LTGZMftwupBw!``*A>?b5r3J@9l?hcUckS^+T4X%Zf%S z`1V+~J*;Tg)#VG1gm6n_XszrLDtGofqj#g(f(yzj;Uz+X8a|XppB86xyb5S z;19_nb+Q(&0h5DMHJNLAU!L%fTh((vLlO)>vl~gFoPycrLGYP24}SJ>4!AjcD;M;R zDe{tlOU!H;PEKY7K|H10bGrxAYUe)WiwsI8#(rq+9@Ha0wNR-{ezd-ury^Y1YqTl_Ogm>$HwNn{>M)^-EeDq(aYj_frcXR@0fWhc74MAyklF?Z;c)&J*3xO&>6;0jtl`#blm>s5 zEOD%&7hlNCjArT>h2jMcAw;OIIZ!}z8LFU%S&)?SXSYF?Q zQ2`#CZmk?tQsrNYY$-1V3fkfAE1N$JU>Rou5W4H#$i|PK$$P`lK zsJL8=WoDD4_@y#*Zr$$`#jpUt&kX4uLsxzGYOKfjroJm7cvr(sdSXdj8Mp6sGK!9v zv=PR%3b*T(EPFR3HT?cBUAObr{4?+(7e`;mQ5^xU_oe|FGQQlqYPuh%zGP1Df}(1* zPep_XH~-B?cv)zsq@3_*$)tjPO;y%0njeb;dzMWT0&PFca3C3}o!A*AW6kNJ*FgBp zi%(c1Nz$PT}FHeZb_%8>17=_1#aK63) z`IzK_r$DUg`IFzd0PPg<_6b&m1X^P2viq0^e%)osj!t}VkwD{b!Spi5HQ9bVJ#}rt zE@gpo?sbE=I}0CS*T{&s0ANKEh7VdPdzheHK9LgR2c%a&yqfo>g}EmGd$O8R6MZyj zIh;GSz0>+yi0!+zI3U%kwwjz%JSBn5CV^dI|FIhuBf& z?=^K{jcH?#4oX1ul7L}PW6dMM%evVuSQ{gPUWqE-bIIB*wA#?mWG_6e{~)$}ulwI` zp3nmXczGN^9PP7E*kNHLJ)iME#;_pKQPX#VYeYk2lN1bNozU90$RNUWBwz2^H5x_j zPeAmSKK)HR*iSx32EVWeL~Yu;#XaTNPwM#>@f+PE7qgY;Yqx@S{VYiH=sxBuaGUN2 z7ua;aD_rn%bF(B@YV*kYo%IHchM1$xhs*}vyU(68j5a$t3HLqw3&+5xrF33dt$Qim zFDGL{88F_Z{Dh?B6-{&G6nO^@syhy2OknfPfVh?$fBp@xnS#eQY8A955}BbadAbzXXcBHJYAO41cJWez)+o>C^YJwpA(_+a;D;f_IqjpcfDympilxz<)g7cioA_ z!8=kVz6*KQWl)=nZPyAj>-^%Ot!Mb=Cd&}%)b?348tNyN}5n?E;*l#3E-PZy2_{Vmb=L=za3Y7rKo-6_dWqmT- z0ixQB?OU{55KctN-Q*_qo9VCr8fj@WR0gRI+WUuE@;`Qmar3u|B}DlsDX?AUUBLmV z*=Z3M@#*r8uVR_vedpg6Xu7yMB7!;8VpU<1FuKu08hVIk7v%mjE7)uG^6a&f)=a{4SrX&~-gcY!M z(9H{+WE{ybwqx_2!05?y)nVolcr(7f$c?$TT?Nb@}izFU|LUM71@W!kBUm!x|m4P zpd$3J=m}>)@K6B80SC82Jy?c%=6NK!rI&7iDvakVn)q>8`3_hMJZV{ zXkXEt2TPfGsJ>(EanPk2{he}Z@%B-PBn!1i)F-}=iG2V(&2iR)dQ{2B#qVMzU%rmF z#KS)X+lYVaOceBD3Y;=tQ9MnA^Z)<3QWE|m9MXl5ge!-i^#cfQYBTL~#g{$XJR*T{{UZnO=lkL%QDY zvNtFv@4lGYR~}&=%@Ol*dY1Xdu(i{4-Rzk>cL70tX`-;Ry}&wWCd4S zl=@UT1txe{!%GnB`2tt++R!5*EW>X#)Y}*>V4aMc0K>Ej*KSaiWjj~xdmU>6x(^61 zIH?RNFeEgw?7{wZM%fec&7RvF>};Gva41dH%!#$tX0j@q`~b|?K)1iF0fVBE&5Z_3l3s8UZxoAZG#*n&q2-aChjBk@PU9|IWG3oAPrESePg!&(?boPIa zp7sB{UNCLkYNd)iM#%LQ!OSKvu)Lz@y+79=%gLFYc0MW|@`=T{4ehEfOnJ@^%+8L$ zhiWMNSdjfE=l^8vI~t<;!%-s3R01Py+A|-r0Zx+Df@2#;b~18e2NB7xMA8+ z@9~PGUi~LX%{H#~1Q7bZJ9PIs8w&7D1bB9-SSL5O9F0hzL>4?*$p4$sgOz2LmpwL8 z72NXM>^f&yfB_vsp4{qefaCMyrGGl)Yd!uW84+(H7s(NdP*_*?&~m|XsCm)V=oDA@ z*S9gyPxYXT_p;OX{Ka$2@2HpS4wwG2b@dOK znm7xCwDQva1R358#!D@7A-#vtcN?y)M%Hu{p0G9+&fK(J^i4p5;4c@2 zdYXWL&q>noYgEL4%nKd~g4DfaZNTodh?>f= zdPM_nJVVJdM7yc!ddx*$b#j+h{5`_j7Fp^R*p{ktV={f$%H^l=;rx-Rvoe&2^@he) zENb^)O3CFTS6(pEa~|wDJa|=23t!Q+K(@=LXr`d7z1+B&grWR{u}5V#cn?pvzG0No z+tGXM0xjDr%t{)BM~6}g;|5M11vF{Jxg{8WDGw~g!Y*1hX|mYXtY+`?#F|L3rw;#p zt6)9xnR=}8(imNLWyM}{iXr5h>|fqLjT_zg6tmwtmU z2dJ;$kapBb^3Q8fBEmQ5`~hYW{IX|If@JSDybGlWN9_M3?se*%NF)fS^%h3L!g`GOqqb|s+hgBKrJ(~}P?hSG-R~WS zg`qFFADox1T)#~vwDL^~^_hwoWj_6a!2$dtWe7~Ds^3X5hEgI%* zKfWyb`IXWwu_ylx0u{)NJ~37PJz-cQEbEURRex;}+C+d_t>$jKI zJGX|hB7a2XTt;-?ob+$3D%f%qsIxkVt`!BjVkD3+E>ds!GQTl04Y{a)7k#Iq#*3%$ zf*NBE#N4BJ@c)GJZtr`9u}d+$0fT>IT!jhfFV26HXH9-+C?-vJj^~AvL32p)=%V|V zFHDz$pRL63bWx_)>}bRyLuy4mwoBsO0EI=6(6J)O07XVE;@Rz8ry~5*KPbW|5?wq0VUmRg1IFE$ zs{NN4+Owc(PCer|y4c}?kDGuwBsIPf0gF&5{(RhHMYm@)?q0z>0mUwZM;r=+%4#e{f*-pPVz!zu)Kf`sYGO(_Mx1$LyYlf-%B-DBhcS9rl>9rC@K=ZF*0{oT(h2# z#2g?nJ6oeTyIp;dnsXM^@RO7LFkRdX2!e}>OE)ldS8O)l42_!}pYZE#d@IRUl3)I0 zpcVx@ln&L^*&quzOm}su-6vpNX4>beV*Fex?GH*&m0EOSGOmg2ZRB`A@~SDS3;vyY zIrmA8~aU1-qO`5A z*I2^TYGpkdVMxxY0=W+HT82|S(5L*stQBvOc!AGh8LU(_fF0aLcPI7-ilXsV z2ahdx>m0aF)RRBCA{*~V3x;wLTO*&^j*@-Z7X!@liBqy!-R0oNqk_6;;G_phzGgn5 z<@m$?>HiV+l~GY{@7r{zAPyjnbPO;ENFx$b(jnbQ9|WYkQ;|+dk!}#_?(PQZ?iAiV zzqS7B{p``RW}avEeeWw_ZGn$&y0T3OPJvr_-# z3u`5k;K{DpJ8%2iAvOz?uzDu?ct^~a-&XrfhCA*;vOZbfje8!9p*+jNU1QqZz?+`0 z7g7Lc_eeLD4h?G?!m-GWd1+y8#`}TsnEE%_gTgSb1;Tj|9?mt!W0mheFsNtsRsPj) z;7|(jm)=f(-of~eS}R(J`hXyk*kGGGIF{`1a<5+UVG7Q!O?BGwO)i0y9;Lq<46Vxs zm9QsZEN!KB4D=0Uy#|hYh$pn;)~1A!s@d-*74V%6AlkWOF3&pY=XjKUH5;1YxPTaf zh3Ee4G&*}9$i+5?GIwZ322mdJw|({%Cum)N*FcMpVS|EJ9kJzmZ~2d{7Xx7jIa1gT zQ90>Ectz#o$B+EXS1G@NA-r$abI6hd=Y-=PdMNC1Rb1pZkYZfBONw(iwKFoEa#)?gRITvYddy5kMa!AUzMDfE?-407Q>A~ zTrQ|aWUCtFW*BHp&@fQG^~`)X^}HmcJklsJ1-OU4m#tjN>32iNGLGN~Ph1&+Y({ zY*J4e#c^143$x7%WAqBXE!vicNW?ljdn>Cfq-eIl=ec*L z!aHH2p*2=+?E{*4Pv(&8m_xyD3}hHWFg#1`j`+%<2zeB=AtWTD53 z>_LbmeATB>P|Hvg6db6Q?)L6^J2t0{?v~ri&S3OK9;=R(utYbzW=43`K_5^+G!^VzHJ7UT#wc_x}+O7OOM5y z*7Uo20Y?u#%j9^sVywt_8Y>6wv!G!g6$eL$1a7R42JlbboFVQlA?Ha43%ODTQoYI+&d%#V z$~N!uf{s?(OceIpEYg7VI|Gax&4Gu|pV=AX-~F{x&@LVVipG>pV#7M#%{1r(-=K{8-k4oBRV3M?IWY2VA-9wDQlw~zH$Z`)^SA$~_4n^Bih z$b5pu{Dc=d72A!41rWjuW})a4-j#KLlbf_B2*J}~=ZquR+YN!)iInSCC_6Dd|KnOS zfDG3ne;p&ZGKljGrtl6VYl^SGbmI`D`aCM0sqrC%`ff&Ning?K%PYU=~s)Ku* zIIMCfpFf-&wk=|)Zc!Vxi9%AqU4KQ)R}auKTi{xOja0zgR)HYS{&_vQsyqkP{)bUw z@Oz%X!$JgKWAk={AEO= zdf*odB(-0NCdj#}jCHDy`owkpnOKv5xD;8}B%10d0-GZx-${m;?)EqgJ+9^Retclz zrbk;7?zwaEieWI}r~eH5hh1@T&S}0b#X$^S><6ss2tKHnM6>$^nQ$KY z3pZT^xc{BdfnH8A8&U=<`s6iCe8bwaS@6a+z(5dQSX*FbtGKxTqqRFud27{AlR0H2 zmD?jRp>_^~Ze*HX_?nR2Sa>;wiFQLd{=0HB;bV$BtxLzhAZQPaH%+6&8l^)r*p;vs zBRc2snFB|PMxR$bF63+VZ_k!fOJUi;rs9R*FR#bAt*!@Kte`2!A&3w)QJElPZ?T9- z4azp}93vELRTP3!Z=Y?!6-+h)+l)L%!qz#MN5&iHUv9uNbZ9%5-0&{R!oIGl5{uqX zi((WD)o1@aZ;uNcky98g{-IJ&%uXviN~1YX+=y$gEd}x@$s#(;7I1xc707DsuJzxY z0wQzUY;RQ=Ug=1PQLe(<6GDa|P)*8TOF3leiBn$RF z3932Tk7Q0yE(aaC8m?BJcN5>H6@{_IN#8!>NqJpcd~2Bp^;iPgdGcCN+LXM?UuWDi zX3yDWd=U&BtiZ(JteI4)O|Enr|NRlI7*o9s!CGtVSVR5I{7}3xd;4#yt9Qp+9A|$S=6^?dx z>R&G==<{&^V#j{bBC&8ApcHpnBKovDEnoAfu~TKvz;=Xw+Mz);7Ul)SV}7E~h(yQb zAAn-Q>XOf~} z-uxY;6@|A12`m)_u==C^kg>w}t>tJ!Pl6Uye|OMtyakfWu~E8TuViQ!95@qNXtT;q z87iv+J&ah@i@5ltmvyDar4h^y#%oD~<%YCql5x+GgN%KhsorFbzPHvT4ad}slMp0l z{fyfaAKqTMKLqNHx6?A&*eZ%=$H&1%m2GhTnLICjx!iK>b?jl@9*AiU)W{L+0k>p0B5_KPP?>BXUFUd3sP=2@h2OZL z&JL3Ci#Wk*s~eifT_qoGU8i72KZIZcdz$ZG@So?~g3_VO;2wM~vVrzS2R@`v6Q>Xi z>x_*oG+Z*ZI)>ZYk$-oWJeH~2L^e9?!a3Yy+5P00^pM+zPmY|JVb3~p>Nq(Ju)u`Ut*XTR2Sup+TI`?F`9I;iCWhYH!H$_@982* zpPc0we)4V7Nd<^<%8`pctl=Z0WnyGHZW=y@X2-a>K+Hi*057>+y%95}xG(q3tIx2` zAU1^M`&zzE-%pFc>!HhS819*ZI)gHE?q>^4N;u#ciNhGP3h0Sv#?5a$r%_y3SQrB5 z<0k?gXICGa`*+yn?IsZuJ9D)H+h#{_{a|<^1vY#22kjJle~c3^@#n+H$Q=12Ia&k0 zHyAB@6r|A2u~}uUMZ)WVV@#t3KXgh<-E;YuOXQS1msvYl1!fKAxNY36799O5Wv$KZ z&M`YXJ0CK&#ie-ufww%rU{@fawzf7|;?Duc>dpE<-*FELA8=80mIz{GxDN5oeCASk zX5>Ey40rNLUxM0VKHdIv|M6id2r;|GRdZozlw;oG_UKP=I|s7XyDx}*&p({w1|z77 z9LY47k}rkP)S|uhK#hA!U3thCY#h(CeKEF#O1+_QBN){k7p4&;Ck7Eop>iD&JdI{Q zY5G4bU|aNQE}7zate~Iqvxr*bP^)~iZ$H#^%*#p9`#p5383asTU?KVdx(dhS2ltNp z^d7Jg3x2R%rR8y4m)uaXF$!}BRAwqYkDJS%){zYNLeY^^keP?xsJO|T`e947eb!zO zWdGL@8N!Oh;g32%r2c*565ym7bE7f;Grhaqn;OV!@XHEgl_4Gh3r<61+X~o;2jA=$ ztFoZ|_=)3l;Kck z8ZIFYa$kb8i{|$uZ+e>vO;f7&z%OJ@nVQy_lPlG)=142 zdPc{(gj$c`g-KW!wfNH%FWN8h&go0vqS1!u8d_~PpDbz8PAZBd_)?nt-N~qxb0_Y2 zOnYNtvA=smDj2^cJnuKoP>L-)I(q3}MSD-ZZ(R7sQ%{aB8XJWo`tKw?$}@r|4l$(f z`8E42(mKnJA2eeA!!dk^dZ?0-!yH8&EAR0>(oX=l9^MKtdyAu~2Jz4=X0FW^+)i_n zS1CqZk1OA#F#k81zAd&R7MUYtrrQ4?3AtZTHH0<#!Ji$n=pWkO9Apo4c^TH5y%!&? z^5St)ZlHw3B?v=wV^JNuY~SFz)&rvVZ*W99?e!&s-(38}g>&~WNB%q!5H$0)Eox?W zo!b_mu6^P*^%Nj9%;&9DYfrGWGP6#PdF5ZjWTa@w_+9536mJB6ft7son11z9#3~9I z?WM!86ZNFyR1CqZG68;x03ok2ZaW;Y)Ss>Nlzc~N-Lmg^hJ|odM@nB_Jb>$aa~m<0 zrrJ>ldgMQF8Mpdo%oVymh;eSi;$~lt(>fv|^djh9x$QEDf`Xzz{eynQYXtZp@(ocN z;=nTEYAGqP6}8&11FHwrfL2Rig$4<232YpCVzH)`Ng0HPnJ|0=feO96z?Cay zR?T;qvqfJ~`x+H8LyPjCth1&>YlmbxhTk;^Pj**aa_+1XP-mX65rp`|?6>ut({%7QCq2bf? zX^@g;_RI`x_Kr0y$xO8w< zYR#F6xfy4pMAAv=wjQ}#7UQ)3VD@uT+^qaiZ;;8>j6MKo(2)k!>B;wZ-XgsFO90IHXOO%Y zEEh1+|8=(x7`*b1R@}e@BCWnz3r|)XTm7iYL_!d1L=pu})1N^{TZhSCjx~1gq2dHQ zx5>MFiS!r5;maaVJiO^dc>Ha(6n@^Q$U2jLd+?XQ{7cdRXq?%z+kKW&nN7ZxTIJmT z+mbVV`+brJ?6WM+Gx@}-u|UbKglZ8+;u$t{v@eR$poi$$D~0^Wtim2+ZY!IE9R!{M zkI)aC4|?=Xb;)nWqgo@4R$KkV={->bK|Uf>0z2^%BbdBfM0Pf~3n%|Uj;%sc+ieAf zjR{1rg>~-SH#@&ueY`8N_p%lwUGbsabzjJZ-^gUCY%+}4L2w#XA5um9cQ1u#`4&Pt zsa)=xn-#dtM{h3(DiHwBR6^f{-Vk*5ucGga`Y1&DEjM|PC+=oi_uimp8#!)T>3A9Y zHn4?3a%Z&cJwavmdgYI3pr{)X3k?=*0>x6K(|!&*?4@QydzCzLgtoymnJ}qji=?`t z5Grr}isPH>Y=I#iQL@frGhz`+WXq}zr$$C}sgICau@1Q>Xr9Hw>&)fW*_^@xJgP4! zZi8mkCM~#Ie3_M(SRH@bu3VrSNt@Uk*1AXkVep5B$3&!(U9hrNch+OBO@Euq93#4mSbVr(F47XW ze=%F?U!Dv|_pioV2C*8k7N*vhBH@VOE#jofdA9OHs{A7K=Gc5UQ=Zm5QO||zhO;X^ zAhrpZ`4wO?5F%S?Y3W3!I|5raNk?ZZcU!L3sv_Hnp%t<~#K&t9x_3?pZ#RMbWhusw z-hcE8&$h0q^hS3B%aE;I9y&BIZzTD)(@X)sIpU*TLzm=zTpiJx`#6MQx>V@UP^1Oi z{qsq>*xnSaA`z`khCgp5M|MMDTaMpGAXX@zSnnvvyqUuGO3axmi#V}WqnllrsnL8A z{mimL$xeeJ2wqsZg_W=7_}y-x>M4aj?d-6wu1;`Z!F_yKNbV$T^BtK@_d{8r`NGFL zJ~|TtRC^@&WgG>+g6!?iM8U{DH>Mq<^V3JXHVTB6$Cjy*$yo+8Lw6%su%-%Nn@TWh11^c>V+` zFjSGp$Q8@Fc>gtkZv^MuDDO~wcHzyhu0_=+xU91Iy6M=F)I;o{W3>l~pPL19XY*(2 zW*i2z=URs|G&I7eBdvoEGNZJ-Pn#rTiD+3>@3O~BvDiB66#TlKIMa4N`(IEgkiogu zTV^y_M0XIkd=txF{d#y*9$J1$@5F*%c4KQzUm?;)%H2ifZm`S)?@> zW*Lz{z+*Uw-r&6%uQ>>8TtpZj%6$#RH-4hHYS&1|S5JL1;~LpoQX=O=dI`(7a!6Te zg81?W(#Y(gN~FJsS%RS%yRG-V0izwJBQ}j&1+21Can}EhJOFXU3~6oguUzpY>W>+Y z^VTyB-`t-2U4i{;^H;4L*~Z?t*#81J9bf%>U)a1^Nm!nX>Gmn?dwugssRU=&5UXt4 z`KP(3qfZg`NO#0P_CTOrWJHBDe<-u}w*j2XP^m?=_St{{Ah2&U{a4GJ=+X;O+S}RT z=K+$H)E9s-=R2-qHw6L4SDrE~^K#LgK&u$`q4fZ$zRZD(w8Bg)6q*-la?&yH!yrb& zkX&uNZ+(S>p?KmuLZ0v3yzx$Dgtpz!JktXC$ZOyuKgP@cc@N>$P-u4`B)nbK$1 z(j4ic-vVdCC+Yt&?5v8TQ<&;b|L1uPy&Bb0UYzsTszJu%Z@npiO~%jdZ8gM|EMZR*!P?b1WKe7J{9AH|abuZU=<(nNi9*2=reOd8&`WI!NmR9dR z`<^&rp#I^{t^~O#HB#EYO(9Wx3Y}5`xIoiMsOMKqc1g)0LoyUEHnY94I zwK(z{pib)(h>4y@4eo=S4?_cD?4PBO?#jKGHE%Zh+CAAUvyNmdGXIW*d+@=lM&jm_ zkEgWJ$>z^QXXRwa5DgD=dqzc0MH=yHAOPi5!OCg#271tNaYBr9X z`q6mxSQJ2~1({NYNA&nKGDY9KNjA>|UNao|Hf;V|KjatXUW0yat*2J7tJ zF<5K)zVAAJ0BXIiGWO^ZSZT39Rn+#IItC$!FQTn@bE zNyTMZi@#cZVPX+|P$X8jcy*cE#EEf0$X%&1iZ>{{ts#&_ar;`}dT)w#boLsE6KrmT zW}JovdJKoO!0L;r+c8@(R*v0jqI7dwv?{sla7^d)0F!1p5NWX$9~NTCgL zMIVRAzYA4l%f7k~j;Q2y~6SbYM_T2?hX&@l`_R!vk{Nii# z+Os&RmmMgyl7@EgJFc);i(}Eop|_FbKcuQV>Q7cv$rN0d3_xIr9*X*cO;wb@Nh`8m z*4OHbkIP|j(q-bco8^5nQ6WWsiqj$@GGXF&YV;^^T^jwDMPvdEP@;9NCZgo|yZj@L9j%WiLdII$~Nppqw!6l93jH1KlH3i1Kc4BYu85Q9n{ zS|~(zIv>5aKTRD>SW1Ins2hn{PkQn{65=o}+DU(AN zT+U#JC9*m8XGhoxr#;=_PL?syTWv22!92rf6OWw=-0WL2IE^FAO{#vzFk+4ugQ$q_AlW zbwR4nUMLN@ONszjbD6MKq-(?zG3bXR&x{}?(FkKLulZlkaoR;SKi+u70IOlVdV@`c9q=0V#6VCFJ7{;<=h$b?F3HvA_woB1^}8;&-YcCse$M_MIjw zG=i%e@oBX1&&GGWJP8SX63!MVf!z|F96h5Zw|QtN@?i^7(O9)A#``;3}O2^i9+iJ7BWn z&Wl2BpwuZ(TqfP$Yjym82De#o<8|GD8cg#3N2vGNj#jy3EIW6{vY$efFiWWBxMeGsNmmdg3?2X$wsu+b1V{&||}d4k!o z&ojajbjuA6l=m{{%Rv(?4c+4r5Nr`=IF(j@_!nt*R#h2LG6{@aQ8a#^hb<#M`ljMD%I&GwI%01Y5LlOcj zq|faq&eDty^bn=bC!aH)S46scB!4sr%iS+AriR<_5XmkK^l^Z~nu66VCXsGJiGiUC z=)saepbS&RONO!=lXZItTBnUReZs3kHhDB0X&wUZn=*;cpq`=`Fy~-A&7G(fgrPWi zJkS1V=q3da1_<=jQB*nk57Nj4gfZ3=I1_$80!$CCE>|U#xbzBkXpLh?iG_G~sdxU+ zQ};q*nl~E+MGs`fyKKIja9Qzk?Pw%bWW>#!bI^G;gF)yiZ_1VTE-8MRqmapt~&ZD=YGx%^mV-qOs3SBhh|rUqiK6Q+m98;-|^D z_jZR^i}%0CGHq^o!ohzH+ZonJf6f&HL`70Q;6YMAD?#h3V6?zLP!(gxzY!we%I`lY z9?3+Mc`R_7;6HX5WDDcp($~zSNvNp)4}2j%k@;dQ-?ZU|;F6Ol410|z5?Pt|*9X%; z6|GSiSaI{eA3J`{Z_=Fb#HZIl4Ag>g1Xo}wxM|Ks`b!+QaUujRS4I8Dz0fK0njm5CRUOP)$@se3=HBN652H6d0d%!~CsAzvP7#UrH*Z5QK7Z(~v<<#`F#)gLVLK*>k@Tx)5tBzJ% zkaT7aA}+Z*x5W0bJ6u6kYZ6^FfBQ?&($uCMnns;T0VBW*#@~a0?AJLEHWFY0MkkM@ zDaL&8RC^y|rj0kqS4#$tOqSXIa3}29LK6(U-2wz9d8L$^N>>%9EQU+S3u_Te%x(ab&(tB55k2dr1}PD0z)H18nM~gI(vX*1%W7 zS?um~F=^-+kpC4LS<690@L(L|Hs#{0skn3)ZNa2$;xRW{n08X02yD+BCe|YRK9Bpg zYyeIjy~8g8X&U=wJ>zP4>$G(}-Rj4vcLegIz+GyygYS=sf&#AyxM)<$6j?qZbo|mq zZ?M%}e-Nx>VdFS&hvB$ou_FHL9I@(#NobnvK=DJN%h0qO%4Za`D-lmclS;o$;Z5DY zehzdc%{zCRcq_a?_P?ydmwA!Vew{w@BIze7Y2lZU3ZGXOt)K)pfnkm76vvtgo6ZMT z&RO8&jayhm7q=|xnw5L%!8Y+xJ{q=aOMpAP*sptwL=BBjlt`F2*4%X3(_8?x^;&+} zans1x=wysI$OxV?PlohEOfn9yDw6(rd-}b*=&UrK>~G!Ue>0Ej_{eaEu+>zfEU5pJ zRDCdlF{tK5!@UDP3i2eGcBYPc6I!K6oMLOk?6A1Dq|xsG3^la1@x$4Nbdlbos4BJ4 zP|gJtA<|2Pfoc|Vm&4Y-R1wIT(}W~9t-Rdw->gKA(E_WFZ(L@L&r>Au*efU4RbIf}3FAITtIN1kjcBGGHC!wf zz`&`f4XTskgaI0zf;@s|U1$5UWmiE9M+`NFkYTUJP-ig*l+0=G}pDS-Y;-^sZ>_IX-Z4WODL=Gr|54Fcw%xdWTbwDR3~ zNd8+CJaHZ2$F~ULRQnb7^96UU2;$xj;=85G)DAiL&{`m&=YvCN|Fb;W2FTL8MX*(d z`mL>fM5gRccXGXK*l{70V59d>pcHn8WOM-p-qsWLXBClMb?jeZ-5ppQYqZ!&zr4NK zTd+v7*5yd*$T5QsFT4 z&aL~(bL7jdJonjnFC%`$!Q;#XU%miWrCy5N5iZ2uyc;^fH*ba=bFIG_Qxk$sk}+GFhqcXDzEy@?FgLpFZ|}uh zy5JZ#6eC@6*h@(?My>ad;CF_dp@iaDBBgzF4$sV0p-*ghxl;p(CR8;NKNFj+M1f7* zGM4p~l&6%W0}axxk%W>E&cn)BcTRdpMNq6?;b!By;04_CU5pk<9svKCHIG&WcOV;-ut%eVb@_&K4xRKhGs(D z29Acm&(1;2(kmDAwN=0*$>$+yLhd#7-Ck9c{7L4X&g}Da`)~P7r?du65n78r{fg0t zJVXQ%S|$c_^V}qTqyXh8Xi{(c1$_w2P~^ZQ^XNY_lD`7W@i$ZiB2n`k=ry-vLfgz6 zLmyt5iySJ_y?4klQ}7sGoKx0flCSpC zD`TaQM7JSH_K@Eao=zdW<9x0|UO~woix^ya(ptoc$L|@lXbFGjxczCY_kB1^Y>71A z{N3|kI6ECP&e*WPp|6!q{%Bbaun#Awx82%;-orajvsT38(8P;NOr4zy&?wkyfG zgd!-TJK?tlAVg%@Th7aV1keudpkN!b(Xv2Ja?dj~h<|5WX9uK)ax0viD}_9BzT7{y zVFbOJ*|1!ScE@VbkbvWqvU{^}90U-UIjx5={;otC;DEWj(~@r0f+v=mNf=vnd`mJ_ zXP9dM?pZB1di4{~SU@@*PoLyKxo=Q1-RRKxPH*O|@MXQZ=G)fErFtoh-bO50?Ya!i_gTD0ibZPp()(OU~*x-!u_#x{D zk_VwTd>E(IHItWAV5KyaGCUdk%lMq$nA!VAS#&l-*dqm`=?w-B&>eOy#-Y*|4hy*v z=n)u9;`5BO@ro3dNbYR6r6-*BAn2q5BLM2xi?RNW#q-khrmTt(v9mG-8ZRzirPtqWG`8r3rAt6>Vc_50mIbGZIZJM9xE}=YF;oE%g;G2;N$Z;| zdE>xJA5m-Uo2P6)#-Exh+Jh``B8KRdCk9hs!^ZzKBZ`w=NMhnQ-=8_@LQgyD-(F0J z3<|Z?iaeZj$j`^WQ~>EX~_5LmPT+vf;SA1}0gLXNL3O&1{uIdeO^9 zUc-i0`w^^-ELJx?FZ3!7MW=D=>FB4Z^fta3_6<}%r#TsNRePQ7ZhDj|>x)ehT<&l0 z>-yXs_eafsp;4i%m;y0#spoj>&`;%@!TeOae%qq}fwa~kE&Z)h`X5=5*SS|$S9C;T zFgdPROz@a3BodKc`1!&0LEOo`s18O5GIE9zUE&_nWZj26_|UO&^_#YolN zO(AI)Yk#%xCE-$M`eW@VAsE~4`|*n?;m?rL?*IY)NvKm%{2X#v50Nu6+=961VzD~4 z-!{((Ib|Q4xb1#qz)p+YhL{~x8Oj@Z0o1z*KY=*k0jD?jU#0wdK;AkZkdc@Wwz{$m zW;L?3+FTV^4RennD22O92~yxb@omuXQl7`t2J*K_7ODf6QoDa6wQ|wkqp@ zzaRK*KB_ZZM439ebIA!{W3Lgt5T0spt%hf~o9|5)zApUC@czpeLL=Ht;Nwmt72bNV z+@mp;d%hP0p5y2wL`*f@IeLVehApmoM#LG$EuZG|hl0qw&f~C)f#r4AQ{)qyQ+W{z zVmC%OI^BLhCwIyGps+l?|3R+Exgx`6$hm0=@2W6R;;Xm$YV3s}7BdTc;rp>0YR>uD zNZSfU8;F0R-9Qa@|5-a`XBLe}+-Tz3-@%#DXdd%HC`jTF->RfUl~ja1twu*j^9UI} zm*k2ig}<><$s|nAkb$zGGYu}Y2$erj`di3nwW9iQ1t5rKaFe~$zss3aCLT)OCt4~Z zFZoN`+nwY)D1KD_eiQt|Eka}_q(Y=)!oJ)zPnBZ+>hVm09SP;%PKKyYQ+gZ_?w?Wb zhl9j8vMhDsU$zNK+kiE4RjfcyFsVq6#xXmhkl9Vhowif66bX2aiNrPx{E9w?%Chdn zJV~9I|MfEme~|)9@4xq~C8mZ4bGEc;8JA?%5QxWCah=JHF}(Yc4POgY`Tq~< z@J_LnW-rm$KD(qzx0aX5KFvgL;=u69w9k$d?8JN2vw0!4L94>c#vo&pXF%^PFbXlE zoPMQjPmCPym*0&*=3yX(HACaVYWXQJ7bn{7bri$`Te{XxzOX;}A5bPO>jDM$u+X!) z|L}?QON$&^zZ<^#5cRvm*{-||%^ai;;4(Tlbekse7Red6N8K$kQWq>&rc{d##y~Gd zHMM460^zthTr3!!u$tDXWc=ui#3pm0e8GmGASAvb4071eQnf z$esr|f!}_-zo`6VG0CzR$>2^LUeHguO$VQEnwYgu^y_;Ak3-%7l%y=J#RX*ALtkV( zDBK>Zz|F=0z0C_meL+xy&2b4dA~@9;Xq7kfCi?UJ47XSDGCV^ey*<*)?H0noc{ES( zhqLtM*GfkDB!WaeWq01{tIsl_K8kq(_drGR{V3-JC|XYL%Qn&lZ$EOBRW)UkQV+th z^&2%?n!O4oS%?^uIp{jncegr^%Y5jBJ2r-CB|BR{>k~bsEz}NcrNw z6;M$&zKClgssp(nAQJqM9PWn%XVws9CRxJUd@UVCY^|-ynRP;)&L(%rB~humRvxeF z7~U6G$pD;b7|oxcklU+O2%E?2;k2Q9khse83}hrSq3IwaLzR^M499zCz*(DnkkA*< zpp?o<_>(qmD1dkmh>xO(!k&PDE9uAEkgYJvFOgTf|e$LJuq`Tkya(&yBS|C%hxb z`5BOx@#{uMiw#=&Ve554<-S6>-8b_f33kAN;l0SNI};i) za*3ZG?EDN$61vfrMyO~#Wxe$tDTX16is3etE?NdjcCh0&OWzZv`7OwWe+?D`cVl5~ zoj+&BF`5nQ6aZA01Q6GfkNhM5&hi1e8(mg@NDF|!%~y+{8kbaypAqP(C+7hN;#hyk|)YY3%qXVa|xc9%b&WVv_0nh`Q)>39lAePqF zjoKuEwz))9{a>XAA=FzB)XphuX9+hF;F7-{EEjt<^}{V3u}jR!7$MWn zpc|8xBy(%4Q?glEoWCGmGA<3o2>P}n3li#Rnr?DaITP8)As^Kq`RmS z_gBX^iwte0?gu?9!pa*R!ct1o-A_#+ZW;E~I1D!!`7-#d^7S#4D8qD=<8ZyWrADF$ z#GRPa>NNg0@qdfZ0@3?}Dh7qvRi?dEm^1<(h&>ssA^QG(D$|&n51^wXQE%9_uyHT~ zp32$u1M*7h{`Nl5A&ER&hWXtVGDYi4YZr>J;UeWUXdNX0O2+=mUuVnCDskM?^}j5H1e~Yir+=axm%YAzpM=kG^q7!KdPGj~fJ9$(%!qcbif#-9 z@Alg!1{}M90Ug}xrX}m#7r6*BqeruD%Py8)1wVVd1QeW0Zcw}36AP~`J=uNY-(t}& zu_5>scu2Vv*SrgC?3@u7uE@;SY2c6r?glLRgG8Wl>a3imKLF!|GvKYYKWB?xaX$hK z2%{mEZ*W#4!Zapb4FLuHi_=oB4P4^iL^YoEvuYl^h`DkfV6T(ENPjiE2BZNgpT^>^ zd<_Z44bT4ea9OX0)UcH*)^tHDj~(S^a)w+z8Qyc>I{bsb3cps07+O(j>35 z4s_*R$AX59XhDfmd85#>vRj6qA+uzYx6YrMpE}>VJ)HI^kQixoC+H_s;E{Ac4n=Mf z>vDa7fJeuP6R)Gp%T*2{h6cZ4I+<8)=nHT^K`TN8LdxY>Uh3P#GKCmn_I@7Z>VY6N z1WsJ)z(17;PV3|dP^Nkq4zkPYm>h?v5S#$!U7q4O4&s7w9#TF+)>o621Nw4Ml{yFq zU=WeNp(K9SWXHyZB-gt*@AIyo}Cgr^yHIXW(x$=v;RuDvo@09QkhV5Cl8PP_CB#btVx0wQ!~|LXS|NF_v}CQ1A5#S$ zZ#Ho6tGYF^Na4S;4if|?&%rY<^l!C#$@aoS7$FI4L$FLod@7MePmo}|U6~zVxiF&} z_ecH!1U+qmi_h>9o?xjOUHzwLPBGg5>4s?6m5W3S#N=y!ntxeR_WUR=LxD9?)G88s zIjS|P0ZyUfTj1~bbQ0ql4^#=7kpsBgSaLQPwF4bZ+$o7JR6{+Ls8MhZOJDpNAIqd= z4sb0ioIgcMq_|?q!Iriyl}>Vihto^{lnkA{$Dnb_t$vCJqDD3$8Q*Kb;Hy>1lVpMR ziYZAtvz&&f+Yuj149w3JBON9~+W&_I1bU-t;J{GOOue~myml9~Yg>rghhO}8wWbfI z_@raUY?Zw;OBQ-7xa#0ksC^RyAlV?e+9jeqOYIT#AEhP9!XmxlU{p`d6D>B8b+*zM zKpT}$EO4>Mf+@IOA&`ZNWvA_8PrriKP&+nwoeV7k0ge9SCCIJzTve2%ZhqerlI5~B zm^>zYz*AMi|AkbEN zt3~ay^?s=d);V{mj%Lv!qj2g`JK~DGYfV%>Wt6bjsu!8C`{#1h3ONj8JxX}<-K6dI z>qUpRbdmpcX$TD>f)JN-na>XgU(Q$@^NU}2L}Z;faay9P;7lTbhdG1LH!tZ7r6zkw zHLajvsoBmhH#`Vi{oT(}B=h`Kw2^5En6Avk4KN%&w_`Fw0#Vrt70m1GL3qX?!SENxA^JI=@TVEXYcUzR!W(2G#>ohd`i$LbK8_Aa|qC|$LA4***s>x90t5YC?D?A^tLQmQC;?G`mQZd6!= z%fZ-R1%hmgTH5$ZfS;-1f{(3PApj!BV|*8Zs)ga}fu4sh;Evh5|`kBB}!i0wnL|MvPegoHVmZYpMT z$_CA7TcqdOZ0x(nWKmbp4uOQ~>g{pVdRhBc#0$I?rWqWfA7l%-psRF!F@XYQqVtYx zs6P(?=zddp?e&%Kxfxb9{}-w9fyPAH;6%yn!6UqOnbk7HJ`bw^!h{7r@QWbXl7a;& zwaP}FSsN)WMZE$zk&<(9y>EbJPyyzaYnX&SzwS0Mk`iGQW~BCRQoZXd;&ZJ`%GOBE%3fNLEJXPm($-0Mdr9!B6P(P5eFDZ< zRP$yGs{oW9(dt-uk$IcN?AJqiiJt*;Wjs~y!$4q+j`5I{9Y$?=aq^YQ2qh@rK0_!H zz_^fOC)>OiqwY+;3N>yyZoW?eMUPz#LlhEaa6PZC=V@1A0*{TVXD6X_5=bLdaemhW zO8pEe-To31skf`CSX>MzPX=ZN?`8%o=j2br=f?nubg6_YxGVIO=X@~=S z{evBTslTZj5g~6bxp@<%Z6Y_FE9J?1ZFNXrGZyYv63)2;K@opRf<7u!59{_~gwBHO ztb}9{FZaD7f1iKg3}(G5EBFC2&w7MTJBjkcoz4vM(#5ke+|`D8AFZ6i5q-c`dmO_W zRP2P)+x|AIsjq!?L+DmJ<0w3q+VErogUP?Db@46R`V6UE#5)32J=!yC$#tmtg$~z; z6-aM(&Gv$nlfeqzua@OC^weoqNI2+C&-05vtN4j!eQb+1_{O~B^?%oJy{1E19om=omAC^`L!xKhxixDQBQ7K0x-rmOeEj zffF8XPTYf?oi8;)MT#ob}=;!uOWaz@;4^R?rE?6p@d=d$XyR#xlX_^`Q*XO3OIJ30rhUDqmY5Rh-!WjI-*> zi8QMwmb4F}DJuC3n5o9F^Qj<5u>kxDya$bswr1l%n{~DfAOorCXW_Y&mP}l46;Uq` zVry6lvBclaUl}&fdt`3M&L)%e%X@Gv1%-bSdfQA2@z^23>kdA_2|^v@7rD+2!cW?R zGv&G<;l9xP=D@)(Qv{|`A1yRfjjf8$o>1^diPY^1KNM>G)AHbH4cTA>I$t*pS4Nba zrhT;gPOF~55wWbpePRJt-MGF*c%Nc^Q&SUhF>~oNdA9=jWMiQ7)G^N=p$)#Bzgn=j z*J3N=E2UJ>1ZUT8d}N>70fYYLmHOpYrZd}~O>1`{w9uVL@Za?yv-P$WB;LBV*{+8P zB+1-5iVZfR%m;{nb*3ReA;96p%eVj?ILUAZ@kYo3wuvwL0PSKC*)h<0WhH^{!XQ)h z_PojnP{ecZc`0Eeve4_b)2ri^6#`rzaIU!EVYreHo`l(cy?Qiulh6YyyXvY^wy>vv z$3D1z=g^)J6%Op;$Zgs}A9BL2M?tv;wBV^yK18?#!awBaTL%-dY7U=!aK7_>TV(y) zdr9|&5SuViUj%XPHE%n1rYz+e4_^k3VmJ%}~%i@gLs4E$P7g$W0qCzEXZ ze^)t&!N(OcU%A6;se6$~4L>b+D(ChQvik2d#7;;i$qnLRNh+uz*I4e+ z1~Mhh<< zhE5Qp+KcPg!?)myP@pU|7c-bBdEmdNHLvUfHqJEN@Z z9DDw*=j;9ZeE;j8*Xvf#+jXw%@wiWCfaVsL;RNr<>K~2)#yZVsR5EX?CxN3FQP=@} zNe;O?LEIDuuSfUX9?MkUoI)9XXcwioQ?#lMdKyAMYJ^e_yX=p}O`V?&-Du>%71Wmr znU`;tUt^=8F0aDZn&qsG@BDDXK4KuHbEIPOH$q`IOD`F=|@Y@&6uRA#j_cVZiFz3r|44b*HwrnCl$Nf#nyFRj1gA-=) zSXETwTA$=Z>Uuc#zx|*{2!;*;b|9f0^^?~iio?p~6`^1cj`Y>c{NvdF;ncE0~n zQ3Cj)Yc$P<8s{N;Ca_+Y`bqAO9N{4|{$96^FM(*}HIj*2pLTET)xyQX;8y+_6qW5u zJpsw3Y~b8iusMHTk?8=NU)(npO!*6e6!zvMF=U+J1I?A})~elw;5d=y{{6%SU0`ym z<3v%}d_-0yjX_X0_zt^GVRZ-gFM*&%i>&&uK^&+m#I6K~Ly=88P4g@l+M&?8k-g`B6r#U9T4`%{1HOugl9gH)B)k?uK* z)N=%)r!a>r z;j&{Y)%&z*KJ4m};D39WIa|Q?LIMH9hBPRs>!-sQrRhRR zT=!_<$@{iw3e)s6+%3M7UuU&{#!?;y6dU?}@S|U}#m|qW;uI`ueHOpd3Ogt3m~jYN zrqqgX=_~BYq@+Tc*a7!*Bz|ww5R1O`)#*u4Mk?*;sus<>aalbKP@$nS=MJ|ko?QE|PXcwj3It_n!H z`3QjHr5>D4nZSKt2ae}w^yYRWPtAQ#T1ELzTNj%gnpeWJ-Rw_YWkR-ej-TRC!?osmt<#shDcU^t)toLR_J1qic zW3vnkkH5Nqm7)#%^^xd0)v@F&f1$<^rN9G@fu<6+?ie4=dDUqj?It5JD(*kwis!jb zTt{g;^cE`bE;bb3?VulkLG*1RpYA2Ur|oBShgHrL3=E?+^7^d0ya@Q{@dBhOPp0wK zeq-7KseoCYf8&H6oyri+5-^i$57HrzT^e9$^ zNCI3D#6n6Y-Hl(5#6ia&KDXV@fhht89c91#Y6@I2=fZ(fX<+ zmHarmj29DuHhy5p{UBIcKUo6S9}d$OAlTfAY0X_@JsU{XdkT}J>v-z z{CcU{zwT#2e%2?($BcT(>N&fNeUA;?D&xg!1 z7)*8J(!<1Lrm*@Bo4~fzqPtB6cRqx;JI_3-~9xrl(mk^Nkgi@z?A`3wwI<; zA25m+e|5u}-%;HcPUvP3zN^=?+qA(n=r>#U=eyZ~UHT2`?g`R+30d6k^cZ}E)Wp6Q zNZ}Ae{f3erIWsY9|A32J^47`cOgf*r72~pMAs}5QkNl^cuD>}*1z}d#up&dB_#a? z%7~MV*%HwM`?dqA`s&ii-LS1aP%6)g#0a*h{?t@7*m#HoxN8nZeD{@sf4pq}=EF4a zmg~D?Epb%lJ_?$IR~u+jZAwg-8uW#oG%qD+;o;s;d62q!-)1SOj+EecFlF^)BZt0nQe)#A>yofD$?|#9dB3fp< zNJ<@D-UnY-eXtCsy7^v5WM_0&>Vml7(5Eg>3;i(~{3+Bf6kAb(GcPjpsLywSutI4{ zG$5XO%iCCUr6oU3VY*VskVQ~f7qu?Q9>xlkIio66@1q?i0%y8}8#eFv{Z6ZBxjbC~ zh`h*$dSN;s*mu9WILZLoAk*(y3m^{d$uBW*8YL$zhqW{%@mlyMp7X+3ZLE0Ps<&4)V$WE6+*RM?s*mo@y{y`UBO<@{3U;C59DWRI6oGVJ{0=>R(q! zFwiOZP8T%)kQw1;^*{dyyBfKUnvq>pjH1gHvWf5PSaN^Uz7El;@iBqGA@6-QTqB?U zY%B5KV^!zL_X@=dzM;diJ91)nBOH7T>Cb9EliFH7ab&a*UxUb9>4ts@W9Jp8jEGzE zHb?f&EvUoezha6r)r&ROPulIvLH&pke%)T4z2b2j1>)b6yuYJ9z8~}LXM?qdypJt% zo}`^sqM~j4WS`pOuOTr9KwFR$StG1`J1%GuOk-rGMhTV5e!lF@FLdskNyeQpY-B!5 zU(_<$i9k6-TsJHH_W6?kfmJ2gZpfF`m@3|?2p`0?FRNaCKLApUYE zl8n^Rm{7190w*~2s3-JaVU8VtKFwF>PP65-ZHxWiCs^nXs2FE6Fv!la-hL!5K?>V- zq5nNo0(YMylbS{LPg31bG^HQ@2XfL716YfZ-4+cva)LqB0RGJuYccRo0K}jQ&4QLs z1Xc=>tV5a&*viLPP_z@8*jN4s^T|4Zl&W;ZvaJkDGqF?mT1H^B69<3si2qJeu)ooj zGJfj_)@gDzO0749m>MzdZTi5}Os&WRg5pf^%}y4@L+$}>Pj?TOsHyOFx(nq87ztU3 zotrCR!En6H_`7CBPDngpjE6seQ%F>swZM{t9Tw8o@{lg~!1|xBs5u$$8<1844O|XAAx514V3TFPK_T>JI)i(UR9LZx zb}cV`M4;essEzd#N$|$4RBr}Yc!6xkuLV|Fam&<^sN1M%x0v*SBO9;)l6wf^X5qsa zS6H*3ZvT11>M_~I;yLT)HnjpdwPGa5mB!QR1Z}@kxX0NXfzeP{V0c< zT~Lf0t2`P5#m7+h=viB{{lUvun|WE!Rq5=iYHN<$6~yT?V7Cd-t2-qiIIwN{{gkI`z8 z1)Z`dj}bAv0`0!ONPT*d`?;8V3o7;h9=?aY`GgZiTA;M3^q zbe?}Rl%pv|c@s9S7l9?im=52r)E5?)gJ?^mC~c<+$6cv~dK%LBXMu3O!ET}>l(>Mt zd6mgx4OAYrS?7FyI#b4@o>~6_glgb6UJ$ug1AdAjl{SM;UhImB9-U^L9BD&%bo|d8 zu=g;B04So*wQ}M62Bw`v;8j~2!B?D`)8mG9yAR?F>)s3^K|NqO@6Wl|28L8LWgQS? zGmrZlUOn+zrVXxTi}jjj&_n9cj~+x{zz?Q!=Ksgk=FHU^q@5~|f(nwb#Er<3L&fhm%10R@g1R%-_8R$6i>dQgO+x?f*;b*d|(O4wat*7Ytu7OGk<-9mQA3JQ4+-WJ5s6KC;~KV zjYZC4>Y0rXj!af}XMmtD*5_bdLTxB``Ph9<|IQRgfu|NT=NximAhVuC z%#ZiVMb}p~^~k+G+?+Zb_fnSy(t>PZuNL4Ez)QJ4{WpQ~tA#Cf2qL#YI3@KGYFmP( z5UeY^$2BO?=Y%j5P}DK=1Q0y_v2}CMkn|mn{M=P*zLaZV0Gt**banWpg>dGl#mNyi z`)U>`E#mB?dmpCS5JrX5-=dkw+qJDiDU|3D7w`gnSD1nCX*SGU`O;_4w3g24;_1oR zryy@kk!6lOY9waBZ%mGb_0ENrlK8PMDSlJ!{yzV$=U3n`i$XzNV!p?_t)&WOd0>0F zg{tuZG;hDS{3En0AWWDew6-mb3bF&$70a9l4H4qhFpenVoE0(Nfm$;r=z=f+e4WkJ zvWS201N{djY{D@&s-uh5Wa|MnouVXa5>_RAO;tF=3(mEsF_;u7dAVVJC4=|tAbIQC zBW_~91AVdWBq!gt z7k5B=MJ7(8UH_Omk9HNO2iVtGEWD4lGhy5BhJE^dqbo^HJ4^Hwa!&4VYTuG%2Wmap z=i?Asj)Vl&oKIiW|6uM?Qb$D4UGZ9^PrS2?>wkL|e#NrlHjYs!?=wT1Rw;y0urI0Q>p}6KXQ)roU<(} z13g8@V_LH@$ryRWYc<*r^siNv#&&zs&KKtM|;8eq{3ois_MKQSDz5dF(f6BBKR z<8K!g1vIwV+Y%-dVC=FOMSEJ#e?7A_*|I5xFzh+tj~KavKzIOm5qV*l8oRprDOdw@eiJiN<60yRIi)^?z8vz~FcP0dEUa-)?;BB$&nz@08+dxD}af{N!FE zzDVP4&=_7{yQ_`x6Zb)hdO=pW5nxVP6M0yaIz(bLi?wG7MIV})oYXH+GSz)Ivq!}) zzDV`S#C9-fHm_XV3Hz3!m18P?V3fKmhooV39}wjgHsUGURbYpfpp`7oI7~tCB%c1xtH-IC4ICXC959 z!BPYaOC7>qjYn=K2QP7dWPCygcmZAMz`B<$@<(exzFC})uv`aVWqxq9@)_9~_aGM* zetRwi5~Z)5r9YCq!EQlNeqFP@v|x{M?~+rTbaa=3?bh?B+hyTmn2$M8fnktnB6b)4 zIgTtE_i<7)#LQ_vXA=y5rSoQ1QTzeHHwPCNDT02j68Iqf>ti=wA7m%$$PQjQqIAl5 zyxg&L`}o7>+>@w4?@k<(`IFDVEO#Jo7LMBK_Xpf2M%mmBCzlw=&wUy^-;Cnq<$v%QHBbg@Wesio{e|^IC?DCK z#+nnL-vP*t__W4|-rYNOu0IK}DSE0kp8{~_$nxf~S&*idJk@#h4ztIj*7VMwJo9)1 z;?t+A+5U5c_mjKtQ5|pm`Q0=91QyR7c$6Tt4Oi-wiqDS{RC7K9q>3SR`f9UaD9t0$ zk#&g6(450zRR=k6;>TjvZcnu6CKC%j0%7G@Pf#qKKXCdzF_~!s!yC+rvamSyN{zW& zjy)IG`jOs!PZN zkW~GKmS!@{?_%46$BEJB(aM}<-l^>z(cE7sr2(_u89izLF*E4;v8FqvvO6fZ>g2d? zH7(nF-Dr$LdI5)9yJ|5V!$mHLDAdWY`A%R?h&hNHVNEQ!k|j3VdyRWwPa74O480y@ z*t(YmzhVLbB68Z&zGRix68Ykq!d}AD!V8XX5!-%%TF(G%eqkU{Cue%4`Ng`S@&j9O zqEQu9vu+-w&?H!}S)S(82KR|)C$?l=yR$97S;oM>HW^Njk_YL$>eSv@3*KoxVk}z^ znwcB}DXBKU@$jZq7GKYZPcXKr@6SYtU3t8lz??HEt=(Zk{{G#%WF-{tz|zL}*w##f z8(s$p6YbeI6r(qPbO%=d5J>NEPwFFhbo2r^ohXx^SJri>k zNh%N>c@0vas)Rma$d@i61U?jO>YYvETF3t=QPVuV`SVLmtXIT#R6~&ODb&B z4(I?vT6@SvqD1x-m$AQM z$vB4!-iOvpXnqh{wEV7~!YcpRVb1(~Y}5nvWUdCHF5_>LiyHMWK3jc8DNS&@b8wM) zp}u~h-5z4pa-WzRbC^p0O?O#X3}=^&;Uq54X)GzoIsiMd$z|Z(Fo4cP;VMELM>t<- zHN%KICxa1S!WF4_Tg>=xN1MMDQ9ww?97BSr5!ju~Vnw=V+6Tma!8_&{oMc=iv0XiU zMMGh0VV;SBX5EsXK5;ePPnQ9bUo-5lo!4Kq=$6rQl%G6$ja)l??wBS4s$1wz zq#~y)nZ_Z-?e8AP3V&t#X1Rad37TjGfhW^PgJyfQh*PL|zMWJ1ul1mmQ5R>(UGKR@ z7XpK&rX17f0^O6JPoWZS)Uo|;^9d%_eChjwoNXR5sdH+| z@a^DXJ_60F%Zp$~>pgt&wHBEUoY%$r-Pg*aAE)Nl$%r>eGQ8TX>bd`=FrN>l3uH9c zQi_R2cLB@!f{(>yqzn*KALLTSQwm!MDi`ozS=U!lo1_Ur)H}5a^w2=?bHSAy%Ca;@ul75$bshUzya#0#2?#guO}B z9wL#V>Nc|)6{sCAKsRzS8JhQ%vMOq9|luVdI^bn*0tpU^_rEK63}kb7r2S z(QeKxP7YCuUw%iw$dr%nfV)#EhWkn00knnKA#x%^>kf-O!NMJDUG3W^pzS2ep`sf+ zqQBDhBWyIL{rX2d5*$2E)3_pY=Z13-v*UzsKzA?X-*dGLiVoL7xjL|{xlb*(I?C9y z)G3+)p{-e8=PyW~^kmNdXwQw38 zH@_}jc6~eE)`z5!!R`jQN9OOxHT1$}LOR}tZe#za)chQp>i6k8r{$x#kd~&VUxGk6 z_v9z^>cPeyU<{E$qbk+cGXQ`)(z+BbK~-S&yZ4r{`VKAr&vu-hA}xmHXK|j?EzbmOJqi&qo+O|^m zMO$g+LT_-d=*+4ka&Op-FFtphIDTrCJh+W)<#@IH-ebWA8K#V6X`XP9g5{|o=kQa# zQZ0w%JPH09#Vz!OWkfXaS^+(jgnQqOj|{aR)lArkY{x>`P;dl#y-LQCt;XwJmi<*E zUlyt^E2K=Bzf7v|oG<7jH{_d$1rKw8;{Si6=y5_S0%V|ZW3%W;QIms%gU@5kad5#^ zc%S95`7Oi!Gf>?0bc83TSmiYPQ5wdcqsR%(jxim*X~#37ttS$4jR1~9DkGL{BJoB;{O+c$fh{IG7j11CmaMFR)|jjYo=(S=aaclD>VmXU&fInzE! zY(2p2(y0G6u7M+-ZO0hHPGH#anK+EUT+rsoXR}Jf)Fb6Zs%pqXsae%=jAng|fk$NIjxj)VLd%bWwq*s~$;&gy1} z__39V3^OOOI5Bw~Vi^C&^PLBc<-1l{WR2b2hsz)QqmotEhO2tm9HjG`qUekrtGW;b z8~Pfow0884O~~8GHyCE2{G+HqE)-5xjDLx)Sz|Q39@^?IQ2`<-tiJK^(;;zGqrIyn zy9LF-i=@BT*r~68N~ar@;x?=tAeSmro=C2}Vs?2%A-5Z#Y{w);H_%d1_nV{!1X1uk zH1Er2J&lunr>obrCY@IC@{Mq=*dd-Ar?$n=;z@tHV`U65JUn76DXqTi_&5ajKSCpd zdq-CgeLWbb-sm~Y>*K|4SPhxA;S0?xH)6D0OnzS9cT#`OI$2H3!3MF_m5NNA3M5&6 z2Ze;)6)jpe!NLC}tNM1fMQA!8Q*FJeNwD*(2qT3IK$5Ap^66#i`q>Sk@Z}dnsPST( zOSHlMNH$Hl{yF50;5x2FjIM%eNy&RqV!wyRQBI7b`#DaAPrz-vb1-Yf!14U3VW&9* zB(gDD#ung(;Q+}uVX&_6_2L(iN;HdwI`LkUI6GKjP8uVS`0q6Oo$<>@C~R++Jca5u zeG>OKd%Bi&u_5V>WB6Co3!5x*iHa0T1lZ`90%fxpg`H6ca7-i?8LlWOZX`9;z6*^) zjk0e)^*d8yc84q|R|P^uN_cn!FRlKHgBrpL&ufM0g1!C;q7;t6+IAmvK-)#x_r0i{ zA7;!7gtK2xnREV#!0;uCK6viTd6F!CEfpN$>kB%0_(A7zYi8mbG#GMDuaW z#g@yU`Q;wHEqxI^wOXpL)_axnoLdih=Ob_G3)vMf^s)`euZo%lp(P4?-?+&F2OOE&@A)Qy!8J{RdrdWmDa-=l7#IFn z9JMIt6FWow=i1G$Is(60e$E>3Va06azgprH0^&bK%CV{rwE3pi)=CCDFgNd@4yxHa zg(?@`tjdDENB7MtbCbq;*Jd0{KXJAnfdQs!M1}NaZ^`}&BzyE)%MC|hZDwT+?U{4; z%)cF^?UCn~`K$kL@%@1W-(>1q98!`)CikW`cSw!m`Hy?7Ti|2rSWKG8JdvAWyjx#g0SdYL}ch$Rn_+wGwEu z%Y^3u;U{UZy5xHeStvDrr{(IkbbY^sN-@wQbkp>%MY`5$G0&nDhP-`aaV@(!k}P`C z0J%LT2>!dURs%QLM{FD{!#}FJEM(RFD8$q#oiy5O}Z!+Om=#B50y8Ifv7>^Q`@mDCjen!xR(1p=lFEL$ zYx?x9+5jLTY%3M238#W6S9<4qGKuf>4RMX0LroYkA=iXfO9;beP+u9aJCQqrcjqlf zeUdeH$^TVDo|nt_2ydI_xCyI}6S#U(WmDhXc@|MGOSwCBk1pGT-c+0{n%s0LqB0J} znQq?OG(xES;1UunEMUzw&9bZ&DeJ73W%Zq!I8=a}VjEI&{fhK+GJ$-)^EAjH$7Z`8 z5jrR3Y=Ct9A_)AaGDu7+ezg_YM%KYQ|SWE*7T+kz&oSCHRV*6*aCqU})c#|&tf zS4C0&(2*ga4v$mfyk2l+%!I$!>|?JjlrYl0_XcFzN=d@d5f;f~>Qx}fFdY{kRuK4Z zSrKSGVS^5j!+6lkG;=Z(u&AwlQ$$UG=ZR=f{mKteH8Y7+60z4N2;%wVl|te^w|gaJ=cprrjv>^j#M(Mh|j-_ z3xHeT(zzf1)F_iNwXQC>_``mMY826QW`Den4anr&IGWBY%Pws`V4J*;>{5CM3De(E zmi`ogeTv1kNK!-wJuR@iDFrh1b>~G1#UosD1%Cu;HdR#IB;XG8=7>P=L2}uY0|Fa1 zm3IpdK{EUGw0aT?G{SDw+L8Zz_hJe6!9)+@+ z0q#`&k8SmP7TdN%@Bj9Ztf=CJPitegji@Kj3Tg(%3c(9%&2hYM^*Wn}hr?T;aLzi^ zohL*GOX+*4M#yo`U%A|RCcfh*xHJ5APu>~CuudwD5`kF)oQ(f`HdhD?5zy$PMnD6eJ-8%H zPJx+K+L+;DIFbKgu%jT$={1K9WK68EL`I=bT26mfAl?T3i9oFL=FEd2WkliF19EJf zV*bq&^lb`y7^MCLFtBm9f*)dfrW&DR_X^S47{d6Y4z~?samtdyp7Ms5d8PkaPQd`c zlpV$ah$tM4zcRGi^wgQ<=F>ZAysv=SRXvqEcp<7b_%7>}$E=$Mm^4+CbgW~qRYMED2LkeF;#bo=5Y^jZK&~8@fGo2u zDIjc8^l1W*;8+5@E2%1}`ooY?L!iqVXi@mXI!n9-EQJPIl)-8XdY{C6aoyAwbFY?1>?Ujn4aA9hrJy& zixI({aQ^z2mzwTXUegtXls$Z@S%Xm6v6IGMK{)W@ZPrg?DmPWzlM4oqt)fK_&s(T@D-URGm6{!+vADKLtsZsAsNK+5G<=;skjSw46J_AD?E+-FDG zAO&o4ABsFN5QTTAerSigQnF6u93%oqJ9j zV&4F=(eLW-j%HaJv-5Q#CfZEDjvG6KCI)SQ8Adk3EC?xZC*nk7lgc#1vf3cA!`)Q? zb)+TqIjOD8;#)jtnB9JIanGu}lTZdo(O=MwGnWU7^d(`OoJ^=^ebU(jXmd^Cjc19K zsq}Xvl__mm4NV=Cb+F4<4PuQcCdkMYnF)gyq7oBLmAs3p!H zPJl;a0=qJJmKPy2rO4z&^g7r+=Blk9v}FW8V%(L^9CtEf8~+Vzm}G( z%d^boQ5>=CDeY82^IZIND^m@}$3ES0XCR?X{HFN~&nigw(Ur`Tf4TDET3DLT%Ch*e z`k;n^0?;IOV9hNfuOX!8fps93!XQppUU_fi2Q~4$Mm#}Q_jo%MA$t$f7UiM?Yh8KMl#S}fB552EMVE!;9sxU6G%qd5q>_&2|RPn2h z!4khCbk|@EV4AItv?`Gt$^>0lM)6K!Cea`|N)G;eT7;anU_xPVxDjxp6v=>F6Stz3 z=F9FVMS+Mhm~Eh9yEY>{lxY%Cb+^vAsay=P8w28KTRt8}dHn@{nR}sHc&!teho-0j zf7vaJ!41-ETXu8D)GnyLC}Q9Vf8zq){3bZvC{b4)ch1Wr5KU&P*LOujS1QTu4)U3? zipn{U@@6SOw4!S!68B5n0ckXmha3(sxk+-d;-45XZMs5*9dCvSkT}VE#8n_QR;WYj zLArPm+5TWL%gH0o+DDeMZn#M0!uSJ#1@s6Z43V(l**gd@4?xPY6IazhT-eu06D^s{pS~Jy)YQ6Gw98D0f%}I7Jn);|<uVCaK!ez+SMR}_Mhvh_5?h6rOdxsi)F)b}}<-f&Ky^>T4{a#rsdjHv)=3nwNW4 zem^x^4pper8lQYf==rrNlTQa&r<%m8y2P0xO zN677AP&Tmmh#hb0iz3nh{Awf z)cUAo1l`ChVNn$i9OI2d1}^v@y_2g}5&7BgQawNCLr^0FbL!iIEMy}|9S_5xg91Vh zu=iE6t|1x?0K{dYvBUESw>(RBuuBn}l z)H{R%RiKP6A36_|%YflAGu5cFdx3yJY;y`hP2cpGVAoK5suL9HB?rj!{KP~3#f zsS@g7P_FC2vr`9+H}i*ptdo7|3qNgtyER7A%40l{eO>VK$Sp?HUC$^25>B-GW7?AK zL6Pfnb^kx02W1R8g+?Q@@A*=xQ4qrk!|vNX*=MV{5*%>C_zLZ$^+09ZP%12AY3<0g zJMS(B(S*^9t^?u;d;)ejPGxiJtUS47x^tTM9P49l9f?%$70EejQ(1WTn$;HNmhI4) zqE`J|uFC1VAf#~F*dH29sL=~1Iw%-x5Ofpcz(P(kp$F1jFvMPQ*rR(!jG#NNVGbxk$h5scREln^K7((_r^Wp> z2^GpWcHZ*8xJwt(+8(&8PX@gt(3Y9@#vE&2So@-|tsS#g+gSwcLsmjm-^>I^a$g$|6X)#!Baqv+;g~=jH!l z0i(aEA2T{3UDXx@-C2!6Ql?xA#83J}xDNFF%8V-1OXO$pHs-SCgqUqVIyPVNuu1jRiJDbAJy%_zD{ zPyRbaiBMVuuTPE)OP7*9!`kMiuN8>bWan4?i{gARAJQxG$$7nM^k6F3JD5xoj@c+U zV>vd@k8FEDHLodt=C(Yt{Y@IrTvOZ}>Cy^9)fR3ya-su@c$=QQd9+P59NIxo^cd~8 z@u04|4M&&}HKQOOcI%K9wzx_jteqn#elmJWDSi)hYNWHw{-L-R->{&5*%se&{5$&j zyGtwKp!%)Rd<{m_0EhBYDt`aX+r*u67H?i0$Pzq~N*U-m9;RTt*|}g47mc^k4itfO zaJx1l>wIevbtA?08yir~?Ji^3)U`;3Xe0 zKnvV#k}1|i1AI2S){F^Y*yQM#amgw1po6W7sAlnS7?M3@CZI|AgqnJ z4UA)S{7(#1QX8nb1B`AM2?jWbulBHdzMld;lraJ@l8hk?JuL1q^@r0AvAXA> zu3o=CqiF-;y#PU(7BT=TtICPXzqv!gItSKou5VC>tnRBr7geRpV&6}TPoPWa59AQ- z_79W6>r(nD$}zCJs=}b{1*qU;dc0*7PQB(B((CWOh#{*`N2yN=ovfFh1+TROp+)2E z&5KpV?VJ`A_SmjQg03>v%b40|k0Yc7o4Lb44tM-+x+S4*{O6D=H_l}znojzpw#4-y z7&q01K|Y%;mQk#`b?IZ<99YM$#X|r?>ehXgHN0F-{h`~MAGA{aLsBFcK@+oRGw!d- zJIX#=>jG{t6tgat`=bjK*W}bJJTy>jq`M&8^QIiZ(s9-C$>ye>&m$$vdo2ia$%3S-vmX|`&x|_E#$l0 zJXc=0y=n2p3o@VNA$w?hJgM;*jTkeO#|Upz$PpAF)nRxU0A-W==f+0$e^26 zNI$viMB$$I_zliM&;+$j-5WIzLZy+;lM z`EnlbW2bDhB@`aPXj=W*yHmX0p6v!Qo&sg1#dkqNqz&?$xM{6yIV1inrG><_l?M6#i#3^Gt%D;Wrs zG0uj!NR%CSA$jU?#*(~=&iHzEf6bLA;ysXngIhWZe5s86w)ILH{GXkz$N&DAQ@2|b zpiY>h=&sx%O0O>FuY@p~a8Yr714SWT;yR2Z6LI9|3PN{_#rq z=aYRx9R;F^R=&@_9KC*tviXMkeLk}5M0bA8&z`oqK;zi-h1++xoI$B6@5j7#wJAu0 zrzB%)n<%pXok4=<%(iVLQsHzhAGVTwlRz)O!t{*AZrh$&U6DitThT_O7~6I==u=yg+7b%l?h#k!i(1c1E z16!Mu2@lbmpTvX*6=v+m3K>gDSBCk*%vfG5{xu++-}vTz>-lV*TMbEtnZN@m;sX!t zm{Ofq-|z9m)~WHq8PjEPZN+6C%#`&ku)99@9(Y<8(|tJ~A#C=ckeRkliBhwpE)pN2 z+cbH(z)Lq13%_O=eYrrSh_Xu#kO$BUo`I=W(ilDF7O1kr(AB3&9kP>Vpl02Jc~x7u!NCyxVT`jRV235^ko-6OOurycZ0)iSMaLTvdCHwBNk~{NQ76d) zq;7#f366C?kt%Nj)Dqn)rF{bS7xYLN-@C{a$}d*otR8T#c`MG=S+>v{>uiNtTbmIr zBV^ha0(-vUqy~zmO-&akdEEsE5MLAv2^N^K_4XCC_%DNTIr&#e_1m7*m%!a-IGH{j zp(c*5Ro5Uw7Vg?j@abkbj^HWp+T4h{;x{`kbMI7d?VU(_mCA-lYCa~xs#c%-8FdeJGG%@u(FX}y!lIowzkRx} z38yjr>bk|X*GxOa`#D1@P9oHn+#pU(IhHWSh16N*=^NAAsi!V@s!Oaf$p+vUrT=$~ zx~zUEgX9HvU}*OjPCq9N1&xdl{-cS}%tqfdez730PU1%5PLW7XInm(hk|4%vXIS2H z>5YX%+^#k=C3Pg|*(wGk9zXbimBLk>RM%W1j2V0uI2!9~RRXBupA=ZN;szcLzunYU zF~Ser8u-zf+=??GEqqHMI8?uz|2mmuX;ZkeI;npvE>S04@U3g;kEA#b9I5_$A);ca zFipfQ*F}67J8xP&@B1N%cA>q5p#G{~ER_3cHP;O~aj}hn>nEbqO`Q@`Y#-nbS!M!I zF#heB9Q+M_hCSKsx{evVj&V|j)O?CtOUQ~ctYdwn?d-@akFk%s6azbqx97e-PvSP- ztlE2Th#q9U^?WJi*7^t+^oAuu+bOSKrHo*glBWe4xWn1u)V>9%I)N)7`u?g79}+?D ziQX3as*8L9=-BV58FQfhY&y5=xZs!;*Ioo8gx%ye$^1Fb3Qijyf#CFYxF+Vo@r!90 zi}kC(%G_&(WzLK=(SuIMDTmP3IkMf7 zi9C@M%Q#qbbe!GsYUZrbmf(FI$pTd+aDX$UodqwvI{r-E!J`upurP7@JsZHt%BD%B z+BdPH?Ns6yMurDF^NKsJjeUWJdGjWP3jOZbXB>=cR`xp&aQ}+5@Am?A-GjWAd}A>44gm2E-k^-JpSa`W zZZ6eCFF>V`O>^VP=MG*0L3x4^VaO7Y&pV@L=mWzzjUGs^(RK>OD1=+@b8b@${2aK6 z$f4c$%YyPX>;D#J+;q6?WBM5q)`e3z+ngDGBUE2Eh>zdT2p!TId6EZe83Jd>gX9do z80=~tqE|RsUV%3qfyMWNSUA*?>z2<55#DkA3bpTvMR}t3WtCAo#oQNp((vT0`s6wu z)EHd)Up~8(vnlGTYq33{lk!T|7*<=74Kj|6WAYph$TB!xB zu(^A5=kLzy-j2#+jgcShoEz(k%m0nm0hX=M)s$&BstT?5*MZSmN-N?mIcL}e67MfB zXZ(sHcx>8g^%EXF5c}XgveY`8-#Z1C6ND=I#u&E!85VepV*=cIbQLw3BVc6y=Ria= z@!qwa7^a>rl!9J!N<{9dynk0a9(Gwu10SjAeM8e4*3 z5QYDtNdmQ`Iq-@Y^&)V^7ntXSiHTJn2O?>6C+7hy>H7R{dOeW^%xm4E9#NWQ*38F~Aj}#b$|F4?>A}R7vBU4i+QON7u zK!+5FI`OoazJt8(Ti{3hPtZ>}xbsjS8KihNHH;|SM;1R`$MFEUqcE=2wG-4?>TW}x z1%5y7TZ;TRdwwQAjLB>`qe1y!b|M0SBbKCzj#ymZSht3N8*aB>=v;tlfovw#;&eu$ z2YauL2{^8%{J2XxivF+|jaEm6Sy(oexB)xeyAOomZp0Y%s)l$l~ss7+j3ar;&J ziUts>34myTtX6s4l#gJHo8}qJOmbuW57zf&58ML6oOfF2jZad-I^#u3$1%uLU~ank z3l&bF-PEXyI^eeci%^|;b7H{QR61wbLp%FRCmVy%<7n=Mxu-rwwldbUfTd>!aZmZ zq*|lZmZ*gFa8_8mGaVSbOLA?qR8ii5^kfRjN9`Mt;H11jABelJXa`TpyR!|*|Iy|D z(`Tjdbo)KZLWM(5Nm}d5v{LN@r30ZdT*WqI_|S{~VT-N2fm&TqyL8mI1hFT(qcU^hA8WwYg(!35OgSd zAb&8tPJ@&XH+py#Xn!ry=ZU8=!_sX>9FNM>+4E#KLEgbzh36a$0llktK7IMQhklBT zKYqi!0wYt{NpVTTTf}^FZpXn!xQzK)4G?MWw!1R=?gX9yxTdRka}vt13ks@6Xtwrb z?K}}~I8UXA+?My5Y!**j~pX2?xRrp?o`;;0q{$d$3IhrJ*sWD;OPCWYUsm{psMq=ihy z$uWL@L;Zmr^UxE?RtgU=HW0847 zW&z&&4npF~?38{~P?94avG`_bhTWPSZ4+a!goY#^RH0MDwIr@+cowI5)QNecapYek z7j)xDfDwI0_&+oNSW>`!CpRU**1G&yZ${}2Yb`;8VF;B4k+@AiU1+N69{#ngL9+oP zfJZ?s@LU}FtiA{-Ukvhzj2Hkv+1^pbFTzLPU-;R=E;y@I$QQN@?<==Ndt*S3EE8qr9=Yj@V1fmY1jwv@9GlNdVRkPD*vM*gOF zBVP2Uxntu~Xe*5ccP1d!itLv<|zvD4Ngx>$w%hS$q|;YZcVZD{`Ave zx7f27yaFf~8mLAz#( znKK&rr=^-Mi3ICGzXt}pttoRx^%r|R3+3u-w$mMeT{BI7aPbxYq8ydD+l1Y_uKTA> zfb{oH@)yz8sNFx;kL%0bAp4N|W8OnJp4GMpps5Ho&+%hloIG3TKNzxKP5%;^80XBt zlSQ!KU-w)m_zY>F^oMl(mD&j3cXk6#3h@ESV`ESM{oEdrPl?Bm?vLF$ETVj}`j;<} z2J;SS?7u$3*cE~h!FLd1JEW{;;?V7qg3K{{*l^Lo7$^aVwuf0hib*2^?pPq-+I||` z{-ror2_)~P05t95Nk9TWDiXn zmPpwx3hv9+g#o3y4l8QTx78;E`w|({!oS+bj0Ytqi&LeVy;zwreJR!6%Jj7Ad{ODy zAS_sWMxKWd@s{L6D_=&bmJ^=p#Y9M zHu3fM`7u8RS8fIkNf*cS*0PH*?CYCC?KEDIC6)O#TANQ)*x{h@7Sy?PvU>*#CO!f_ zSk19g-Gz?0K+WyHt7CsN0qgCL(WWKF|MOCG-&s01iguJ;jk!ABr3Nvh^uB5y6-u_~ z>+p`IZ7~9h{@^aop-){sZss-GGw1@onFhc(TSw)eW{~D{7V?;gY&?Nk8H0C9+kK{M zp~Q$2M7`n}m3@Vt?Kwb3_%Ep6s}+--m4rz& zty-dkp2g)ojOoK>)M{zHDKG^p?-_#MHKQeQPpF*MZq4~_)^(W9BM|h zN8-yo4Hv^mIEl1z=G&ESULEa1KsA8WhJo~FHd->q>@k=t7h&(X-){2*i;(v4d;DuMbGJ`CT*A>z_igk>G~Nn zumo`q+?1QyU3Ujdj3d&eLN>3Np!3)WbSFHoE>7w7c4+19QERwFl@mja2;4LxpGF=5 zSt-ul0ifU@eDdn?5K4Wf_5!8mU4v03`s(YGE=OqgjQTqDdPQ<>X&ig~M3k2y zEi)B;$eSwH)+doYFVxwarAQ_mufSZ)>V&&xhc;E>iEfAIKvp@x5YQCsnjg6=G(AEH zc!oWz4^c>GyrHjIb*+Qj+zHl)1(D(WW)oLdlFT|&e*1l)^h$$gZki9reD<1OI14*> z`G65ZZ-w0m;Xqi~a>?grSEtS_G1cYat728~+^+MQ&nl|GT>%m(OptTS*CMzDtm`l+ z7>|tY;vEpFYZi4|F6Ii`JCd{ND=A1F#&azR0+HIAKepV7XAm!Dk_qlnwNrunb{E4+`=RN9~7O?I_Zxp`6Cp3}} zOf5wys4v3XxVcvf>TaCnOJH_F030umw2Eu=L>!%AG`b{|8H`%z)N|WtuphwTSq8W$ zItd`WLfG6?fy#;fOyg)1dtb!$)PDVr zaDR|!8I8Cr9Tob+{hwKJV$6zD!$BNlR`>Z(t;-LZ7ia!c7&{vtRFZT5&AM`GaYMVL z;&k{^uqaz+=0QiEr1E)q`;GSWi#puaO#n0L1H}`q?IC*h4-f0_cUpG>6#AwyTZDOj z7>eO0VG22VMpG)wb&_VmpZx?lxn+Y+{fjNTEf6Ty6G?`HmoEHoxh_Mg!+v#dcxDye zeqMsaVrauFIO<~m<;~6IGXJ4tD}tGO=B>c-?076MWW?iHeNd4yCvm>UtVHkOX*+L& zvOt_UvWM(j%$LK0Y!aopRChqZOZ%-Rse16I0V#rFxSM^6tS6-8GIC4ydoNiGYmvr~ z_w1i+&uKo}wJkc+wW?dImZjO*y@6QPPZ@hNnBDp=@YhG){7snhKw0Nz#v%5V9~0Ra zcn61u{-hyITAo8_QJ2*QvDe)sn|(1tj3wH){r2sWuo^rooZkGx^P2}6COVO3x8U6M zZ+Y`=4~C8av#~W!Qb2Ejo%mLe1^Wj<8qqV4y)Jgzi^u5sGBFt{^9>}EP^1d604zz{ zkm!?Y=-Nu@?xFMJj}l?G_PD(~R{#)B2$M$tX?yM2hHv0TIEc!4(r-v~XV~FW7Y_Zl zUe$$yn|b*V7qcyMDec?&w26KH-IpbxpNCOe6lf;L(eO%3A1KF)Kydegrgq3q*3PAk z^ts`ze4G)UhI56P;f}>B-k9olIlv z42{5o-+4j78YcMb5RTGg!hfyu8+wdJ2Iy2F&3W+irS;bx$lBc#vuwI7cs)7-=|}G0 zk+pTe&~%o62xx@oYqHJK6N)}`quSugsHxIwjv>{FHuvK_8yyg|tIx1ab7L|cVebi( zna%HFv1PovX#6RKFvSYbz0=+voXQv;?l3GG^u^lVUumSO35S;IY;jVEa00}9yFIwo zzN7q{eP}Sb+rdw*&I^)ET(<%75FAD&-?3uDrdl~8zX;n!lGQE1Fc)l1DECF4SaKAz zIqUobEu`>dDVA_T&ekT~d&*(6GP{ExJr%}Vj58OSopds7v2C%};{3I$eK^F4$bp3` z85tk1|KgkFgqO+kCsn4!O=gWtl0B^pK^(0l&_Dt2$^^4JUgJeLfrl}n42(=2v&Fr4 z2$K3NTeEMkzP;@xNz;2{*HVz8a)?YurrOT3G^|Uj-^*u>pvGVvZm^Z|<}2P|utxL) zNPrs{`DF;t_zCPDAKJ+yjIa_0oQ*fy)?&BKWovJ^`d%)qhaL%*G2GSktU6r&dF#2Ty}as;=n zN;PC`mHm+QHX+VOt3&yT_HHTIfxY)*UPT`JIn4?_ux=wiQ~Qv9>vF<0XQkU!gIdsj zR6=zG!#e?3OnnLcK5qNIr^gIs$g!}&L@z#z$>#s|0u~#2%+f9`-h4Mx{2+NZR>qnq zEGsxKtaOt|K!?f%)@T7!Z@h)TlD#dVVwGtyCCMrX8qk74~Sm`5+DOoA9T-;xcBn33EoU zg&E$M4~hYES5!qycV42;ek!Y1o<~x1F2gI>@?72FO`Yw)!dQYO1I^`f3oxtl?Diu^ z1hZ=XYu@FdF`G{E5^P%qn7rW*PJ0~Vbq3NI_eJ1N?uw}7j)6MxtOB^pG%{g7| zQxhklR7MZiA@UvcdX3AP{F@Z-F6d*@&fonxZLSuVO7$@YNQ?AG>I+2*xB#Fwb(qelNsf(;&om0vy@gFq`Iy1i<%FzUQ4@POY{C@ zqo>7ooEKjO%GgjU`^1VkmUIqmRb*P%esxs@FMB(*5Z#c^(#2eWru6ul-y7$?1G|hR zEcx`QUcpO}gEh`%2RmAr*&MD$3r#v7W{|F&MoO9BJ z4)HZUJ=J+7$AWnG?1$ocq;-3ucCXYT7He}HVE+m_hUDPK|JO_sc^KiP8!XkVjk>5B zmp>CUjZ%gjJ3Fz3aJu^9T>$~VL_h5GQ7_D-r3=wOz;KGlLb)KecX%egqIzUAHJO3P2ohwF+@Lg1vZj68mzc zrT>IC*>-&)OX4fxZLlBqdpw?piJPER_uGEM~rhu^>7Ydp_Eg|8BdCOp? zbUUM?qvm}(MZ^uSKkSJ()JqX1i5PI{R5{2WR65Ntpcra|Khs)KKkzShLt4*!lnKdQ zX+JG-2oyLq?+A(Glpgahj%%eGNEcw=g=(KP7qOj(i5gChLqN&b2Hj^B&-zxxV<9^fJGv~p zeYba!-kk!`6p8(OGgY}O@3YG=sWHr(G4fRdXe_m0^p3b>qtqqgX$IcYlv5+R$$SxB z-@e0i6{{Pw8rvA#DDiox37U;SWRugC%6Q6JUj*JIraXU-Lp^Y zsC8VCA1?qdfNjjP__e_;%G(dgOMlKmAzIYrp3S%8pK)DUEk#UW9Cm2|6&~)NhmCE9 zjO$&bmMjDseAao$$R%u}d^vTXRFq~`1hg;!3#O7kt}eB~kea350b#H4v3^`h1+ zwZ6Vi>UoCgR|Sg>0ddX7pL?4{_+!r|lp^t4{Q=pSs-9Y>;A_sFS3JZV_49rrKYTKz zJB$lI7r&9c!mlIT{Yee>Zcq`}`=3q)PA@X~f(Q3=l;v^>=(NhTzYXUyIS2HDcRZ}v zxLEJr(SKVQri6+^C^!TtDk}2$>kyA9Z;^etvg|6m(Q}gp`@!hRYXXblPP*Fv25_w+ zJH%doCEW`xxb45L9`SH=xW(XJ6ra*B*>b6=?K1vHzgq88_eeh-rEhy);DrP<3g_&< zdYqC|D0Z-olh9_HWfQ}mT-gS~hF1jT3Qzb87@M`Z1i8-)e7d}(!14jh3lW#GDPOR2 zkNeU$(fp+jw74urfaUSzH^-=tQr^_g=SrRZL?nwe3vqJhEB)EQHYhoRY?5R-#P$LL zPRe-)o=^?{7Nh-8he7598EceuLTFu}xG#iPXs%5^s;F^C?l)p95(ZT+jUQ1;7OiTP z??z7}{AE_j?YbC-`OK&VA z!)Szk$R%Saqu9Gt6K*fvylnB$@$U93lv>`AJf2Dldq3+sP!)2YX7UN0W%@fFFN%8) z9XJV=STT>LB}n)1>|Ob^E`{7;))Tn7<_PkY**4V7v`pChakfd@Nn!t7dEKPUBl zUeEP`uf+X4sLTHq%~Q`Y@FSK<$I$RsLEN_DnQfgZmUNrQKIS>&OZ#R*G-F? zEXWFa&ougSFqQ-941bQ}IQ8AvGpG@KgMk z7o7|yT{77TvEq_2{VxeE)UlWTY_!%-9Q^cer2_|Ij?Y^KcG3cS<=5Fp!z}yx%+_kB z_cdNPj{DDsRN`GK@IANAIaSeuG~?{H+C2yst)W)LVNk_59F8s2LEV6&+-lq|Z82X4 z#}Y2}PKW;e`?m*3$hpDALz#6(5ouGDhr3lSz=e|wz?j0$757#md5Mw>-+!JEGbuN5 zoq8MBzwqe55C>lm3KiRKhg}34iLt==p+zWD1AqJ~sO5iQev5$P*%9m;9R{V4d)lZ- z>+2bxgLW8wz<%Zoyps|xIO!FIfE%BzvExHjBvh}g{t(1#CPTdF^WZ2rL=jGvFaqHT z21^GKAQ=u1#=^xxaH>Net##DIkt%lQ8q2*pF4s-V``MT@2c|w6`eHJ=VH@Jn$l@Lj z9iR|J=8WzbjwOB0XHEPTle8PNL#OUPFuA##1`(cLbd$BxEq@&&)1?$Z$o0qIT9-?a zbfC`i>W|iZdc3-Mx>N5>XBaU#O}tO1BulPnde7P9T_H8tpY~Bp2V9&RmxB8MZ9^_`>Bn%RPZ3pu|5vBGQ zSlpu(WO0BgtIBm@>}5HOKcX2DLhw4tl>=SFfsd-?FhJFLQ3nZn6g=O>?{t5N5C|fF zlc$=yLPeS$kYhySCp{C`#isg6?_L_2AlSj6f{bjqFJhm68bKcRB%W<_R zedo|9t;m-cK9B!VW@}0{X4#&5j8H^UcrN4a!%4NLqX5T<2$yjcuX$8No}6*!tE8=l zbb(&VQi@YT4w1&BYM2(s9oLtdzUN`E8;Ug5*r^z|uFc2!04GG)e=jx4F!Vb<{~kH+?Ya67A#Rlm#exfNf+ z$V3@M7j@Zb+P`Nr8$~O&y->|^U2-V>u(s@{+;XRFz@Iis#xFkdVd&rS-YTe1>+w%Z z!|%LfC3Qx4kQ?5@VliT2Z*_Aaj?$1G;EP6dE59dxA%3Xb2Gw^@#x_{CCF}wp4AOzDy(i^0TkZENdINk`gXb(;-<7Q%+(N`pxLdabJ!S% znT~sfkT$+Y&Mt}bqe6n@mz{t`3uZy_-2N`XA;VbpyF(+fbs*7UmI$-2Sgw6lO2+Z; zhWbc&tDRyauZ3XXWn1Av6N)P)udvI7G?VJy&r2s{m0D=Be7fmC9rYn{g#B5KLGf8x zliox4qhBtT4;VwqX`=2Y7T6%E5z@a_bO~E+_R1nU=R$7iqJ2++Doc92%v7`80>DyG zIJbq9V?dcu0v@Z!ziT{#Pxin29^ISQ{>!1A^<; zGP0o^SUE(+kwLh4oV>FoBq`<~6cQL@?7w8C@Lra#rdByprgb^&aKI`gG`#q;*Xdcy zUlM1Gn5=XHxk01rQg=%5OuC%8ccKux%fZ?AthX}>`wFWK_wU}_=lsu=C})w{j34tq zclRDFvUdHyy#SD2)n1VELcm`vVg-Nr@S)P$F@u$w!(rQOcj$x9xaz|xt3tK;1M~-j z!!kKCVZzf6pWpNH*b;wl!ypuW5pT=&3Yi0#9MSQSL_KU^C0US6<4`>Zh^5U&ypo$XoKB>?FN0KnZx~_Je2gOY~ALmp&U6#z@G=B(dV9gv&Ut>D>eo~U$JM6SlE4Bhc zFXk=r%QP-ZVa5Bs08dE?m5Bg4CKlq1CFM#cY>9zU-E1T?v=fyzg(Z&htO#UTnZeiR)Zb;e$2C^$)GfkW_r|`!H{l%xk(3hc08h;QrO$MQJkrS z>h<+Ow$z9j*HPOYCslHl9EdBa%tY4%mndbfB$kyl|%F+nDoV| zI={rSS(y)%e#=U3RgjT;%;}M|>UYHDHN*GiY|Onh0%=E3A3h6OGJ5&f=P1dvS}-$y zNt{*&EZMXvfpJz51wU@=MVyO*E1Ey?iu?2x*{aXT6+(byHaYF!jz6KyX3qUCtOb6$9yh|seDhpF} zB?SezX_&Fq&cI`{Ve2{BkYV@^134eZU7f*r!p~Ha{-a0Z2h$fiuyo~h2YdT(t96*_ z893rq2nc@kkbyWFj8&CK$v8T01x78-uvP1@h?K2vEF3R=Tc2H^e?a=nCs48|TN5qCpnU4xyuTn~>E3RRMLI z?8DM-{%J?mvvjYRM;!Ul>L+ZZ5K=PjL>W@@M1%Ovt6o+)o-}o!<>rq{KpkTgI#|ai zlfLiAcqBaIc({t*_g7rrNp}9ElDYBtZ!l3K##H{a0+l~8xoD6~1vsl`5W-M9;WCMB zL0um9I!<3AQcAxLXvzzAiNta~JDYwat>1vSs;Xar{c(R5bsCw$qM=DpA+}*c z(B?HuvqMpxo=8L@E)Sjr+ingAiBmS)_fQ@+Swr@v->(WQ!bUA$3%}-huDT)wE?FlL zu;m1H=TSJO`_l09pYekU*InVQ-MN+(yD1zsSy6fX>gyqICvbY;h~h1QLv|x9eE~`} z5TwY00UhktP{*D`S1BOrJkFV$l$pF_#RI2Rt$C+V5y#iZq#tq1pjHACvstDmOKT7TR0mMi>5t z_ZlRn%>boAADM1rO(^kHO$DkfbY9(Ds26tiD0~lmGKQL`y!Mw^ z)_j7lEUOn;>LcU2sP7m8_aGIyZCzOB1eNnCdoX?a2s+0LE~B7m+zha6i7eKk1sIeO z^f`ok7SLl5aA1QSG7|)r352 zuB`x+kfl$4l_M9H4DSbfMtPk*8B5PECt5wWO0aq}9qK07ajqJ5_uXam+1XkD+<)|ElX+@pvW;Z5ADikMP<#Bl6I zC^I+`5`s3>-mw&QiTg@l2;trveNij1Wqv9HqhBs>i<4Fs%JCej3cn7rpD((=T%#IFWE=4BC%za>C_6}5!^tO?hI&eCW_46wu*+Y}FFrL8XL0ln@*| z)xK9dFz%!n*hPP~FV0p6AGe4a~ z?DHd(Ah12^)cx8evm4R6vS3el`+@~WUjMTxedHQ@!VI8oKq@fA`i=!s1?MBkf5eJv z64r5zL!aM_{umw}9^@by#_&QShZA{8nl(~Ia_4=Vhqbje)`6wWrk}N@W?vR?o7swj z$fq&?k_#)$n^59CWy6G0nH9yL!lRSC@eawci!X<-uQd;!`G7}jIx3aFbmVUKk#_9- zcdaLG`JW`{1sI)+_jePovAZy)YW+v^@OB4fOd}&n=hZcG|9#q{oJam0*$htP<>Q}C zYK8Jj8)c!UXI0@5YUxBusn1uz~Nr-a~d z*^tZtJNqeJKzzA0G5+Ae1LAwc{qe>`=yTWQsv@fgiqh#F0>$}AqV313^| zqC15XOO1JIO_!;}sFEAJRMt)(dNJL!PVVoxRu$S)n?EXB`9B|1Dw<$b3#<8<|MvQq z>)4Wkg9)McZv49`B+2{Y;wOoRPWh2nbP3^V^q!QjSKn<2CYq^yQ*$l1*kYgbQZIOE z_1M5XDvFKBXJf1+_`LLtjH2<2s9iEaA15rsAvlGW>OsPIBdHs$@KZvEv0}X9=|+i2 zcs(ntjySDRZ{?SZDK^1f3k&|YMMXvLraKsXc)DzJtA0)L^SJ-3ifgDa?T06gzfJy{ zkq}Az&1*7}XiX*xV%4Xq2lr0*WnEiNT7}W~YFQ$T zw*-QU&EVJK_{qK(9;9L~L-GZ{u}U4rKZR8-ybeyuUi4rox1`JUUQTZmnb%{yDLOT< zeuJsn+hK>1vwQOTWphMn+S)|m`QU4Lv(efyZN0){CkAhUy)n`UR{vt3;tOEuLqsoW z|24Ta;R+(tNpx;Y<9{eI%4oR+|0VF7hleTnd-timts$GQa+;}ceM4LpF)M$7jz%g^ zU8&}Up9@)$I`D3!B(Y`}_U*!df+eU%-yk}OK2DZjK!~WwYj<>}UqwYIdjXv*QNNe5 zxuaQyt*#98i{I&9E9rn_)ekbpfqmAGL877>w@oCS59q74sbYuzu=+&wlSDDT_5XfE z0Az8?D+_V``~Ou*HA0xX^}YD*`}b~5kyN1XBOad!8rfo9jnUE30tyf7-*&sK1gfw+ zPKhN}!LOm0@)LBYZT8l|C_!X%sm)(m5kjZYA+ALY#yeZxTRuBDA>_yY_ur^XEWJ^=2Pik-@-_lTDg7DRV!B1v+o;}D(h5la(TOaiNaI3Dg!0_ z^;qrDs2p1Ae~Fe-o+fZ%lVP30e=FS>nR;X-MLxh zp-Q#)<1R?t?%-~)%sjQXU;l3};O+9Na7AvOw~rGjw#orfvvr^p&FEwL`lf$YD<%l6 zHrvPRx9DH1T~UN^HX!bW{{5G4F$vxqmLJ<;C_f@5`IAvREq_Mo&|tWi(3(kNOAKom z@B6G4z?ohodjGciMWeR=`du5lPuWGM!aCJ|FiaZE>Tvyq$@Gh29qMx2{`zK@jkTfV-PXV$hL6dGU$xFfnJf*=91U+$ znYd5BtCo4+0qet_pJTU|zUNkGV`;gN>o9$hvMAQIm2p=(iS?=t1H}uZY>R$s^f#GS z%2NS`%QGD8^5x%e)H$NFyhgkA+M47mc6mkrV89y$?bvuUs3QDj3t|bc#*3DX6i>Ft zW*Ub7;CDUiLPu2&%R!u83jbJKVci#edtJf3 z`-d)f>vyyge7!qy5&!Syki)>&l*`)|``Z{$%3DR6Z#gH3@t<7lhwVruTn7%$*3)oA|+ z5SgY<eeY?SM-2aEgoT`F^Yip_fgUk;BOHcqI! z?7KD+Jz3-LZ`CX+8T;n@TxD1lS`{tMupGa5Kl5Lmy@wxt+4foOv95!7!KGiq0hA`f zA?(xuoc3Db{M~MUe9%XRL;Vkks^9;!04dD-i+Hv3H-!L?aF7k=1&uVWXWKgsS(H|g zVvH}Xo3Xm|4~_kt=w~vloM@2N)6;XEY!!6tf>V#sPhR23o@A1iwHQYxO(whlH)}fj zw5b1De)DAtOn;TGY=MP%>chU>sr2Rd&*^@}4Vg}i>k9kl&o+!}xMGFrOE$1g z^0&=4oRTT5VslH5`Ubs|sTT!Lay|{=?$H?+IhZ9KP#Er*f{cQF{n{?kjm4iekn>c$ zOEYmN>ixBj*X6yA2G%i?zy=G4+W12Xl3johz_d8@5EoDg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/js/app.js b/public/js/app.js index 4233852..6b0e2e9 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -85,6 +85,7 @@ function formatBytes(bytes) { // Format hashrate function formatHashrate(hashrate) { + if (hashrate == null || !Number.isFinite(hashrate) || hashrate < 0) return '0 H/s'; if (hashrate >= 1e18) return (hashrate / 1e18).toFixed(2) + ' EH/s'; if (hashrate >= 1e15) return (hashrate / 1e15).toFixed(2) + ' PH/s'; if (hashrate >= 1e12) return (hashrate / 1e12).toFixed(2) + ' TH/s'; @@ -149,6 +150,43 @@ document.addEventListener('DOMContentLoaded', () => { }); } + // Mobile nav toggle - hamburger modal (scrollable list) + const navToggle = document.querySelector('.nav-toggle'); + const navModal = document.getElementById('nav-links'); // .nav-modal-panel + const navBackdrop = document.getElementById('nav-backdrop'); + const navCloseBtn = document.getElementById('nav-close-btn'); + + function closeNavModal() { + if (navModal) navModal.classList.remove('open'); + if (navBackdrop) navBackdrop.classList.remove('open'); + if (navToggle) navToggle.setAttribute('aria-expanded', 'false'); + document.body.style.overflow = ''; + } + + if (navToggle && navModal) { + navToggle.addEventListener('click', () => { + const isOpen = navModal.classList.toggle('open'); + if (navBackdrop) navBackdrop.classList.toggle('open', isOpen); + navToggle.setAttribute('aria-expanded', isOpen ? 'true' : 'false'); + document.body.style.overflow = isOpen ? 'hidden' : ''; + }); + } + + if (navBackdrop) navBackdrop.addEventListener('click', closeNavModal); + if (navCloseBtn) navCloseBtn.addEventListener('click', closeNavModal); + + if (navModal) { + navModal.querySelectorAll('.nav-link').forEach(link => { + link.addEventListener('click', closeNavModal); + }); + } + + document.addEventListener('keydown', (e) => { + if (e.key === 'Escape' && navModal && navModal.classList.contains('open')) { + closeNavModal(); + } + }); + // Start auto-refresh on dashboard startAutoRefresh(); diff --git a/server.js b/server.js index 8a1edc9..bc94d3c 100644 --- a/server.js +++ b/server.js @@ -10,6 +10,11 @@ const app = express(); const config = { port: process.env.PORT || 3000, electrsApi: process.env.ELECTRS_API || 'http://127.0.0.1:50010', + indexerApi: process.env.INDEXER_API || 'http://127.0.0.1:3070', + // RPC for accurate hashrate (getmininginfo networkhashps) + rpcUrl: process.env.RPC_URL || '', + rpcUser: process.env.RPC_USER || '', + rpcPassword: process.env.RPC_PASSWORD || '', explorerName: process.env.EXPLORER_NAME || 'DedooExplorer', coinName: process.env.COIN_NAME || 'Coin', coinTicker: process.env.COIN_TICKER || 'COIN', @@ -38,6 +43,54 @@ app.set('views', path.join(__dirname, 'views')); // Static files app.use(express.static(path.join(__dirname, 'public'))); +// Favicon - serve logo to avoid 404 +app.get('/favicon.ico', (req, res) => res.redirect(301, '/img/wojak-logo.svg')); + +// Rich List (register early to avoid 404) +app.get('/richlist', async (req, res) => { + const limit = Math.min(parseInt(req.query.limit) || 100, 500); + let holders = []; + let totalHolders = 0; + let indexerError = null; + try { + let holdersData; + try { + holdersData = await indexerApiCall(`/holders/top/${limit}`); + } catch (e1) { + try { + holdersData = await indexerApiCall(`/holders?page=1&limit=${limit}`); + } catch (e2) { + indexerError = e2?.message || e1?.message || 'Indexer unavailable'; + } + } + if (holdersData && holdersData.holders) { + holders = holdersData.holders.map((h, i) => ({ ...h, position: i + 1 })); + totalHolders = holdersData.total != null ? holdersData.total : holders.length; + } + } catch (e) { + indexerError = e.message || 'Failed to load holders'; + } + let totalSupply = null; + try { + const supplyData = await apiCall('/blockchain/getsupply').catch(() => null); + if (supplyData) totalSupply = supplyData.total_amount_float ?? supplyData.total_amount ?? null; + } catch (_) {} + try { + return res.render('richlist', { + title: 'Rich List', + holders, + totalHolders, + totalSupply, + limit: holders.length, + indexerError, + page: 'richlist' + }); + } catch (err) { + console.error('Rich list render error:', err); + return res.status(500).render('error', { title: 'Error', message: 'Failed to render rich list', error: err.message, page: 'error' }); + } +}); + // Make config available to all views app.locals.config = config; @@ -75,6 +128,7 @@ const formatDate = (timestamp) => { }; const formatHashrate = (hashrate) => { + if (hashrate == null || !Number.isFinite(hashrate) || hashrate < 0) return '0 H/s'; if (hashrate >= 1e18) return (hashrate / 1e18).toFixed(2) + ' EH/s'; if (hashrate >= 1e15) return (hashrate / 1e15).toFixed(2) + ' PH/s'; if (hashrate >= 1e12) return (hashrate / 1e12).toFixed(2) + ' TH/s'; @@ -92,6 +146,27 @@ const formatDifficulty = (diff) => { return diff.toFixed(2); }; +const formatUptime = (seconds) => { + if (seconds == null || !Number.isFinite(seconds) || seconds < 0) return '—'; + const d = Math.floor(seconds / 86400); + const h = Math.floor((seconds % 86400) / 3600); + const m = Math.floor((seconds % 3600) / 60); + const s = Math.floor(seconds % 60); + const parts = []; + if (d > 0) parts.push(d + 'd'); + if (h > 0) parts.push(h + 'h'); + if (m > 0) parts.push(m + 'm'); + if (s > 0 || parts.length === 0) parts.push(s + 's'); + return parts.join(' '); +}; + +const formatRate = (bytesPerSec) => { + if (bytesPerSec == null || !Number.isFinite(bytesPerSec) || bytesPerSec < 0) return '—'; + if (bytesPerSec < 1 && bytesPerSec > 0) return bytesPerSec.toFixed(2) + ' B/s'; + if (bytesPerSec < 1024) return Math.round(bytesPerSec) + ' B/s'; + return formatBytes(bytesPerSec) + '/s'; +}; + // Make helpers available to all views app.locals.formatHash = formatHash; app.locals.formatNumber = formatNumber; @@ -100,6 +175,8 @@ app.locals.formatTimeAgo = formatTimeAgo; app.locals.formatDate = formatDate; app.locals.formatHashrate = formatHashrate; app.locals.formatDifficulty = formatDifficulty; +app.locals.formatUptime = formatUptime; +app.locals.formatRate = formatRate; // API proxy helper const apiCall = async (endpoint) => { @@ -112,36 +189,93 @@ const apiCall = async (endpoint) => { } }; +// Indexer API helper (holders, etc.) +const indexerApiCall = async (endpoint) => { + try { + const response = await axios.get(`${config.indexerApi}${endpoint}`, { timeout: 10000 }); + return response.data; + } catch (error) { + console.error(`Indexer API Error for ${endpoint}:`, error.message); + throw error; + } +}; + +// RPC call helper (for getmininginfo networkhashps - accurate hashrate) +const rpcCall = async (method, params = []) => { + if (!config.rpcUrl || !config.rpcUser || !config.rpcPassword) return null; + try { + const response = await axios.post(config.rpcUrl, { + jsonrpc: '1.0', + id: 'explorer', + method, + params + }, { + timeout: 5000, + auth: { username: config.rpcUser, password: config.rpcPassword }, + headers: { 'Content-Type': 'text/plain;' } + }); + return response.data?.error ? null : response.data?.result; + } catch (error) { + console.error(`RPC Error ${method}:`, error.message); + return null; + } +}; + +// Get hashrate: prefer RPC networkhashps, fallback to block-based estimate +const getHashrate = async (blocks) => { + const miningInfo = await rpcCall('getmininginfo'); + if (miningInfo != null && Number.isFinite(miningInfo.networkhashps) && miningInfo.networkhashps > 0) { + return miningInfo.networkhashps; + } + // Fallback: estimate from difficulty and avg block time + const blockTimeSec = blocks.length > 1 + ? Math.round((blocks[0].timestamp - blocks[blocks.length - 1].timestamp) / (blocks.length - 1)) + : config.blockTime; + const avgBlockTime = blockTimeSec > 0 ? blockTimeSec : config.blockTime; + const latestDifficulty = blocks[0]?.difficulty || 0; + return latestDifficulty > 0 && avgBlockTime > 0 + ? (latestDifficulty * Math.pow(2, 32)) / avgBlockTime + : 0; +}; + // ============ PAGES ============ // Dashboard app.get('/', async (req, res) => { try { - const [blocks, tipHeight, mempool, supplyData] = await Promise.all([ + const [blocks, tipHeight, mempoolStats, mempoolRecent, supplyData] = await Promise.all([ apiCall('/blocks'), apiCall('/blocks/tip/height'), - apiCall('/mempool/recent').catch(() => []), - apiCall('/blockchain/getsupply').catch(() => ({ total_amount_float: 0 })) + apiCall('/mempool').catch(() => ({ count: 0, vsize: 0, total_fee: 0 })), + apiCall('/mempool/recent').catch(() => []) ]); + const supplyRes = await apiCall('/blockchain/getsupply').catch(() => ({ total_amount_float: 0 })); + const supplyDataRes = supplyRes && typeof supplyRes === 'object' ? supplyRes : { total_amount_float: 0 }; + + // Mempool count: use /mempool count (accurate), fallback to recent list length + const mempoolCount = typeof mempoolStats?.count === 'number' + ? mempoolStats.count + : (Array.isArray(mempoolRecent) ? mempoolRecent.length : 0); // Calculate stats from recent blocks - const avgBlockTime = blocks.length > 1 + const blockTimeSec = blocks.length > 1 ? Math.round((blocks[0].timestamp - blocks[blocks.length - 1].timestamp) / (blocks.length - 1)) - : 120; - - // Estimate hashrate from difficulty (rough estimate) + : config.blockTime; + const avgBlockTime = blockTimeSec > 0 ? blockTimeSec : config.blockTime; const latestDifficulty = blocks[0]?.difficulty || 0; - const hashrate = (latestDifficulty * Math.pow(2, 32)) / avgBlockTime; + + // Hashrate: prefer RPC networkhashps (accurate), fallback to block-based estimate + const hashrate = await getHashrate(blocks); res.render('index', { title: 'Dashboard', blocks: blocks.slice(0, 15), tipHeight, - mempoolCount: mempool.length, + mempoolCount, difficulty: latestDifficulty, avgBlockTime, hashrate, - supply: supplyData.total_amount_float || 0, + supply: supplyDataRes.total_amount_float || supplyDataRes.total_amount || 0, page: 'dashboard' }); } catch (error) { @@ -247,11 +381,70 @@ app.get('/transactions', async (req, res) => { } }); +// Mempool page: stats + paginated pending txs with full detail (from electrs /mempool/txids + /tx/:id) +const MEMPOOL_PAGE_SIZE = 25; +const MEMPOOL_FETCH_CONCURRENCY = 10; + +async function fetchMempoolTxDetails(electrsApi, txids) { + const results = []; + for (let i = 0; i < txids.length; i += MEMPOOL_FETCH_CONCURRENCY) { + const chunk = txids.slice(i, i + MEMPOOL_FETCH_CONCURRENCY); + const batch = await Promise.all( + chunk.map((txid) => + axios.get(`${electrsApi}/tx/${txid}`, { timeout: 8000 }).then((r) => r.data).catch(() => null) + ) + ); + results.push(...batch); + } + return results.filter(Boolean).map((tx) => { + const value = (tx.vout || []).reduce((s, o) => s + (Number(o.value) || 0), 0); + const vsize = tx.weight != null ? Math.ceil(Number(tx.weight) / 4) : null; + return { + txid: tx.txid, + fee: tx.fee != null ? Number(tx.fee) : 0, + vsize: vsize || 0, + value, + }; + }); +} + +app.get('/mempool', async (req, res) => { + try { + const startIndex = Math.max(0, parseInt(req.query.start_index, 10) || 0); + const limit = Math.min(100, Math.max(1, parseInt(req.query.limit, 10) || MEMPOOL_PAGE_SIZE)); + + const [stats, txidsPayload] = await Promise.all([ + apiCall('/mempool').catch(() => ({ count: 0, vsize: 0, total_fee: 0, fee_histogram: [] })), + apiCall(`/mempool/txids?start_index=${startIndex}&limit=${limit}`).catch(() => ({ txids: [], total: 0, start_index: 0, limit: 0 })), + ]); + + const txids = txidsPayload.txids || []; + const total = typeof txidsPayload.total === 'number' ? txidsPayload.total : txids.length; + const pending = txids.length > 0 ? await fetchMempoolTxDetails(ELECTRS_API, txids) : []; + + res.render('mempool', { + title: 'Mempool', + stats, + feeHistogram: stats.fee_histogram || [], + pending, + total, + startIndex, + limit, + page: 'mempool', + }); + } catch (error) { + res.render('error', { title: 'Error', message: 'Failed to load mempool', error: error.message, page: 'error' }); + } +}); + // Transaction detail app.get('/tx/:txid', async (req, res) => { try { const { txid } = req.params; - const tx = await apiCall(`/tx/${txid}`); + const [tx, rawHex] = await Promise.all([ + apiCall(`/tx/${txid}`), + axios.get(`${ELECTRS_API}/tx/${txid}/hex`, { timeout: 5000 }).then(r => r.data).catch(() => null) + ]); // Calculate totals let totalInput = 0, totalOutput = 0; @@ -264,11 +457,24 @@ app.get('/tx/:txid', async (req, res) => { totalOutput += vout.value || 0; }); + // Derived fields for extreme detail view + const vsize = tx.weight != null ? Math.ceil(Number(tx.weight) / 4) : (tx.size || 0); + const feeRateSatPerVb = tx.fee != null && vsize ? (Number(tx.fee) / vsize).toFixed(2) : null; + const locktimeInterpretation = tx.locktime != null + ? (tx.locktime < 500000000 + ? `Block height ${formatNumber(tx.locktime)}` + : `Unix time ${tx.locktime} (${new Date(tx.locktime * 1000).toISOString()} UTC)`) + : null; + res.render('transaction', { title: `Transaction ${formatHash(txid)}`, tx, totalInput, totalOutput, + rawHex: typeof rawHex === 'string' ? rawHex : null, + vsize, + feeRateSatPerVb, + locktimeInterpretation, page: 'transactions' }); } catch (error) { @@ -333,6 +539,255 @@ app.get('/address/:address', async (req, res) => { } }); +// Nodes page +app.get('/nodes', async (req, res) => { + try { + const networkData = await indexerApiCall('/network'); + res.render('nodes', { + title: 'Nodes', + network: networkData, + page: 'nodes' + }); + } catch (error) { + res.render('error', { title: 'Error', message: 'Failed to load node info', error: error.message, page: 'error' }); + } +}); + +// Chain Tips / Forks page +app.get('/chain-tips', async (req, res) => { + try { + const chainTips = await rpcCall('getchaintips'); + const tipHeight = await apiCall('/blocks/tip/height'); + + res.render('chain-tips', { + title: 'Chain Tips', + chainTips: chainTips || [], + tipHeight, + page: 'chain-tips' + }); + } catch (error) { + res.render('error', { title: 'Error', message: 'Failed to load chain tips', error: error.message, page: 'error' }); + } +}); + +// Reorg History page +app.get('/reorgs', async (req, res) => { + try { + const chainTips = await rpcCall('getchaintips'); + const tipHeight = await apiCall('/blocks/tip/height'); + const blocks = await apiCall('/blocks'); + + // Analyze chain tips to identify potential reorgs + const reorgs = []; + if (chainTips && Array.isArray(chainTips)) { + chainTips.forEach(tip => { + if (tip.status === 'valid-fork' || tip.status === 'valid-headers') { + reorgs.push({ + height: tip.height, + hash: tip.hash, + branchlen: tip.branchlen || 0, + status: tip.status, + forkHeight: tip.height - (tip.branchlen || 0) + }); + } + }); + } + + res.render('reorgs', { + title: 'Reorg History', + reorgs: reorgs.sort((a, b) => b.height - a.height), + tipHeight, + page: 'reorgs' + }); + } catch (error) { + res.render('error', { title: 'Error', message: 'Failed to load reorg history', error: error.message, page: 'error' }); + } +}); + +// Orphaned Blocks page +app.get('/orphans', async (req, res) => { + try { + const chainTips = await rpcCall('getchaintips'); + const tipHeight = await apiCall('/blocks/tip/height'); + + // Find orphaned blocks (valid-fork, valid-headers that aren't active) + const orphans = []; + if (chainTips && Array.isArray(chainTips)) { + chainTips.forEach(tip => { + if (tip.status === 'valid-fork' || tip.status === 'valid-headers') { + orphans.push({ + height: tip.height, + hash: tip.hash, + branchlen: tip.branchlen || 0, + status: tip.status + }); + } + }); + } + + res.render('orphans', { + title: 'Orphaned Blocks', + orphans: orphans.sort((a, b) => b.height - a.height), + tipHeight, + page: 'orphans' + }); + } catch (error) { + res.render('error', { title: 'Error', message: 'Failed to load orphaned blocks', error: error.message, page: 'error' }); + } +}); + +// Chain Health page +app.get('/chain-health', async (req, res) => { + try { + const [blockchainInfo, networkInfo, miningInfo, tipHeight] = await Promise.all([ + rpcCall('getblockchaininfo'), + rpcCall('getnetworkinfo'), + rpcCall('getmininginfo'), + apiCall('/blocks/tip/height') + ]); + + const syncProgress = blockchainInfo?.verificationprogress || 0; + const blocksBehind = blockchainInfo ? (blockchainInfo.headers - blockchainInfo.blocks) : 0; + const isSynced = blocksBehind === 0 && syncProgress >= 0.999; + + res.render('chain-health', { + title: 'Chain Health', + blockchainInfo: blockchainInfo || {}, + networkInfo: networkInfo || {}, + miningInfo: miningInfo || {}, + tipHeight, + syncProgress: (syncProgress * 100).toFixed(2), + blocksBehind, + isSynced, + page: 'chain-health' + }); + } catch (error) { + res.render('error', { title: 'Error', message: 'Failed to load chain health', error: error.message, page: 'error' }); + } +}); + +// Network Traffic page (detailed network: bandwidth, rates, connection breakdown, fees — no peer list; see Nodes for peers) +app.get('/network-traffic', async (req, res) => { + try { + const [netTotals, networkInfo, mempoolStats] = await Promise.all([ + rpcCall('getnettotals'), + rpcCall('getnetworkinfo'), + apiCall('/mempool').catch(() => ({ count: 0, vsize: 0, total_fee: 0 })) + ]); + + const totals = netTotals || {}; + const recv = totals.totalbytesrecv != null ? Number(totals.totalbytesrecv) : 0; + const sent = totals.totalbytessent != null ? Number(totals.totalbytessent) : 0; + let rawTime = totals.timemillis != null ? Number(totals.timemillis) : 0; + // Some nodes return timemillis in microseconds; if value is huge, treat as microseconds + const uptimeSec = rawTime >= 1e12 ? rawTime / 1e6 : (rawTime > 0 ? rawTime / 1000 : 0); + const recvRate = uptimeSec > 0 ? recv / uptimeSec : 0; + const sentRate = uptimeSec > 0 ? sent / uptimeSec : 0; + // Cap absurd uptime display (e.g. > 365 days show as-is; if calculation would show 10000+ days, treat as unknown) + const maxReasonableDays = 365 * 10; + const uptimeValid = uptimeSec > 0 && uptimeSec < maxReasonableDays * 86400; + + res.render('network-traffic', { + title: 'Network Traffic', + netTotals: totals, + networkInfo: networkInfo || {}, + recvRateFormatted: formatRate(recvRate), + sentRateFormatted: formatRate(sentRate), + uptimeSec, + uptimeValid, + mempoolStats: mempoolStats || { count: 0, vsize: 0, total_fee: 0 }, + page: 'network-traffic' + }); + } catch (error) { + res.render('error', { title: 'Error', message: 'Failed to load network traffic', error: error.message, page: 'error' }); + } +}); + +// Difficulty History page +app.get('/difficulty', async (req, res) => { + try { + const tipHeight = await apiCall('/blocks/tip/height'); + const currentHeight = typeof tipHeight === 'number' ? tipHeight : parseInt(tipHeight || '0', 10); + + // Fetch blocks for difficulty history (last 100 blocks, sample every 10th) + const difficultyHistory = []; + const sampleInterval = 10; + const maxBlocks = 100; + + for (let i = 0; i < maxBlocks; i += sampleInterval) { + const height = currentHeight - i; + if (height < 0) break; + + try { + const blockHash = await apiCall(`/block-height/${height}`); + const block = await apiCall(`/block/${blockHash}`); + if (block && block.difficulty) { + difficultyHistory.push({ + height: block.height, + timestamp: block.timestamp, + difficulty: block.difficulty, + date: new Date(block.timestamp * 1000).toLocaleDateString() + }); + } + } catch (e) { + // Skip if block not found + continue; + } + } + + difficultyHistory.reverse(); // Oldest first + + res.render('difficulty', { + title: 'Difficulty History', + difficultyHistory, + tipHeight: currentHeight, + page: 'difficulty' + }); + } catch (error) { + res.render('error', { title: 'Error', message: 'Failed to load difficulty history', error: error.message, page: 'error' }); + } +}); + +// API documentation page +app.get('/api-docs', (req, res) => { + const baseUrl = `${req.protocol}://${req.get('host')}/api`; + res.render('api', { + title: 'API', + baseUrl, + page: 'api' + }); +}); + +// Glossary / FAQ page (static content) +app.get('/glossary', (req, res) => { + res.render('glossary', { + title: 'Glossary & FAQ', + page: 'glossary' + }); +}); + +// Holders page +app.get('/holders', async (req, res) => { + try { + const page = parseInt(req.query.page) || 1; + const limit = parseInt(req.query.limit) || 50; + + const holdersData = await indexerApiCall(`/holders?page=${page}&limit=${limit}`); + + res.render('holders', { + title: 'Holders', + holders: holdersData.holders || [], + currentPage: holdersData.page || page, + limit: holdersData.limit || limit, + total: holdersData.total || 0, + totalPages: holdersData.total_pages || 1, + page: 'holders' + }); + } catch (error) { + res.render('error', { title: 'Error', message: 'Failed to load holders', error: error.message, page: 'error' }); + } +}); + // Statistics page app.get('/statistics', async (req, res) => { try { @@ -342,12 +797,14 @@ app.get('/statistics', async (req, res) => { ]); // Calculate stats - const avgBlockTime = blocks.length > 1 + const blockTimeSec = blocks.length > 1 ? Math.round((blocks[0].timestamp - blocks[blocks.length - 1].timestamp) / (blocks.length - 1)) - : 120; - + : config.blockTime; + const avgBlockTime = blockTimeSec > 0 ? blockTimeSec : config.blockTime; const latestDifficulty = blocks[0]?.difficulty || 0; - const hashrate = (latestDifficulty * Math.pow(2, 32)) / avgBlockTime; + + // Hashrate: prefer RPC networkhashps (accurate), fallback to block-based estimate + const hashrate = await getHashrate(blocks); // Get daily tx counts (simplified - from recent blocks) const dailyStats = blocks.map(b => ({ @@ -370,6 +827,307 @@ app.get('/statistics', async (req, res) => { } }); +// Emission / halving page +app.get('/emission', async (req, res) => { + try { + const [tipHeight, supplyData] = await Promise.all([ + apiCall('/blocks/tip/height'), + apiCall('/blockchain/getsupply').catch(() => null), + ]); + + const HALVING_INTERVAL = 210000; // from wojakcore chainparams + const INITIAL_SUBSIDY = 100; // WOJAK per block + const blockTimeSec = config.blockTime || 120; + + const maxEpochs = 15; + let reward = INITIAL_SUBSIDY; + let cumulative = 0; + const epochs = []; + + for (let epoch = 0; epoch < maxEpochs && reward > 0; epoch++) { + const startHeight = epoch * HALVING_INTERVAL; + const endHeight = (epoch + 1) * HALVING_INTERVAL - 1; + const blocksInEpoch = HALVING_INTERVAL; + const coinsThisEpoch = reward * blocksInEpoch; + cumulative += coinsThisEpoch; + + epochs.push({ + epoch, + reward, + startHeight, + endHeight, + blocksInEpoch, + coinsThisEpoch, + cumulativeSupply: cumulative, + }); + + reward = reward / 2; + } + + const currentHeight = typeof tipHeight === 'number' ? tipHeight : parseInt(tipHeight || '0', 10); + const currentEpochIndex = Math.floor(currentHeight / HALVING_INTERVAL); + const currentEpoch = epochs[Math.min(currentEpochIndex, epochs.length - 1)]; + const currentReward = currentEpoch ? currentEpoch.reward : 0; + + const nextHalvingHeight = (currentEpochIndex + 1) * HALVING_INTERVAL; + const blocksToHalving = nextHalvingHeight > currentHeight ? (nextHalvingHeight - currentHeight) : 0; + const secondsToHalving = blocksToHalving * blockTimeSec; + const estimatedHalvingDate = blocksToHalving > 0 + ? new Date(Date.now() + secondsToHalving * 1000).toLocaleString() + : null; + + // WojakCoin MAX_MONEY (from wojakcore src/amount.h): 44,210,526 * COIN + const theoreticalMaxSupply = 44210526; + const actualSupply = supplyData && (supplyData.total_amount_float || supplyData.total_amount); + + res.render('emission', { + title: 'Emission', + currentHeight, + currentReward, + nextHalvingHeight, + blocksToHalving, + estimatedHalvingDate, + theoreticalMaxSupply, + actualSupply, + epochs, + halvingInterval: HALVING_INTERVAL, + page: 'emission', + }); + } catch (error) { + res.render('error', { title: 'Error', message: 'Failed to load emission data', error: error.message, page: 'error' }); + } +}); + +// Coin flow: money moving from address to address +const COIN_FLOW_PAGE_SIZE = 30; +const COIN_FLOW_BATCH = 8; + +app.get('/coin-flow', async (req, res) => { + try { + const page = Math.max(0, parseInt(req.query.page) || 0); + const blocks = await apiCall('/blocks'); + const txids = []; + const minTxids = (page + 1) * COIN_FLOW_PAGE_SIZE; + for (const block of blocks.slice(0, 20)) { + try { + const txs = await apiCall(`/block/${block.id}/txs/0`); + const ids = Array.isArray(txs) ? txs.map(t => t.txid || t) : []; + ids.forEach(id => txids.push({ txid: id, blockHeight: block.height, blockTime: block.timestamp })); + if (txids.length >= minTxids) break; + } catch (e) { + continue; + } + } + const start = page * COIN_FLOW_PAGE_SIZE; + const pageTxids = txids.slice(start, start + COIN_FLOW_PAGE_SIZE); + const flows = []; + for (let i = 0; i < pageTxids.length; i += COIN_FLOW_BATCH) { + const batch = pageTxids.slice(i, i + COIN_FLOW_BATCH); + const fullTxs = await Promise.all( + batch.map(({ txid }) => apiCall(`/tx/${txid}`).catch(() => null)) + ); + fullTxs.forEach((tx, idx) => { + if (!tx) return; + const meta = pageTxids[i + idx]; + const from = []; + const to = []; + (tx.vin || []).forEach(vin => { + if (vin.is_coinbase) { + from.push({ address: 'Coinbase (new coins)', value: 0, coinbase: true }); + } else if (vin.prevout) { + const addr = vin.prevout.scriptpubkey_address || null; + const val = vin.prevout.value != null ? vin.prevout.value : 0; + if (addr) from.push({ address: addr, value: val, coinbase: false }); + } + }); + (tx.vout || []).forEach(vout => { + const addr = vout.scriptpubkey_address || (vout.scriptpubkey && vout.scriptpubkey.address) || null; + const val = vout.value != null ? vout.value : 0; + if (addr) to.push({ address: addr, value: val }); + }); + flows.push({ + txid: tx.txid, + blockHeight: meta.blockHeight, + blockTime: meta.blockTime, + from, + to, + fee: tx.fee != null ? tx.fee : null, + status: tx.status + }); + }); + } + const totalPages = Math.ceil(txids.length / COIN_FLOW_PAGE_SIZE) || 1; + res.render('coin-flow', { + title: 'Coin Flow', + flows, + total: txids.length, + currentPage: page, + totalPages, + pageSize: COIN_FLOW_PAGE_SIZE, + page: 'coin-flow' + }); + } catch (error) { + res.render('error', { title: 'Error', message: 'Failed to load coin flow', error: error.message, page: 'error' }); + } +}); + +// Redirect old supply-flow URL to coin-flow (address-to-address flow) +app.get('/supply-flow', (req, res) => res.redirect(301, '/coin-flow')); + +// Legacy supply-over-time page (kept for possible future use; not linked in nav) +app.get('/supply-flow-chart', async (req, res) => { + try { + const [tipHeight, supplyData, indexerSupply] = await Promise.all([ + apiCall('/blocks/tip/height'), + apiCall('/blockchain/getsupply').catch(() => ({ total_amount_float: 0 })), + indexerApiCall('/block/circulating-supply').catch(() => null) + ]); + + // Get circulating supply (prefer indexer, fallback to electrs) + const circulatingSupply = indexerSupply != null ? indexerSupply.circulatingSupply : (supplyData.total_amount_float || 0); + + // Calculate some historical points (simplified - could be enhanced) + const currentReward = config.blockTime ? config.blockTime / 60 : 0; // blocks per hour + const dailyBlocks = 24 * 60 / (config.blockTime || 120); // blocks per day + const dailySupplyIncrease = dailyBlocks * 50; // 50 WJK per block (current reward) + + // Generate projection data (next 365 days) + const projectionDays = 365; + const projectionData = []; + for (let i = 0; i < projectionDays; i += 30) { // Monthly points + const supply = circulatingSupply + (i * dailySupplyIncrease); + projectionData.push({ + days: i, + supply: supply, + date: new Date(Date.now() + i * 24 * 60 * 60 * 1000).toISOString().split('T')[0] + }); + } + + res.render('supply-flow', { + title: 'Supply Flow', + tipHeight, + circulatingSupply, + dailySupplyIncrease, + projectionData, + page: 'supply-flow' + }); + } catch (error) { + res.render('error', { title: 'Error', message: 'Failed to load supply flow data', error: error.message, page: 'error' }); + } +}); + +// Supply dashboard page +app.get('/supply', async (req, res) => { + try { + const [tipHeight, supplyData, circData] = await Promise.all([ + apiCall('/blocks/tip/height'), + apiCall('/blockchain/getsupply').catch(() => null), + indexerApiCall('/block/circulating-supply').catch(() => null), + ]); + + const HALVING_INTERVAL = 210000; + const INITIAL_SUBSIDY = 100; + const blockTimeSec = config.blockTime || 120; + const MAX_SUPPLY = 44210526; // from wojakcore MAX_MONEY/COIN + + const currentHeight = typeof tipHeight === 'number' ? tipHeight : parseInt(tipHeight || '0', 10); + const totalSupply = supplyData && (supplyData.total_amount_float || supplyData.total_amount) || null; + // Prefer on-chain total for circulating when available so they match + const circulatingSupply = totalSupply != null + ? totalSupply + : (circData && circData.circulatingSupply) || null; + + const epochIndex = currentHeight > 0 ? Math.floor(currentHeight / HALVING_INTERVAL) : 0; + const currentReward = INITIAL_SUBSIDY / Math.pow(2, epochIndex); + const blocksPerDay = 86400 / blockTimeSec; + const dailyIssuance = currentReward * blocksPerDay; + const yearlyIssuance = dailyIssuance * 365; + + const mintedPct = totalSupply ? (totalSupply / MAX_SUPPLY) * 100 : null; + const circPct = circulatingSupply ? (circulatingSupply / MAX_SUPPLY) * 100 : null; + + res.render('supply', { + title: 'Supply', + currentHeight, + totalSupply, + circulatingSupply, + maxSupply: MAX_SUPPLY, + mintedPct, + circPct, + currentReward, + dailyIssuance, + yearlyIssuance, + blocksPerDay, + page: 'supply', + }); + } catch (error) { + res.render('error', { title: 'Error', message: 'Failed to load supply dashboard', error: error.message, page: 'error' }); + } +}); + +// Mining stats page +app.get('/mining', async (req, res) => { + try { + const [blocks, miningInfo] = await Promise.all([ + apiCall('/blocks'), + rpcCall('getmininginfo') + ]); + const recentBlocks = (blocks || []).slice(0, 15); + + const miningBlocks = []; + for (const block of recentBlocks) { + try { + const txs = await apiCall(`/block/${block.id}/txs/0`); + const cbTx = Array.isArray(txs) && txs.length > 0 ? txs[0] : null; + if (!cbTx || !cbTx.vout || !cbTx.vout.length) continue; + + const minerAddress = cbTx.vout[0].scriptpubkey_address || 'Unknown'; + const rewardSats = (cbTx.vout || []).reduce((sum, v) => sum + (v.value || 0), 0); + const reward = rewardSats / 1e8; + + miningBlocks.push({ + height: block.height, + hash: block.id, + timestamp: block.timestamp, + txCount: block.tx_count, + difficulty: block.difficulty, + minerAddress, + reward, + }); + } catch (e) { + continue; + } + } + + const minerMap = {}; + miningBlocks.forEach((b) => { + const key = b.minerAddress || 'Unknown'; + if (!minerMap[key]) { + minerMap[key] = { minerAddress: key, blocks: 0, totalReward: 0 }; + } + minerMap[key].blocks += 1; + minerMap[key].totalReward += b.reward || 0; + }); + + const miners = Object.values(minerMap).sort((a, b) => b.blocks - a.blocks); + const totalBlocks = miningBlocks.length || 1; + const hashrate = miningInfo?.networkhashps != null ? miningInfo.networkhashps : 0; + const difficulty = miningInfo?.difficulty ?? (recentBlocks[0]?.difficulty) ?? 0; + + res.render('mining', { + title: 'Mining Stats', + blocks: miningBlocks, + miners, + totalBlocks, + hashrate, + difficulty, + page: 'mining', + }); + } catch (error) { + res.render('error', { title: 'Error', message: 'Failed to load mining stats', error: error.message, page: 'error' }); + } +}); + // Search handler app.get('/search', async (req, res) => { const query = req.query.q?.trim(); diff --git a/views/api.ejs b/views/api.ejs new file mode 100644 index 0000000..4a98440 --- /dev/null +++ b/views/api.ejs @@ -0,0 +1,210 @@ +<%- include('partials/header') %> + +
    + + +
    +
    +

    Base URL

    +
    + <%= baseUrl %> + +
    +
    + + +
    +

    Blocks

    +
    + GET + /blocks +

    10 newest blocks. Add /:start_height for blocks starting at height.

    +
    + curl <%= baseUrl %>/blocks + +
    +
    +
    + GET + /blocks/tip/height +

    Current block height.

    +
    + curl <%= baseUrl %>/blocks/tip/height + +
    +
    +
    + GET + /blocks/tip/hash +

    Current block hash.

    +
    + curl <%= baseUrl %>/blocks/tip/hash + +
    +
    +
    + GET + /block/:hash +

    Block info by hash.

    +
    + curl <%= baseUrl %>/block/<hash> + +
    +
    +
    + GET + /block/:hash/txs/:start_index +

    Transactions in block (25 per page, start_index must be multiple of 25).

    +
    + curl <%= baseUrl %>/block/<hash>/txs/0 + +
    +
    +
    + GET + /block-height/:height +

    Block hash at given height.

    +
    + curl <%= baseUrl %>/block-height/15800 + +
    +
    +
    + + +
    +

    Transactions

    +
    + GET + /tx/:txid +

    Transaction details.

    +
    + curl <%= baseUrl %>/tx/<txid> + +
    +
    +
    + GET + /tx/:txid/status +

    Transaction confirmation status.

    +
    + curl <%= baseUrl %>/tx/<txid>/status + +
    +
    +
    + GET + /tx/:txid/hex +

    Raw transaction hex.

    +
    +
    + GET + /tx/:txid/outspends +

    Spending status of all outputs.

    +
    +
    + POST + /tx +

    Broadcast raw transaction (hex in body).

    +
    + curl -X POST <%= baseUrl %>/tx -d "02000000..." + +
    +
    +
    + + +
    +

    Addresses

    +
    + GET + /address/:address +

    Address stats (chain_stats, mempool_stats).

    +
    + curl <%= baseUrl %>/address/<address> + +
    +
    +
    + GET + /address/:address/txs +

    Transaction history (50 mempool + 25 confirmed). Add ?start_index=N&limit=25 for pagination.

    +
    + curl "<%= baseUrl %>/address/<address>/txs?start_index=0&limit=25" + +
    +
    +
    + GET + /address/:address/utxo +

    Unspent outputs. Add ?start_index=N&limit=25 for pagination.

    +
    + curl "<%= baseUrl %>/address/<address>/utxo?start_index=0&limit=25" + +
    +
    +
    + + +
    +

    Mempool

    +
    + GET + /mempool +

    Mempool stats (count, vsize, total_fee, fee_histogram).

    +
    + curl <%= baseUrl %>/mempool + +
    +
    +
    + GET + /mempool/recent +

    Last 10 transactions to enter mempool.

    +
    + curl <%= baseUrl %>/mempool/recent + +
    +
    +
    + GET + /mempool/txids +

    All txids in mempool.

    +
    +
    + + +
    +

    Fee & Supply

    +
    + GET + /fee-estimates +

    Fee estimates by confirmation target (sat/vB).

    +
    + curl <%= baseUrl %>/fee-estimates + +
    +
    +
    + GET + /blockchain/getsupply +

    Total supply (if supported by backend).

    +
    + curl <%= baseUrl %>/blockchain/getsupply + +
    +
    +
    + + +
    +
    + +<%- include('partials/footer') %> diff --git a/views/chain-health.ejs b/views/chain-health.ejs new file mode 100644 index 0000000..f83ca25 --- /dev/null +++ b/views/chain-health.ejs @@ -0,0 +1,186 @@ +<%- include('partials/header') %> + +
    + + + +
    +
    +
    + SYNC STATUS + +
    +
    + <%= isSynced ? 'Synced' : 'Syncing' %> +
    +
    +
    +
    + VERIFICATION PROGRESS + +
    +
    <%= syncProgress %>%
    +
    +
    +
    + BLOCKS BEHIND + +
    +
    <%= formatNumber(blocksBehind) %>
    +
    +
    +
    + CURRENT HEIGHT + +
    +
    <%= formatNumber(blockchainInfo.blocks || tipHeight) %>
    +
    +
    + + +
    +
    +

    Blockchain Information

    +
    +
    +
    + Chain + <%= blockchainInfo.chain || 'main' %> +
    +
    + Blocks + <%= formatNumber(blockchainInfo.blocks || 0) %> +
    +
    + Headers + <%= formatNumber(blockchainInfo.headers || 0) %> +
    + +
    + Difficulty + <%= formatDifficulty(blockchainInfo.difficulty || 0) %> +
    +
    + Median Time + <%= blockchainInfo.mediantime ? formatDate(blockchainInfo.mediantime) : '--' %> +
    +
    + Verification Progress + <%= syncProgress %>% +
    +
    + Chainwork + <%= blockchainInfo.chainwork || '--' %> +
    +
    + Pruned + <%= blockchainInfo.pruned ? 'Yes' : 'No' %> +
    +
    +
    + + +
    +
    +

    Network Information

    +
    +
    +
    + Version + <%= networkInfo.version || '--' %> +
    +
    + Subversion + <%= networkInfo.subversion || '--' %> +
    +
    + Connections + <%= formatNumber(networkInfo.connections || 0) %> +
    +
    + Network Active + <%= networkInfo.networkactive ? 'Yes' : 'No' %> +
    +
    + Relay Fee + <%= networkInfo.relayfee ? (networkInfo.relayfee * 1e8).toFixed(0) + ' sat/kB' : '--' %> +
    +
    + Incremental Fee + <%= networkInfo.incrementalfee ? (networkInfo.incrementalfee * 1e8).toFixed(0) + ' sat/kB' : '--' %> +
    +
    +
    + + + <% if (miningInfo && Object.keys(miningInfo).length > 0) { %> +
    +
    +

    Mining Information

    +
    +
    +
    + Network Hashrate + <%= formatHashrate(miningInfo.networkhashps || 0) %> +
    +
    + Difficulty + <%= formatDifficulty(miningInfo.difficulty || 0) %> +
    +
    + Blocks + <%= formatNumber(miningInfo.blocks || 0) %> +
    +
    +
    + <% } %> + + + <% if (blockchainInfo.softforks && blockchainInfo.softforks.length > 0) { %> +
    +
    +

    Soft Forks

    +
    +
    + + + + + + + + + + + + <% blockchainInfo.softforks.forEach(function(fork) { %> + + + + + + + + <% }); %> + +
    IDVersionStatusFoundRequired
    <%= fork.id %><%= fork.version %> + + <%= fork.enforce && fork.enforce.status ? 'Enforced' : 'Pending' %> + + <%= fork.enforce ? fork.enforce.found : '--' %> / <%= fork.enforce ? fork.enforce.window : '--' %><%= fork.enforce ? fork.enforce.required : '--' %>
    +
    +
    + <% } %> +
    + +<%- include('partials/footer') %> diff --git a/views/chain-tips.ejs b/views/chain-tips.ejs new file mode 100644 index 0000000..d881a6d --- /dev/null +++ b/views/chain-tips.ejs @@ -0,0 +1,112 @@ +<%- include('partials/header') %> + +
    + + + +
    +
    +
    + ACTIVE TIPS + +
    +
    <%= formatNumber(chainTips.length) %>
    +
    +
    +
    + MAIN CHAIN HEIGHT + +
    +
    <%= formatNumber(tipHeight) %>
    +
    +
    +
    + FORKED CHAINS + +
    +
    + <%= formatNumber(chainTips.filter(function(t) { return t.status === 'valid-fork' || t.status === 'valid-headers'; }).length) %> +
    +
    +
    + + +
    +
    +

    Chain Tips

    +
    +
    + + + + + + + + + + + + <% if (!chainTips || chainTips.length === 0) { %> + + + + <% } else { %> + <% chainTips.sort(function(a, b) { return b.height - a.height; }).forEach(function(tip) { %> + + + + + + + + <% }); %> + <% } %> + +
    HeightHashBranch LengthStatusFork Height
    + +

    No active forks detected. Chain is healthy.

    +
    <%= formatNumber(tip.height) %> + + <%= formatHash(tip.hash, 20) %> + + <%= formatNumber(tip.branchlen || 0) %> + + <%= tip.status %> + + + <%= tip.branchlen ? formatNumber(tip.height - (tip.branchlen || 0)) : '--' %> +
    +
    +
    + + +
    +
    +

    About Chain Tips

    +
    +
    +
    + Active + The main chain tip (longest chain) +
    +
    + Valid Fork + A valid chain fork that may cause a reorg +
    +
    + Valid Headers + Chain with valid headers but incomplete blocks +
    +
    + Branch Length + Number of blocks in this fork branch +
    +
    +
    +
    + +<%- include('partials/footer') %> diff --git a/views/coin-flow.ejs b/views/coin-flow.ejs new file mode 100644 index 0000000..87414c8 --- /dev/null +++ b/views/coin-flow.ejs @@ -0,0 +1,94 @@ +<%- include('partials/header') %> + +
    + + +
    +
    +

    Recent Transfers

    + + <%= typeof total === 'number' ? formatNumber(total) : '0' %> transactions · page <%= (currentPage || 0) + 1 %> of <%= totalPages || 1 %> + +
    + +
    + <% if (!flows || flows.length === 0) { %> +

    No transactions to show. Try again later.

    + <% } else { %> + <% flows.forEach(function(flow) { + const totalOut = (flow.to || []).reduce(function(s, o) { return s + (o.value || 0); }, 0); + %> +
    +
    + + <%= flow.blockTime ? formatDate(flow.blockTime) : 'Pending' %> + + <% if (flow.blockHeight != null) { %> + #<%= formatNumber(flow.blockHeight) %> + <% } %> +
    +
    +
    + From +
    + <% (flow.from || []).forEach(function(f) { %> + <% if (f.coinbase) { %> + Coinbase + <% } else { %> + <%= formatHash(f.address, 16) %> + <%= f.value != null ? (f.value / 100000000).toFixed(8) : '0' %> <%= config.coinTicker %> + <% } %> + <% }); %> + <% if ((flow.from || []).length === 0) { %><% } %> +
    +
    +
    +
    + To +
    + <% (flow.to || []).forEach(function(t) { %> + <%= formatHash(t.address, 16) %> + <%= t.value != null ? (t.value / 100000000).toFixed(8) : '0' %> <%= config.coinTicker %> + <% }); %> + <% if ((flow.to || []).length === 0) { %><% } %> +
    +
    +
    +
    + <%= (totalOut / 100000000).toFixed(8) %> <%= config.coinTicker %> + <% if (flow.fee != null) { %> + Fee: <%= (flow.fee / 100000000).toFixed(8) %> <%= config.coinTicker %> + <% } %> +
    + +
    + <% }); %> + <% } %> +
    + + <% if (totalPages > 1) { %> +
    + <% const prevPage = (currentPage || 0) - 1; const nextPage = (currentPage || 0) + 1; %> + <% if (prevPage >= 0) { %> + Previous + <% } else { %> + Previous + <% } %> + Page <%= (currentPage || 0) + 1 %> of <%= totalPages %> + <% if (nextPage < totalPages) { %> + Next + <% } else { %> + Next + <% } %> +
    + <% } %> +
    +
    + +<%- include('partials/footer') %> diff --git a/views/difficulty.ejs b/views/difficulty.ejs new file mode 100644 index 0000000..39c5242 --- /dev/null +++ b/views/difficulty.ejs @@ -0,0 +1,192 @@ +<%- include('partials/header') %> + +
    + + + +
    +
    +
    + CURRENT DIFFICULTY + +
    +
    + <%= difficultyHistory.length > 0 ? formatDifficulty(difficultyHistory[difficultyHistory.length - 1].difficulty) : '--' %> +
    +
    +
    +
    + MIN DIFFICULTY + +
    +
    + <%= difficultyHistory.length > 0 ? formatDifficulty(Math.min(...difficultyHistory.map(d => d.difficulty))) : '--' %> +
    +
    +
    +
    + MAX DIFFICULTY + +
    +
    + <%= difficultyHistory.length > 0 ? formatDifficulty(Math.max(...difficultyHistory.map(d => d.difficulty))) : '--' %> +
    +
    +
    +
    + SAMPLES + +
    +
    <%= formatNumber(difficultyHistory.length) %>
    +
    +
    + + +
    +
    +

    Difficulty Over Time

    +
    +
    + +
    +
    + + +
    +
    +

    Difficulty History

    +
    +
    + + + + + + + + + + + <% if (!difficultyHistory || difficultyHistory.length === 0) { %> + + + + <% } else { %> + <% difficultyHistory.slice().reverse().forEach(function(entry, index) { %> + + + + + + + <% }); %> + <% } %> + +
    HeightDateDifficultyChange
    + +

    No difficulty history available.

    +
    <%= formatNumber(entry.height) %><%= formatDate(entry.timestamp) %><%= formatDifficulty(entry.difficulty) %> + <% if (index > 0) { + const prev = difficultyHistory[difficultyHistory.length - index]; + const change = ((entry.difficulty - prev.difficulty) / prev.difficulty * 100).toFixed(2); + %> + + <%= change > 0 ? '+' : '' %><%= change %>% + + <% } else { %> + -- + <% } %> +
    +
    +
    + + +
    +
    +

    About Difficulty

    +
    +
    +
    + What is difficulty? + Difficulty measures how hard it is to find a valid block. It is derived from the block header target: lower target means higher difficulty and more hashes needed on average. +
    +
    + Difficulty adjustment + <%= config.coinName %> uses <%= config.diffAdjustment %>. The network periodically recalculates difficulty so that block times stay near the target (<%= config.blockTime %> seconds). +
    +
    + Hashrate and difficulty + Expected hashes per block ≈ difficulty × 232 (for <%= config.algorithm %>). Network hashrate (H/s) ≈ (difficulty × 232) ÷ block time. +
    +
    + Why it changes + If blocks are found too quickly, difficulty increases. If too slowly, it decreases. This keeps issuance and security predictable. +
    +
    + Chart & table + The chart and table above show difficulty at sampled block heights. Use the Mining page for current hashrate and miner distribution. +
    +
    +
    +
    + + + +<%- include('partials/footer') %> diff --git a/views/emission.ejs b/views/emission.ejs new file mode 100644 index 0000000..00d83d2 --- /dev/null +++ b/views/emission.ejs @@ -0,0 +1,113 @@ +<%- include('partials/header') %> + +
    + + + +
    +
    +
    + CURRENT HEIGHT + +
    +
    <%= formatNumber(currentHeight) %>
    +
    + +
    +
    + CURRENT BLOCK REWARD + +
    +
    + <%= currentReward.toFixed(2) %> + <%= config.coinTicker %> +
    +
    + +
    +
    + NEXT HALVING AT + +
    +
    + <%= formatNumber(nextHalvingHeight) %> +
    + +
    + +
    +
    + SUPPLY + +
    +
    + <% if (actualSupply) { %> + <%= formatNumber(Math.round(actualSupply)) %> + <%= config.coinTicker %> + <% } else { %> + N/A + <% } %> +
    + +
    +
    + + +
    +
    +

    Halving Schedule (interval <%= formatNumber(halvingInterval) %> blocks)

    +
    +
    + + + + + + + + + + + + + <% if (!epochs || epochs.length === 0) { %> + + + + <% } else { %> + <% epochs.forEach(function(e) { %> + + + + + + + + + <% }); %> + <% } %> + +
    EpochReward (per block)Block RangeBlocksCoins This EpochCumulative Supply
    + +

    No halving schedule data.

    +
    #<%= e.epoch %><%= e.reward.toFixed(2) %> <%= config.coinTicker %><%= formatNumber(e.startHeight) %> - <%= formatNumber(e.endHeight) %><%= formatNumber(e.blocksInEpoch) %><%= formatNumber(Math.round(e.coinsThisEpoch)) %> <%= config.coinTicker %><%= formatNumber(Math.round(e.cumulativeSupply)) %> <%= config.coinTicker %>
    +
    +
    +
    + +<%- include('partials/footer') %> + diff --git a/views/glossary.ejs b/views/glossary.ejs new file mode 100644 index 0000000..a80b112 --- /dev/null +++ b/views/glossary.ejs @@ -0,0 +1,104 @@ +<%- include('partials/header') %> + +
    + + + +
    +
    +

    Glossary

    +
    +
    +
    + Address + A string (e.g. starting with a letter or number) that represents a destination for <%= config.coinTicker %>. You share your address to receive funds. Never share your private key. +
    +
    + Block + A batch of transactions and metadata (timestamp, previous block hash, nonce, etc.) secured by proof of work. Blocks are chained together to form the blockchain. +
    +
    + Block height + The number of blocks from the genesis (first) block. Height 0 is the genesis block; the latest block has the highest height. +
    +
    + Block reward + New <%= config.coinTicker %> created in each block and paid to the miner via the coinbase transaction. This reward halves at fixed intervals (halving). +
    +
    + Confirmation + A transaction has one confirmation when it is in the latest block, two when another block is mined on top, and so on. More confirmations mean stronger assurance the transaction is final. +
    +
    + Difficulty + A measure of how hard it is to find a valid block. The network adjusts difficulty so that blocks are found roughly every target interval (e.g. <%= config.blockTime %> seconds). +
    +
    + Halving + A scheduled event that cuts the block reward in half. It happens at fixed block intervals (e.g. every 210,000 blocks) to control inflation. +
    +
    + Hashrate + The total number of hash attempts per second by the network (e.g. TH/s). Higher hashrate means more security and more mining power competing for blocks. +
    +
    + Mempool + The set of unconfirmed transactions that nodes have received and are waiting to be included in a block. Miners typically choose transactions from the mempool when building blocks. +
    +
    + Miner + A participant who runs hardware (or software) to solve proof-of-work puzzles. The first to find a valid block receives the block reward and transaction fees. +
    +
    + Reorganization (reorg) + When the network abandons the previous tip and adopts a longer or heavier chain. Some blocks that were considered “confirmed” can become invalid. Small reorgs (e.g. 1–2 blocks) are rare but possible. +
    +
    + Transaction (tx) + A signed message that moves <%= config.coinTicker %> from one or more inputs (previous outputs) to one or more outputs (addresses and amounts). Stored in blocks after being confirmed. +
    +
    + UTXO + Unspent Transaction Output. The blockchain tracks outputs that have not yet been spent. Your “balance” is the sum of UTXOs that your addresses can spend. +
    +
    +
    + + +
    +
    +

    Frequently Asked Questions

    +
    +
    +
    +

    How do I find my transaction?

    +

    Use the search bar at the top: paste your transaction ID (txid) or address. You can also go to Transactions to browse recent and mempool transactions.

    +
    +
    +

    What does “unconfirmed” mean?

    +

    The transaction is in the mempool but not yet included in a block. After it is mined into a block, it becomes confirmed. More blocks on top of it mean more confirmations.

    +
    +
    +

    How is the rich list / balance calculated?

    +

    The Rich List and address balances are based on the sum of UTXOs (unspent outputs) that belong to each address. They require the indexer to be running.

    +
    +
    +

    Where does the hashrate come from?

    +

    The explorer gets network hashrate from the node’s getmininginfo RPC (networkhashps). It reflects the estimated total hashing power securing the chain.

    +
    +
    +

    What are chain tips and reorgs?

    +

    Chain tips are the ends of known chains (including the main chain and any forks). A reorg happens when the main chain switches to a different tip, undoing some recent blocks. See Chain Tips and Reorgs for details.

    +
    +
    +

    Can I use the explorer API?

    +

    Yes. The explorer proxies blockchain data; see API for endpoints. Typical usage: blocks, transactions, addresses, and mempool.

    +
    +
    +
    +
    + +<%- include('partials/footer') %> diff --git a/views/holders.ejs b/views/holders.ejs new file mode 100644 index 0000000..07dce56 --- /dev/null +++ b/views/holders.ejs @@ -0,0 +1,107 @@ +<%- include('partials/header') %> + +
    + + +
    +
    +

    Holder List

    +
    + + <% if (total === 0) { %>No holders<% } else { %>Showing <%= (currentPage - 1) * limit + 1 %>-<%= Math.min(currentPage * limit, total) %> of <%= formatNumber(total) %> holders<% } %> + +
    + > + + + Page <%= currentPage %> of <%= totalPages %> + = totalPages ? 'onclick="return false;"' : '' %>> + + +
    +
    +
    + +
    + + + + + + + + + + + <% if (holders.length === 0) { %> + + + + <% } else { %> + <% holders.forEach(function(holder) { %> + + + + + + + <% }); %> + <% } %> + +
    #AddressBalanceLast Seen
    + +

    No holders data available. Ensure the indexer is running.

    +
    <%= holder.position || '--' %> + + <%= formatHash(holder.address, 20) %> + + + + + <%= (holder.balance || 0).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 8 }) %> + <%= config.coinTicker %> + + + <% if (holder.last_seen) { %> +
    + <%= formatTimeAgo(holder.last_seen) %> + <%= formatDate(holder.last_seen) %> +
    + <% } else { %> + -- + <% } %> +
    +
    + + <% if (totalPages > 1) { %> + + <% } %> +
    +
    + +<%- include('partials/footer') %> diff --git a/views/index.ejs b/views/index.ejs index 35cfca5..0e7df3c 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -137,7 +137,7 @@ + + + + + + <%- include('partials/header', { page: 'supply-flow' }) %> + +
    + + + +
    +
    +
    + +
    +
    +
    <%= circulatingSupply.toLocaleString() %>
    +
    Current Circulating Supply
    +
    +
    + +
    +
    + +
    +
    +
    <%= tipHeight.toLocaleString() %>
    +
    Current Block Height
    +
    +
    + +
    +
    + +
    +
    +
    <%= Math.round(144 * 365.25) %>
    +
    Blocks per Year
    +
    +
    + +
    +
    + +
    +
    +
    <%= dailySupplyIncrease.toLocaleString() %>
    +
    Daily Supply Increase
    +
    +
    +
    + + +
    +
    +

    + + Supply Growth Projection +

    +

    Historical data combined with future projections

    +
    +
    + +
    +
    + + +
    +
    +

    + + Monthly Projections +

    +

    Detailed breakdown of supply growth over the next year

    +
    +
    +
    + + + + + + + + + + + <% projectionData.forEach((row, index) => { %> + + + + + + + <% }); %> + +
    DaysDateProjected SupplyMonthly Increase
    <%= row.days %><%= row.date %><%= row.supply.toLocaleString() %><%= index > 0 ? (row.supply - projectionData[index-1].supply).toLocaleString() : '0' %>
    +
    +
    +
    +
    + + <%- include('partials/footer') %> + + + + \ No newline at end of file diff --git a/views/supply.ejs b/views/supply.ejs new file mode 100644 index 0000000..292dd72 --- /dev/null +++ b/views/supply.ejs @@ -0,0 +1,140 @@ +<%- include('partials/header') %> + +
    + + + +
    +
    +
    + CURRENT HEIGHT + +
    +
    <%= formatNumber(currentHeight) %>
    +
    + +
    +
    + TOTAL SUPPLY (on-chain) + +
    +
    + <% if (totalSupply) { %> + <%= formatNumber(Math.round(totalSupply)) %> + <%= config.coinTicker %> + <% } else { %> + N/A + <% } %> +
    +
    + +
    +
    + CIRCULATING SUPPLY (indexer) + +
    +
    + <% if (circulatingSupply) { %> + <%= formatNumber(Math.round(circulatingSupply)) %> + <%= config.coinTicker %> + <% } else { %> + N/A + <% } %> +
    +
    + +
    +
    + MAX SUPPLY + +
    +
    + <%= formatNumber(maxSupply) %> + <%= config.coinTicker %> +
    +
    +
    + + +
    +
    +

    Supply Progress

    +
    +
    +
    +
    + Minted vs Max Supply +
    +
    +
    + + <% if (mintedPct != null && totalSupply) { %> + <%= mintedPct.toFixed(2) %>% minted + (~<%= formatNumber(Math.round(totalSupply)) %> / <%= formatNumber(maxSupply) %> + <%= config.coinTicker %>) + <% } else { %> + N/A + <% } %> + +
    + +
    + Circulating vs Max Supply +
    +
    +
    + + <% if (circPct != null && circulatingSupply) { %> + <%= circPct.toFixed(2) %>% circulating + (~<%= formatNumber(Math.round(circulatingSupply)) %> / <%= formatNumber(maxSupply) %> + <%= config.coinTicker %>) + <% } else { %> + N/A + <% } %> + +
    +
    +
    +
    + + +
    +
    +

    Issuance (approximate)

    +
    +
    +
    + Current Block Reward + + <%= currentReward.toFixed(2) %> <%= config.coinTicker %> / block + +
    +
    + Blocks per Day + + ~<%= Math.round(blocksPerDay) %> blocks/day + +
    +
    + Daily Issuance + + ~<%= formatNumber(Math.round(dailyIssuance)) %> <%= config.coinTicker %> / day + +
    +
    + Yearly Issuance + + ~<%= formatNumber(Math.round(yearlyIssuance)) %> <%= config.coinTicker %> / year + +
    +
    +
    +
    + +<%- include('partials/footer') %> + diff --git a/views/transaction.ejs b/views/transaction.ejs index e47c0be..0720495 100644 --- a/views/transaction.ejs +++ b/views/transaction.ejs @@ -81,10 +81,10 @@ -
    +
    Locktime - <%= tx.locktime %> + <%= tx.locktime %><% if (locktimeInterpretation) { %> (<%= locktimeInterpretation %>)<% } %>
    @@ -101,6 +101,19 @@ <%= tx.fee && tx.size ? (tx.fee / tx.size).toFixed(2) : '0' %> sat/B
    + + <% if (typeof vsize === 'number') { %> +
    + Virtual Size + <%= formatNumber(vsize) %> vB +
    + <% } %> + <% if (feeRateSatPerVb) { %> +
    + Fee Rate (sat/vB) + <%= feeRateSatPerVb %> sat/vB +
    + <% } %> @@ -116,10 +129,15 @@
    - <% tx.vin.forEach(function(vin, index) { %> -
    -
    #<%= index %> -
    + <% tx.vin.forEach(function(vin, index) { + var seqNum = vin.sequence != null ? (typeof vin.sequence === 'number' ? vin.sequence : parseInt(vin.sequence, 16)) : null; + var isRBF = seqNum != null && seqNum < 0xfffffffe; + var scriptsigHex = vin.scriptsig != null ? (typeof vin.scriptsig === 'string' ? vin.scriptsig : (vin.scriptsig.hex || '')) : ''; + var scriptsigAsm = vin.scriptsig_asm || ''; + var witness = vin.witness || []; + %> +
    +
    #<%= index %>
    <% if (vin.is_coinbase) { %>
    @@ -136,18 +154,48 @@ <% } %>
    - <%= vin.prevout && vin.prevout.value ? (vin.prevout.value / - 100000000).toFixed(8) : '0.00000000' %> <%= config.coinTicker %> + <%= vin.prevout && vin.prevout.value ? (vin.prevout.value / 100000000).toFixed(8) : '0.00000000' %> <%= config.coinTicker %>
    + +
    + <% if (seqNum != null) { %> +
    + Sequence + <%= vin.sequence %> <% if (isRBF) { %>RBF<% } %> +
    + <% } %> + <% if (scriptsigAsm) { %> +
    + ScriptSig (asm) + <%= scriptsigAsm %> +
    + <% } %> + <% if (scriptsigHex) { %> +
    + ScriptSig (hex) + <%= scriptsigHex %> +
    + <% } %> + <% if (witness.length > 0) { %> +
    + Witness (<%= witness.length %> stack item(s)) +
    + <% witness.forEach(function(w, i) { %> +
    <%= i %> <%= w %>
    + <% }); %> +
    +
    + <% } %> +
    <% } %>
    - <% }); %> + <% }); %>
    @@ -165,10 +213,13 @@
    - <% tx.vout.forEach(function(vout, index) { %> -
    -
    #<%= index %> -
    + <% tx.vout.forEach(function(vout, index) { + var spkHex = vout.scriptpubkey != null ? (typeof vout.scriptpubkey === 'string' ? vout.scriptpubkey : (vout.scriptpubkey.hex || '')) : ''; + var spkAsm = vout.scriptpubkey_asm || ''; + var spkType = vout.scriptpubkey_type || 'unknown'; + %> +
    +
    #<%= index %>
    <% if (vout.scriptpubkey_address) { %> @@ -176,20 +227,50 @@ <%= formatHash(vout.scriptpubkey_address, 24) %> <% } else { %> - - <%= vout.scriptpubkey_type || 'Unknown' %> - - <% } %> + <%= spkType %> + <% } %>
    <%= vout.value ? (vout.value / 100000000).toFixed(8) : '0.00000000' %> <%= config.coinTicker %>
    + +
    +
    + Type + <%= spkType %> +
    + <% if (spkAsm) { %> +
    + ScriptPubKey (asm) + <%= spkAsm %> +
    + <% } %> + <% if (spkHex) { %> +
    + ScriptPubKey (hex) + <%= spkHex %> +
    + <% } %> +
    - <% }); %> + <% }); %>
    + + + <% if (rawHex) { %> +
    +
    +

    Raw Transaction

    + +
    +
    <%= rawHex %>
    +
    + <% } %> <%- include('partials/footer') %> \ No newline at end of file