We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lizouzt/TrendRadar'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>热点新闻分析</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js" integrity="sha512-BNaRQnYJYiPSqHHDb58B0yaPfCu+Wgds8Gp/gU33kqBtgNS4tSPHuGibyoeqMV/TJlSKda6FXzoEyYGjTe+vXA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<style>
* { box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
margin: 0;
padding: 16px;
background: #fafafa;
color: #333;
line-height: 1.5;
}
.container {
max-width: 600px;
margin: 0 auto;
background: white;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}
.header {
background: linear-gradient(135deg, #7a72ff 0%, #3aafed 100%);
color: #fff;
padding: 32px 24px;
text-align: center;
position: relative;
}
.save-buttons {
position: absolute;
top: 16px;
right: 16px;
display: flex;
gap: 8px;
}
.save-btn {
background: rgba(255, 255, 255, 0.2);
border: 1px solid rgba(255, 255, 255, 0.3);
color: white;
padding: 8px 16px;
border-radius: 6px;
cursor: pointer;
font-size: 13px;
font-weight: 500;
transition: all 0.2s ease;
backdrop-filter: blur(10px);
white-space: nowrap;
}
.save-btn:hover {
background: rgba(255, 255, 255, 0.3);
border-color: rgba(255, 255, 255, 0.5);
transform: translateY(-1px);
}
.save-btn:active {
transform: translateY(0);
}
.save-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.header-title {
font-size: 22px;
font-weight: 700;
margin: 0 0 20px 0;
}
.header-info {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
font-size: 14px;
opacity: 0.95;
}
.info-item {
text-align: center;
}
.info-label {
display: block;
font-size: 12px;
opacity: 0.8;
margin-bottom: 4px;
}
.info-value {
font-weight: 600;
font-size: 16px;
}
.content {
padding: 24px;
}
.word-group {
margin-bottom: 40px;
}
.word-group:first-child {
margin-top: 0;
}
.word-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
padding-bottom: 8px;
border-bottom: 1px solid #f0f0f0;
}
.word-info {
display: flex;
align-items: center;
gap: 12px;
}
.word-name {
font-size: 17px;
font-weight: 600;
color: #1a1a1a;
}
.word-count {
color: #666;
font-size: 13px;
font-weight: 500;
}
.word-count.hot { color: #dc2626; font-weight: 600; }
.word-count.warm { color: #ea580c; font-weight: 600; }
.word-index {
color: #999;
font-size: 12px;
}
.news-item {
margin-bottom: 20px;
padding: 16px 0;
border-bottom: 1px solid #f5f5f5;
position: relative;
display: flex;
gap: 12px;
align-items: center;
}
.news-item:last-child {
border-bottom: none;
}
.news-item.new::after {
content: "NEW";
position: absolute;
top: 12px;
right: 0;
background: #fbbf24;
color: #92400e;
font-size: 9px;
font-weight: 700;
padding: 3px 6px;
border-radius: 4px;
letter-spacing: 0.5px;
}
.news-number {
color: #999;
font-size: 13px;
font-weight: 600;
min-width: 20px;
text-align: center;
flex-shrink: 0;
background: #f8f9fa;
border-radius: 50%;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
align-self: flex-start;
margin-top: 8px;
}
.news-content {
flex: 1;
min-width: 0;
padding-right: 40px;
}
.news-item.new .news-content {
padding-right: 50px;
}
.news-header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 8px;
flex-wrap: wrap;
}
.source-name {
color: #666;
font-size: 12px;
font-weight: 500;
}
.rank-num {
color: #fff;
background: #6b7280;
font-size: 10px;
font-weight: 700;
padding: 2px 6px;
border-radius: 10px;
min-width: 18px;
text-align: center;
}
.rank-num.top { background: #dc2626; }
.rank-num.high { background: #ea580c; }
.time-info {
color: #999;
font-size: 11px;
}
.count-info {
color: #059669;
font-size: 11px;
font-weight: 500;
}
.news-title {
font-size: 15px;
line-height: 1.4;
color: #1a1a1a;
margin: 0;
}
.news-link {
color: #2563eb;
text-decoration: none;
}
.news-link:hover {
text-decoration: underline;
}
.news-link:visited {
color: #7c3aed;
}
.topic-trend-section {
margin-top: 40px;
padding-top: 24px;
border-top: 2px solid #f0f0f0;
}
.topic-trend-title {
color: #1a1a1a;
font-size: 16px;
font-weight: 600;
margin: 0 0 20px 0;
}
.viral-topic-item {
padding: 16px 0;
border-bottom: 1px solid #f5f5f5;
}
.viral-topic-item:last-child {
border-bottom: none;
}
.viral-topic-header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 12px;
}
.viral-topic-keyword {
font-size: 16px;
font-weight: 600;
}
.topic-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px 0;
border-bottom: 1px solid #f9f9f9;
}
.topic-item:last-child {
border-bottom: none;
}
.viral-topic-stats {
font-size: 12px;
color: #666;
}
.viral-topic-stats .new { color: #dc2626; font-weight: bold; }
.viral-topic-stats .up { color: #f59e0b; font-weight: bold; }
.viral-topic-stats .level-high { color: #dc2626; font-weight: bold; }
.viral-topic-stats .level-mid { color: #f59e0b; font-weight: bold; }
.viral-sample-titles {
list-style: none;
padding-left: 16px;
margin: 0;
font-size: 13px;
}
.viral-sample-titles li {
color: #666;
padding: 4px 0;
position: relative;
}
.viral-sample-titles li::before { content: '▪'; position: absolute; left: -14px; color: #ccc; }
.new-section {
margin-top: 40px;
padding-top: 24px;
border-top: 2px solid #f0f0f0;
}
.new-section-title {
color: #1a1a1a;
font-size: 16px;
font-weight: 600;
margin: 0 0 20px 0;
}
.new-source-group {
margin-bottom: 24px;
}
.new-source-title {
color: #666;
font-size: 13px;
font-weight: 500;
margin: 0 0 12px 0;
padding-bottom: 6px;
border-bottom: 1px solid #f5f5f5;
}
.new-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px 0;
border-bottom: 1px solid #f9f9f9;
}
.new-item:last-child {
border-bottom: none;
}
.new-item-number {
color: #999;
font-size: 12px;
font-weight: 600;
min-width: 18px;
text-align: center;
flex-shrink: 0;
background: #f8f9fa;
border-radius: 50%;
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
}
.new-item-rank {
color: #fff;
background: #6b7280;
font-size: 10px;
font-weight: 700;
padding: 3px 6px;
border-radius: 8px;
min-width: 20px;
text-align: center;
flex-shrink: 0;
}
.new-item-rank.top { background: #dc2626; }
.new-item-rank.high { background: #ea580c; }
.new-item-content {
flex: 1;
min-width: 0;
}
.new-item-title {
font-size: 14px;
line-height: 1.4;
color: #1a1a1a;
margin: 0;
}
.error-section {
background: #fef2f2;
border: 1px solid #fecaca;
border-radius: 8px;
padding: 16px;
margin-bottom: 24px;
}
.error-title {
color: #dc2626;
font-size: 14px;
font-weight: 600;
margin: 0 0 8px 0;
}
.error-list {
list-style: none;
padding: 0;
margin: 0;
}
.error-item {
color: #991b1b;
font-size: 13px;
padding: 2px 0;
font-family: 'SF Mono', Consolas, monospace;
}
.footer {
margin-top: 32px;
padding: 20px 24px;
background: #f8f9fa;
border-top: 1px solid #e5e7eb;
text-align: center;
}
.footer-content {
font-size: 13px;
color: #6b7280;
line-height: 1.6;
}
.footer-link {
color: #4f46e5;
text-decoration: none;
font-weight: 500;
transition: color 0.2s ease;
}
.footer-link:hover {
color: #7c3aed;
text-decoration: underline;
}
.project-name {
font-weight: 600;
color: #374151;
}
@media (max-width: 480px) {
body { padding: 12px; }
.header { padding: 24px 20px; }
.content { padding: 20px; }
.footer { padding: 16px 20px; }
.header-info { grid-template-columns: 1fr; gap: 12px; }
.news-header { gap: 6px; }
.news-content { padding-right: 45px; }
.news-item { gap: 8px; }
.new-item { gap: 8px; }
.news-number { width: 20px; height: 20px; font-size: 12px; }
.save-buttons {
position: static;
margin-bottom: 16px;
display: flex;
gap: 8px;
justify-content: center;
flex-direction: column;
width: 100%;
}
.save-btn {
width: 100%;
}
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<div class="save-buttons">
<button class="save-btn" onclick="saveAsImage()">保存为图片</button>
<button class="save-btn" onclick="saveAsMultipleImages()">分段保存</button>
</div>
<div class="header-title">热点新闻分析</div>
<div class="header-info">
<div class="info-item">
<span class="info-label">报告类型</span>
<span class="info-value">实时分析</span>
</div>
<div class="info-item">
<span class="info-label">新闻总数</span>
<span class="info-value">112 条</span>
</div>
<div class="info-item">
<span class="info-label">热点新闻</span>
<span class="info-value">1 条</span>
</div>
<div class="info-item">
<span class="info-label">生成时间</span>
<span class="info-value">12-28 20:21</span>
</div>
</div>
</div>
<div class="content">
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">ai 人工智能</div>
<div class="word-count ">1 条</div>
</div>
<div class="word-index">1/1</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">bilibili 热搜</span><span class="rank-num top">3</span><span class="time-info">20时21分</span>
</div>
<div class="news-title"><a href="https://search.bilibili.com/all?keyword=2025%E6%9C%80%E5%85%A8AI%E6%88%90%E6%9E%9C%E7%9B%98%E7%82%B9" target="_blank" class="news-link">2025最全AI成果盘点</a>
</div>
</div>
</div>
</div>
<div class="topic-trend-section">
<div class="topic-trend-title">🔥 异常热度话题</div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">6级地震</div>
<div class="viral-topic-stats">
7条提及 · <span class="new">新话题</span> · <span class="level-high">高热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>台湾宜兰县海域发生6.6级地震</li><li>台湾宜兰县海域6.6级地震</li><li>台湾6.6级地震 台北摇晃近1分钟</li></ul></div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">财政部</div>
<div class="viral-topic-stats">
7条提及 · <span class="new">新话题</span> · <span class="level-high">高热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>财政部:2026年大力提振消费</li><li>财政部:明年将扩大财政支出盘子</li><li>财政部:明年继续支持消费品以旧换新</li></ul></div></div>
<div class="topic-trend-section">
<div class="topic-trend-title">✨ 关注话题趋势</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">自动驾驶</div>
<div class="word-count">6 条提及 <span style="color: #059669;">(↓100.00%)</span></div>
</div>
</div>
<div class="news-item">
<div class="news-content" style="padding-right: 0;">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAADICAYAAAA0n5+2AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAN/NJREFUeJzt3XmYXFWd//H3t6q3rEATwpJACIokQEAggHANMKJsQ37VAuMAo+MSRRwV0DAgbgjjiKyyqQhENseETW8ZlE1Bgo1EEIFAANkSCCGBcBOSkPRa5/fHuZWuLrrTS52qe2/V9/U8/XT36erqcz91u+rUuWcRYwxKKaWUUsqdVNQVUEoppZSqNtrAUkoppZRyTBtYSimllFKOaQNLKaWUUsoxbWAppZRSSjmmDSyllFJKKce0gaWUUkop5Zg2sJRSSimlHNMGllJKKaWUY9rAUkoppZRyTBtYSimllFKOaQNLKaWUUsoxbWAppZRSSjkWiwaWWGNFRKKui1JKKaVUqeqirkBoDPAusAWwthx/IJvNpoCpwHOZTCZXjr9RKzRLtzRPdzRLtzRPdzRLt5KQZ8k9WCLyFRF5WkTWhh9/FZGjXVTOsQbgtPCzKo1m6YjnB+mrzYEff9RMvOJqc+DHPT9IR12nhNNz0y3N0x3N0q3Y5+niEuEy4FvAfsB04AEgKyJ7OLhvpaqW5wfHAUs20HDvAiYfvoGGe4ElYblSSqkEK7mBZYyZb4z5gzHmRWPMP40x3wHWAx8pvXpKVaewEXUHMKHoRxOAO7SRpZRSyeZ0kLuIpEXkRGAU8FeX9+2AAd4MP6vSaJYlCC8DXhF+WzyxI//95Xq5cFj03HRL83RHs3Qr9nmKMaXXTUSmYRtUTdjeq5ONMX/YzO0bgcaCojHAshkzZoyfPXv2urCsO5PJdGaz2Xqg8IWmK5PJdGWz2UZ6vzj1V96RyWRy2Wy2qagaHdgHprGovD38/V7XdTOZTFs4qK6w3GQymfZsNltH7wkD/ZXrMekxcYnxDsqReoABjKTjyK/JwgVJOCaq8HHSY9Jj0mPSY8pkMm0Mk6tZhC8AH8bOAjwBuElEDjXGLO7n9ucA5xYXzpo160KgM/y2FbgZOAnwCm52FzAfOBXYvaD8FuAv4X1vX1B+JfAscBEwCViJfZDPAwJ6ehLyTgeai+rXFpZPxQ6qy3sT+AH2cuhnCsoXh/d7NHBsQbnrY7oQ26jNq9QxzQS2xWb5lyo5poo9TlvS9mTASAYynTfOAv41CcdEfB4nAV7KZrOXVdExQUSPUzabnQ2cCBxCT09Boo+JiB6nbDb7KPBzoIueLBN9TET7OP0nPa9Dz5bxmL7MMDlpYBljOoCXwm//LiL7Y8Ppr2IXAJcVfD8GWDZnzpyzC3uwws9zgdsKbtsVfr6GopZnwX33ak2Hn78HXAr8N7bFnG9Nn15Ut3ZgRR/lAM8Vlef/SR4FHu+j/G7g/oJy18d0dlH9KnVMC+jJckNYnvRjqtjjtJqmg/uo8/s8zoSLPsKyBeG3sT4m4vM4NQIXY5/bquWYCute6WOqA2bQ87xZWPekHhNE8zjVhb9XmGXSjwmie5wW0fM6lO9lKtcxDYuTS4Tvu1ORB4DXjDGfG+TtxxKug2WMKdc6WE3YFu7ppXT5Kc2yFJ4f1AM3Yd9R9cdgZ+dObm1p7t7M7VQRPTfd0jzd0SzdSkKeJfdgicgF2Fbja9ieqJOBw4AjS71vpaqJ5wcjse+i/hXIYSeZGPoe6H6GNq6UUiq5XFwiHI+9xrk9thfqaeBIY8z9m/2tyjPYa8+xnXGQIJrlEHl+sAX2mv8MbJf4hdgJIbOx4wiKbVO52lUVPTfd0jzd0Szdin2eZblEOORKVOASoVJR8fxgW+Ae7ESQ94D/Af4Y/jgF7AOMA1YB04CvARuBfVpbml+odH2VUkqVrmYaWOH0zaOBuzOZTNdAt1f90ywHz/ODSdhBl7sCa7CTLXqtEddEZ/ooXjz4HnZ9pI36HHbg5X7YQZzTW1uaO1CDouemW5qnO5qlW0nI0+lCozFXh52+GZcNrpNMsxwEzw+mYqf87oqdSnwmfSzA20RXejvWz2iiK43t7v4udtPzadjlRdTg6bnplubpjmbpVuzzrKUGllIV4/nBdOBhYCJ2Asg3gScH+etvY9eMATjd84MjnFdQKaVUWWkDSynHPD/4F+BBYGvgn8AZ2MV4h+Ih4Dfh17d4fjDOWQWVUkqVXS01sLqxq7rq1PfSaZb98Pwgg122ZDR2Ru0Z2B6sfnWQzq2m6akO0rmiH10GLMXO1L3F84OSF76rAXpuuqV5uqNZuhX7PGtmkLtS5eb5wX8Cv8TuefUo8H3s1hCl2BW7fUMdcFprS/NVJd6fUkqpCqiZBla42eNJwNxMJtM50O1V/zTL9/P84HTg8vDbB4DzsetcDWgkHXUzef7I+Uy5dwMNfc2GORk7hqsdO6vwGQdVrkp6brqlebqjWbqVhDxr6RJhGrvZY3qgG6oBaZYhzw/E84Pz6Glc/Q7bczWoxhVAA92prWjbu4Hu/v4f52J7xBqB2zw/KN6lXvXQc9MtzdMdzdKt2OdZSw0spZzy/CCF3Qvr+2HRr7GbhLreF8uEf2MNdnf5yzZ7a6WUUpHTBpZSw1CwafPXsQ2ga4ErgXJ1VQfAueHXX/H84Ngy/R2llFIO1FIDqwu4K/ysSlPTWXp+MAK7hMKnsTNYfgLMYZh5tFHXvYLRD7dRN9BsmFbg1vDrG8MteFRvNX1uloHm6Y5m6Vbs86yZQe5KuRBu2vw74BCgA7tp83ygeImFcmkAfgXsgh1M/4nWluZK/W2llFKDFNsl5l3LZrONwKnANZlMpj3q+iRZrWbp+cE22E2b98Vu2vxD7KbNJb1LGUtbfYbnjs8y9c61NA10ibEDOAe7dMPHsLMLLynl71eTWj03y0XzdEezdCsJedbSJUIBdg8/q9LUXJaeH+yE3fpmX+xg829jN3EuuQs4hZFRdO6Swgw2z5exlyUBfuT5wd6l1qGK1Ny5WWaapzuapVuxz7OWGlhKDYvnB7thN23eDXgL+G/seKgo3Y6tUz1wu+cHIyOuj1JKqQLawFJqMzw/2BfbkNkReB17Se4fkVaqxw+wswt3xc5gVEopFRO11MDqwo5bie2MgwSpiSw9PzgU+DMwDngJOB143vXfaaOu+1W2+sMgZhEWWwN8L/x6lucHn3Rbs0SqiXOzgjRPdzRLt2Kfp84iVKoPnh/MBG4DmoBF2IHlKyKtVP++AfwHsBrYs7WleXnE9VFKqZpXMw2scMbBOcAFcZ1xkBTVnqXnB58GbsRuwfA34LuUvmlzv8bSVn8Cz37+Dva4YRCzCPtSD9yMvVT4MHBYrS7dUO3nZqVpnu5olm4lIc9aukQowPbEeMZBglRtlp4ffB3b7ZwGHgTOooyNK7CzCBvoHjeEWYTFOoFvYTeDngGc7axyyVO152ZENE93NEu3Yp9nLTWwlOpXuGnz9+kZLP57hrhpc8SWAheHX5/v+cH0KCujlFK1ThtYquaFmzZfDpwXFs0D/hfYGFWdhsnHDsqvA27z/GB0pLVRSqkaVksNrA5s70RH1BWpAlWTpecHdcANwGlh0fXYxlbFjm09DZ2L2HbeehpcbBR9PrAKmAz8zMH9JU3VnJsxoXm6o1m6Ffs8a2aQu1LFPD9owm6e/P+wmzZfBcwNv06y/YBrsGMTTmptaZ4XcX2UUqrm1EwDK5vNNmE35j07k8m0leNv1IpqyNLzg7FAFjgM+w7o4vD7is++25KNDZ/imdNuY88r1zDC1buxrwGfA9Zil2543dH9xlo1nJtxonm6o1m6lYQ8a+kSIdg1jZQbic0y3LT5AWzjagN2RXSfCBpXeSlMg+O7vAZ4DhgL3Or5Qdrx/cdZYs/NmNI83dEs3Yp1nrXWwFI1zvODHYEF2Mto72I3bb4PB5s2x0wXdo2YjcBB2LW8lFJKVYg2sFTN8PzgQ9h9BacAb2PXuPpLpJUqr2XYLnSA73l+cFCUlVFKqVpScgNLRM4RkcdEZJ2IvCUivojs5qJyrnh+kL7EeAddb/Z78hLjHVRjl0vKoQO7pEFsZ28U8/xgH2xjaidsw+ObwN8jrVRoPQ2dC5h0raNZhMXuAu7HLpw6Lxx7Vs0Sd27GnObpjmbpVuzzdNGDdSjwU+AjwCew23bcJyKjHNx3yTw/OA5YkiP1QMDIn+VIPQAsCcvV8Bjs6uaJuKzm+cEM7PpQ22A3bf4GdnxSLOQQs5yxa3NIufL8X2AltnH5izL9jbhI1LmZAJqnO5qlW7HPs+QGljHmKGPMjcaYZ40xT2FnLu2EHeMSqbARdQcwoehHE4A7tJE1bI3AFeHnWPP84F+xY6zGAs8AZwCvRlmnYmNpbziRRWeOpd31QPe89cB3sIP4T/T84DNl+jtxkJhzMyE0T3c0S7din2c5xmBtEX4u6/5tAwkvA14Rflu8V1H++8v1cmH18vzgZOzswCbgMexlwRVR1ilCTwJzwq9/5vnB5AjropRSVa/O5Z2JSH7LkVZjzDObuV0jvVudYwBmzJjRGK5tAdCdyWQ6s9lsPXb8SF5XJpPpCnfSlv7KR3LgIRtomLi56gI7jqTj8Gw2u6CgvD38Wa/ehEwm05bNZlNF5SaTybRns9k6emfZX3lJx1RQ3pHJZHIFWW0qx3aXFrfoXR9TY1j/xmw2G8tjuswc/DVIXQ4igllgkO830bmxia5Nt88hZi1NnU10ppvo2lT3DtK5DTR0jaSjroHuTW9C2qjrbqO+eyxt9YUbM/dXvp6Gzi7SZks29qrjeho6c4jJ91iNpr0BTEow1NEto+moL7z9GkZ0FJf3V/cBjul6MAeB7CmY2y/0Ww+dIqvaE3buDfT/tKm+VXRMm6t7WY+pQGM2m62KY4rqcQo/p+idZaKPKeLHqfB1qGzHVMoaW04bWNixWHsCHx3gducA5xYXzpo160IgP9C3FbgZOAnwCm52FzAfOBXYvaD8Fuwg5nOA7afzxgcWMPCb9P144yzg+IKi04Hmovq1heVT6dlSBeBN7BpKHwEKL7ssxvaeHQ0cW1Be0jEVlF8JPIudIVZ4Ep+H7Tm8gt5cH1MGOBi4FLvkQWyOyfODM7Ziv8u7SH8dYBeC1zyWvHQL+64/lCUfnszqY/I3fo/6V25hn3lH8eLB27F+Rr58NU1P3cpev5/J80duRdve+fIVjH7YZ/eHMzx3/Cg6d8mXv8pWf7iXXZ88gWc/30D3uHz5Irad18qkVz7FM6cVrnO1gEnXLmfs2hNZdKYtMakRdO09io6G7Vk39hCWnpK/bQ7puJb9LzmQZZOnsfLEfHkH6VW/ZL9rD2XJtKEc0+G8fP9DTJ7SRXq/l2l+eAqrzo3icaJ8/09peoYEVMsxQXTPEWcDW2H/1/M7HCT9mKJ6nB4H9qF3lkk/pigfp8/R8zq0qIzH9GWGyVkDS0Suxh7YIcaYZQPc/ALgsoLvxwDL5syZc/bs2bPXhWX5E3AucFvBbfPvBPJbgRSXXwDI40w4BDh8oHo/zM6TFpodb8jw3G8ny5octjW9AvvgFnuuqDw/uO5R7D9Pcfnd2BlceSUdU0F5ftbE2UX1y79DKK57OY6pMbzf2BzTCjNagEtXM/LrAClyd7zNyKuz7N4O8BA7L1rIxMX52+cHld/Dro800bWw5w+mcwDzmXJvA92bHr826roBsky9s7gHC+AO9rihuAcL4Db2vLKw4vkerHlMuySsJyPpbFjB6PUrGPPecsZeUnSsLGTiq88yflN5vu5DPaa/stOtwBrgvGcZv/cLZty6jL1Jks69vP7OvXT4d6vpmKJ6jmgHPltQ38K6J/WYIJrHqRv4WMFxQPKPCaJ9nPKvQ+U+pmEpeascERHsHm6fBA4zxrw4jPtwvlVOOLZqCfbd7GCCehW7XcqNrS3NG13UoVqF3bbbASsymUxkq58XCjdtvg77rgbseKPr6PmHia06uuVDrNr6n4x7p4t0pWbEnA8cA7yB3UpnTYX+blnF8dxMMs3THc3SrSTk6WKQ+0+BTwMnA+tEZLvwY4SD+x621pbmbnpavsUvWib8+AG2+3A9MBn4GbDU84PveH6wVYWqmkQN2O7ccs16G5Jw0+bbsY2rbmwX9bUkoHEFMJqO+kNYekrx2Ksy+zGwHPsG5JeeH5T8bi0mYnVuVgHN0x3N0q3Y5+migfUV7MzBP2Ovj+Y//t3BfZektaX5N8AJ2Hfphd7CruJ9F/bF+Kjw89vYtZJ+CLzm+cGlnh9sbqC8ipjnB2OA3wMt2C7oHwO/oqdrWPVtA3aboBy29/kL0VZHKaWqi4t1sKSfjxsd1K9kYSNr50Y6Tz6Q155uoOurwEzgwYKbtWF7smYC/wMsBUZjp/W/4vnBDZ4fTK1w1dUAPD/YGvgTdlzDRuxlL58IN21OmGewYxAArvT84INRVkYppapJTexF2NrS3D2ODQunsOq1kXT+g/5fgLuALHZW4ZnYF6B67KWnxZ4f/M7zg4MrUecEGPbUVRfCnsWHgf2BtdiFNO8hxqv6bk4OiWq7hxuBfwAjgds9P6jkZcpyifTcrEKapzuapVuxzrPkQe5OKlGGQe7FPD+YAEzH7kM3FHsDX8ROC82PU2nFXor6Q2tLs/aWVJjnB7tiZ4pMwl7W/R69Z8moodkWuBXba3tpa0vzmRHXRymlEq9mGliH+ysnfohVLYsZ/+gwZ2rtAszCLv2QX95iMXatj7mtLc3l2Kg3lsLZG1OB5yo9e8Pzgw8D9wLjsWPrzsE+DolVR7ccyLLJC5n4agVnERY7HHsuG+ATrS3Nf4qoHiWJ8tysRpqnO5qlW0nIsyYuEQJszYaG/Vh+bAkztV7BXoaaiV1PYyN2gbKbsOO0zvD8YLSb2sZeA3bxt4rO3vD84KPYyRTjsY/HGSS8cQV2FuE0Vp5Y4VmExf4E/A7bS/srzw+aI6xLKSI5N6uY5umOZulW7POsmQaWQ28DF2FXjL0Ou2jjROAnwOueH5zv+cE20VWvOnl+cDR20+YtsKsEn0HMNm2uAhcDr2PXlrmpipZuUEqpitMG1vCtB36BXazxEuzSFFtixwMt9fzgat1Q1w3PD07E9q6MwI61+iZ2DSfl1kbsJdcu7K4Mw94iQimlal3NNLC6SZl26lbntxJxqAOYh92f77vAS9iGwFeBFz0/mBuOG6omBtugLPt4Ic8PTgV+jR33tgD4b+Cdcv/dSsohpoP0qjKcm8PxPHbBXYDLPD+YEmVlhqFi52aN0Dzd0Szdin2eNTPIvYRZhMNxEPB5YN+Csvuwg4gfbG1pjj70mAsvT30L+FFYdHf4tW5jVH4C/Bz7//IMML21pbk92ioppVSy1EwD6xh/+U57sPLkJ9jhgTbqK7XK9+7YmYcz6OktfBzb0PptuJ1P4mSz2TrsshWPZjIZ59vRhI2ri7BrkYGdVHA5vTdJrRpNdKYPZcm0h9h5UQXPzYGMw+Y+FriytaW5r41YY6fc52at0Tzd0SzdSkKeNXOJcDTtdbux6rAmutIV/LOLgdnAccB8bANhOnbfvOc9Pzgl3EcvaeqAz9CzXIUz4abN19PTuPolcBlV2rgCaKIrPZnVx1T43BzIKuxenQCneX5wZIR1GYqynZs1SvN0R7N0K/Z51kwDK2LLgPOwA4d/hR0g/0HsIPklnh98y/ODLSKsXyx4ftCIXfDyC9jV9q/CZhTLdyc1YAFwZ/j1LTo7VimlBk8bWJUVYC91HQ38FNtLsC1wAXaJh4s8P9ghuupFJ1xD7C5sb18n9hLhLeimzVH7CbAEuwn6Lbp0g1JKDU7NNLC6SZl1NL4ek5laG4EbsD1a/wu8BozBzpB71fOD6z0/2C3C+g3EYC9/OskyXNTyj8DHsdmch+05ieXqvK7lEPMe9a/E5Nws1oadbNAFHIld2C/OnJ6bSvN0SLN0K/Z51swg9wrPIhwqAQ7DzjzcPSwz2I2nf9za0rwwonqVXdhjdx+wB3bT5vOAhyKtlOrLSdjxhO3YWYXPRFwfpZSKtZppYB3jL99pf5ad8hcm/S5GM7X6si92DNJHCsoWYDeXvicOSzyEszeOBu4uZfaG5wcfwPZc7Yy9XPo94DEXdUySJjrTR/Hiwfew6yMxPzevwi5B8jywT2tLc+x2snd1bipL83RHs3QrCXnWzCXC0bTX7ci702M2U6svTwBfA07E9ux0AYcAfwCe9vzg054fRLlnHdhZG8dSwuwNzw/2Av6CbVwtx/aO1FzjCuwswu1YPyMB5+a52K2hpmDHZsVRyeem6kXzdEezdCv2edZMAyuBXgK+jV0h/nbsWJg9sQO/X/L84DTPD0ZFWL9h8/zgYOxlwO2w+wmejt1fUMVbgG1kAZzq+cHMKCujlFJxpg2s+FuJXZj0aGAO9lLqTsAVwGueH/zA84NxEdZvSML1lO7H7tu4GNu40k2bk6MVuzUUwA2eH2wbZWWUUiquaqaBtZH67lWMeq6DdFJnpq3Dbl9yDHbhzRVAM7ZHYannB1d6fjCpQnXpxr7QDmm8kOcHn8IuuDoS+DvwDXTTZjpI51bT9FSCzs0rgZeBrYFfe34Qp+eRYZ2bql+apzuapVuxz7NmBrnHfBbhcKSAo4DPAh8Iy7qxC3Ve2NrS/HRUFeuL5wdfwi4aKsDD2IZhWR5rVRG7YBfNbQDOam1pvjji+iilVKzUTANrpr9sksdrZ/yJXeZtoCGWMw5KcDB25uGHC8ruwc48XOB65mE2m63HTtufm8lkOge6vecHZ4d1ydfrR8AGl3VKspF01M3k+SPnM+XehJ2bJ2DXyOoEDmhtaX4y2uoM/dxUm6d5uqNZupWEPOPUtV9WI+hMj+O9qQ10V+MxPwJ8EfgcdkmHHLZ368/Ao54ffNLxZZw04IWf++X5gXh+cCE9jas7gPPRxlUvDXSntqJt7wSem3dgeyPrgds8PxgZcX1gkOemGjTN0x3N0q3Y55m0J3S1ec8A3wSOx2470wkcAPwGeM7zg1nhfn9l5/lBGrgWOCssugm4hCretLlGnQe8A+yKXSdLKaUU2sCqVq8DP8CuEfJ/wHvAh4DrsZtLn+X5wdhy/fGwETcX26uWA67GDtBP0uUvNThrsAvEAnzB84PjIqyLUkrFRs00sNbT2PU6WzzeRl1sZxyUwTvYBSGPBn4Wfr8ddtmHZZ4f/Njzg+2Hcb9d2B6y9zWYwrW5fgf8G7YH7WLg5r5uq6w26rpXMPrhBJ+bf8OuzwYwJ5xQEpV+z001LJqnO5qlW7HPs2YGuVfhLMLhqMMuXPppYMewrAN7+e7i1pbmF0u583DT5ruw26lsBC4A7ibGm3EqZ+qwDekPYcdlHdba0pyUZSeUUsq5mmlgHe8vnfxRln77Pj44Zy1NsZxxUEECHI5d4mFqWGaA32I3l97sljXZbLYROBW4JpPJtAOEPWH3YVebX4e9RKmbNg/CWNrqMzx3fJapdyb83JwE/BpoBL7T2tL8o0pXoK9zUw2f5umOZulWEvKsmUuEaXIyhvYdUxiJui4xYLCbLH8G+DL2Eo8AxwF/8/zgQc8PjvT84H1ZeX6QvtoceOijZuLMq82Bh3p+kPb8YBfsvoJ7Yi9Dno02rgYthZFRdO5SBefmUuCi8OvzPD/YP4I6CLB7+FmVTvN0R7N0K/Z5OmlgicghIjJfRJaLiBGRFhf3qyri78B/YdcT+SN2sdLDsOtV/cPzg5M8P6gDCAcwL9lAw70LmHz4BhruBd4AHscuPLkcO4vxbxU/ChUXWeBB7CXDWz0/GB1xfZRSKhKuerBGAU8BX3V0f6ryXsQuGpnBLuvQBuyNveTzoucH12LXPSoewLwtsBV2z8RvoJs2K/gf4G1gMnZyhVJK1RwnDSxjzN3GmO8aY37r4v7KYT2NXS8w7s8JnqlVKSuwK60fA9yAHRu3M/AlbFdsf92xaXTT5mFpo677Vbb6QxWdm2uB72AvRX/G84OTKvi3u7AzGmM7syhhNE93NEu3Yp+n80HuImKATxpj/M3cphE7EDZvDLBsxowZ42fPnr0uLOvOZDKd4XL4hSu1dmUyma5wgJsMorwjk8nkPuW/ussaRuxbT/cbAOtp6MwhZiztDYV1W0tjRwojo+moLyxfw4iOOrp7lecQs5amziY60010pQcq7yCd20BD10g66gpX7W6jrruN+u6xtNUXjsPpr3w9DZ1dpM2WbOxV93IcUzfSuJ6GrxtSA65v1EDXV0fS+Y+4H9NA5Ul8nOJ4TGtpPDVH6j/BrB3HhulfkCdez/8sk8m0ZbPZFHYvwzyTyWTas9lsHfYS40DlTp8jstlsE711YBuJxYvztoe/3ysDPSY9Jj2m6jumTCbTxjDVDXyTsjgHu9lvL7NmzboQu3YS2F2yb8aODfIKbnYXMB87e2D3gvJbsAOtzwEK13a6Enj2OBZ/D5jRSWoRSG4Bk65dzti1J7LozMI6zGPaJTuwduwhLD0lX5ZDOq5l/0sOZNnkaaw8MV/eQXrVL9nv2kNZMm0yq4/Jl79H/Su3sM+8o3jx4O1YPyNfvpqmp25lr9/P5Pkjt6Jt73z5CkY/7LP7wxmeO34Unbvky19lqz/cy65PnsCzn2+ge1y+fBHbzmtl0iuf4pnTUphNJ1+5julptp34CJMYyHTe+OxerDw8CccEcXqcTKqJrt1uZ89Tt6BtRHUcE3Qjch3TnweZkkP+0m0kmxZjsJefT8fOYD2t4GF9Ezv79CPYCRh5i4ErsOu5HVtQ3tdzRAoYlc1mP88QnyOw68MVviicBwTh3y50OtBM7+ewch4TDPN5r9RjymazZwGXYV/k8stuJPqYiOhxymazjwH3Yodj5LNM9DER7eP0WWAf4B/YXUzKdUxfZpiiamBdgP2nzRsDLJszZ87ZhT1Y4ee5wG0Ft813B15DUcuz4L57taYBHmTyhfuzbML9fPDy9TR25N9xz2PaJYUVW0tjx3rGvbOcsb3KARYy8dVnGb+pPIcYgIfYedFCJi4uLr+HXR9pomthT0XSOYD5TLm3ge778+X5S0NZpt5Z3IsAcAd73FDciwBwG3teWVi/ch3TBur3wW65s1mPM+GmxYzf1IMV52MqLI/6cRpNe8OxvHDGBuo7VzJ6QzUcU55gxhuYGzBy/OUc/NZsWn9Y8OPnsE+iefnu9EexEyeKy+8G7i8o7+s5ohG7uK0wxOcI7OxXispNUR3BvuNe0Uc5lOeYCute6WMS7OvEmeFtCuue1GOCaB6nOmzjqjDLpB8TRPc4LQIuxeaZ72Uq1zENSySXCPv4nbKvg/Up/9VdjuCln/2W3c9bwwjdD29oUtjW/nj6PukM8BYwk553ZmqQtmRjw4ksOnMe0y6p0nPzX7HvXruBQ1pbmh8p1x8KL0tcAZxeSte+sjRPdzRLt5KQZ82sg6VKksNu1AzvX5U9//0laONK9e332EVo08Dccu6DqZRSceFqHazRIvJhEflwWDQ5/H4nF/fvwjuM7Pg7O9yVv8ShhuxB4CxsT1Wht8LyByteoyqxnobORWw7r8rPzR9hLwPsBFxbxr/TgR0DUo09gVHQPN3RLN2KfZ5OLhGKyGH0/QJ7kzHmc4P4fd2LMDlS2IGF44BV2AGG2nOlBmNv4DrsOfTZ1pbmmyOuj1JKlY2rdbD+bIyRPj4+5+L+XZjAu42f5YkvFk8vV0OW25KNi07hsWlbsnER2rgq2ZZsbDiFx86sgXPzKeD68Oufen4w2fUfyGazTdls9oo+poirYdA83dEs3UpCnjU1BiuFqR/4VmowCqfoq9LVUJ5zsLN/RgO35bdhciy2T7gJpXm6o1m6Fes8a6qBpZSKXDfwbWAD9pL9+dFWRymlykMbWEqpSnsTyK+HdbbnB4dEWRmllCqHmmlgvcPIjgfYpdpnalXEeho6FzDpWs3SjRrN8z7s8g0p7NINWzq63w7smluxnVmUMJqnO5qlW7HPs2YaWF2kzCpGrc+vdK2GL4eY5Yxdq1m6UcN5XggsB3YAfun5QckrJ2PXZQt4/3ptang0T3c0S7din2fNNLC2ZX3jp1j0xeINdtXQjaW94UQWnalZulHDeW7A7vnVDXwS+IKD+2zEru5cvKGsGh7N0x3N0q3Y51kzDSylVCw9i90PDOBKzw8+GGVllFLKFW1gKaWidhN2wdqRwO2eH+hyKkqpxNMGllIqajngu8A64MPYneyVUirRaqaBtZLR7bcx7fq1NMZ2xkFSrKWxYx7TLtEs3dA8AVgJ/E/49Tc9Pzh8mPfTDpweflal0zzd0Szdin2eNdPAqiMn43hvdArjYqZSTUthZAfWjtUs3dA8N3kA8AEBfuX5wdbDuA8BmsPPqnSapzuapVuxz7NmGlhbs6HhY7xy4mg6dHxHiUbTUX8IS0/RLN3QPHu5BHgN2A64cRhLNzQA54afVek0T3c0S7din2fNNLCUUonQht1Kpws4Fjg12uoopdTwaANLKRU3zwNXh19f5vnBlCgro5RSw1FTDawcUktbkZRVDqnlAdnOaZ7v83/AY0ATdumGoSwm2FaeKtUszdMdzdKtWOcpxkS/yryIjAXeBbYwxqwtx9/w/GACMB1YVo77V0o5Nw64FdgCuKq1pfm0iOujlFKDVjMNrMP9lRM/xKqWxYx/tIt09AedYHV0y4Esm7yQia9qlqXTPDdrBvCT8OujW1ua79ncjbPZbAqYCjyXyWRy5a5ctdM83dEs3UpCnjVziXBrNjTsx/JjdaZW6UbTUT+NlToj0xHNc7MeBu4Iv77Z84NtBrh9A3AaMZ5ZlDCapzuapVuxz7NmGlhKqcT6CbAE2Aa7PlZs171RSqk8bWAppeKuHfgW0AkcgV29WSmlYq1mGljdpEw7datziI5xKVEOMR2kV2mWbmieg/IScEX49YWeH0zr53YGeDP8rEqnebqjWboV+zxrZpC7ziJUqipcBRwEvADs09rSvDHi+iilVJ/qoq5ApWxBW3oPVk59gh3ebKO+O+r6JFkTnelDWTLtIXZepFmWTvMcku8DtwG7Ycdm9VrpPZvN1gEfAR7NZDJdla9eddE83dEs3UpCnjVziXA07XW7seqwJrrSUdcl6ZroSk9m9TGapRua55CsxjayAL7s+cH/K/p5HfAZaujNY5lpnu5olm7FPs+aaWApparGX4G54dc3eH6wXZSVUUqpvmgDSymVRFdiB743A3M9P9DnMqVUrNTMk1I3KbOOxtd1plbpcoh5j/pXNEs3NM9h6QTOATqAw4Azw3IDLCbGM4sSRvN0R7N0K/Z56ixCpVSSHY9taHViZxeOAbbHTt9+uLWlWScNDJPnB2nsVkWaZ4k0S7eSkqezHiwR+aqILBGRNhFZKCIHuLpvF7agLf1xXtq/iU4dSFyiJjrTLSyeoVm6oXmW5E5gAVAPPAo8CPw6/LzE84PjIqxbYoW5LUHzLJlm6VaS8nTSwBKRfwcuA84D9gWeAu4VkfEu7t+F0bTX7ci703WmVuma6Epvx/oZmqUbmmfJHgg/F88mmgDcEccn3jgL87oDm18hzXOINEu3kpanqx6sbwLXGWNuMMYsxq5NswH4gqP7V0qpvqSAr/Tzs/yehZeHlxTUAMKc8ivmF+/5qHkOgWbpVhLzLHn9CBFpAPYDLsiXGWNyIvJH7JiIvn6nEWgsKBoDMGPGjMZsNtsUlnVnMpnObDZbDxQG1pXJZLqy2WwjvUPur7wjk8nktmJjA5jUaNobANbT0JlDzNjw+7y1NHakMDKajvrC8jWM6Kiju1d5DjFraepsojNd2PvQX3kH6dwGGrpG0lHXQPemxm0bdd1t1HePpa0+hZGBytfT0NlF2mzJxl51r9Qx2QxtltVyTFE+Tvk8BUNx3ZN6TBV8nPYGtqV/AuwI5mnPf+dd+62RwicIAwYEKTjOnnKQoifz/svFgOlVbke4Dqu8zzoOtXyoxwRsATKR/oV58pTnv7M2CccU1eMEjB1slh/131mXhGOK+HEaVJ4j6Tg8m80uCMtKbkdkMpm2zfzNzXKxQNc4bMVXFpWvBKb08zvnAOcWF86aNetC7GBVgFbgZuAkwCu42V3AfGwv2e4F5bcAfwnve/uC8iuBZ/+FV8/qRrY7gpe/bcA8wC7zVjFq3SdZ/KXCOtzGtOvG8d6Yj/HKifmyHNJxE/tevwdv7bgvy2fmy9upW/1r9p67H8unfohV/5IvX0fj63ew5/wZLN1/Iu/uny9fxajn5jPlwcN55V/G8d7UfPkytnjsfj742BG8NHMM7Tvmy//JuAdbmfTcsbxwUiNdW+XLn2CH+U+x/esZnvtiCrPpBa1Sx7Qj7x6Qwmx/BC9/+21GLa6GY4rycRKQFGZ7YMcJrB1ZDcdUwcdpkCs4S8FzhfQ57ci8701xvrxvfZf3fd9RlQ/1mIZgj6QcU1SPxxDskZRjis/j1L/pvHEWdvILuGlHfHmIVdik5FmEIrID8AZwsDHmrwXlFwGHGmMO7ON3+urBWjZjxozxs2fPzrfknfZgnev/bcw/GdecL3ybUR2dpMwOrCusB8sZ015PTrbhvV7vxF9jy/YRdPYq70bMG2zRsRUb02NorxuofAP13asY1TWO9+pGFgxoXkdj12pGdE/g3YZ0Qau/v/K3GdWxkXqzE2t61V2PSY+pBo/pAOxA981KkbsGeDFHKldHd7rw3XIXqS6DUE93rzecthzqyfUq7yTVJUDd+8rTXbYXsqfcgOki3Z0il0pjUgOV55BcN6lcmlwqVVDejeT6qnt/5cM9JsHsliPVa/uhfvw0Re6VJBxTVI9TDvngYLOsp3tJEo4pysepG/nAYPIcSceRX5OFsejBctHAasCOtzrBGOMXlN8EbGmMyQziPsq+TEMY8EnA3Ewm0znQ7VX/NEu3NM/hC8dbLMEOcu3rLbPBLs0yOY7TuONG83RHs3QriXmWPMjdGNMB/B04PF8mIqnw+7/293sRSGO7CGMzAC7BNEu3NM9hCp9ITw+/LX63mP/+jLg84cad5umOZulWEvN0NYvwMuBLIvJZEZkK/BwYBdzg6P6VUqpPrS3NvwFOwA5VKLQMOCH8uRokzdMdzdKtpOXpZBdqY8ytIrINcD6wHfAkcJQxpnjg+0DGiPTV81e6GTNmNM6aNat+zpw5Y1paWhoG/g3VH83SLc3TiT+O2HG3aXvP/vlhBzab0xcGcsVTl37lzxtffyEnMDbqyiWQ5umOZulWFHmuM8MYTxWXrXImoFvYKKWUUip+hjU+PC4NLAF2ANYNdNsSjME24iaW+e/UAs3SLc3THc3SLc3THc3SrUrmOaweLCeXCEsVVrz4mqpTBZce15VrpmKt0Czd0jzd0Szd0jzd0SzdSkKezjZ7VkoppZRSljawlFJKKaUcq6UGVjtwXvhZlUazdEvzdEezdEvzdEezdCv2ecZikLtSSimlVDWppR4spZRSSqmK0AaWUkoppZRj2sBSSimllHJMG1hKKaWUUo5pA0uphJJybdyplAN6frqRz1FE9PU6YfQBU2UnImOirkM1EZEDYdMOCKpEIvLpqOtQLUTkJBE5HPT8dEFETgN+DWCMyUVcnUQTkcmV/pvawCoiIjNF5A4RuVpE/kNERoXl+m5siESkRUQeBOaJyI9EZGpYrlkOg4iMEJFngL+KyEfCsnTE1UosETleRN4ELhWR7aKuT5KJyFEishT4LjBeRLaMuEqJJiIniMhK4HJgiohsHXGVEit8HfoH8BsRuVdETgjLy97+0QZWSES2E5E7geuApdgNJC8FviYiaX03NngisoOIzAeuBf4E/AM4Bvi6Zjk8YaN0O6ABuBf4FoAxpjvKeiWRiEwSkYXA9cBlxphtjTEroq5XUonIvsAFwDXAXsaYucaYNdHWKplEZKqIPAbMAc4CTsa+Fr0XacUSSETSInIu8AvgBuw5GgD/KyKNlegRjMVmz1ETkZHAl7F5HGaMeT4s/xlwOHCliLRpw2BgItIIfAq7uu7+xpilYfl2wPbh16JZDo0xxoS9VW8D9wNfEJGTjTG/Dhut2tAaBBFpAL4O7A9saYxZKyL1wE7AO9owGDwRSYUvUscAK4wxF4hIg4gcD6wAlhpjlhbcTm2GiOwJ/B/wd+AIY8zqsKe6GzgU+8ZKDd54IAOcZoy5FTb9/08EGkWko9yvQ9qDBRhjNmB7Bq43xjwfPggA9wHTgZQ2CAbHGNMO/BF7qeC1gh+lgb8AWxKed3qpcMgOAl7A9rw8jW0oYIzp1kuFg2OM6cC+m30L+JyInAQsAm4FnheR/xKRcaDn50AKGk0zgFYR2R37P386MBe4T0T21cbV4BhjngGONMZ8wRizOizeCHQCo6KrWbIU/N82Yt841Rf8+ADsOboLsEW561KTPVgicgA2+BeA14wx7wIXGmPWhjfpDD/vBjxhjNHu2X4UZbnEGLMOeMEY0xn+/FBsg2BbYF/gs9gemNnaaH2/ojxfNcasF5H6MM/3gDFhr8vNwHki8ivsk+/ZwD8jq3hM9XN+vogd23I58CRwMbAM2xNzCvAh4Aw9P3vr59xMAc9gG1nTgIuAnwN7AP8NzBWRvcI3XqpAP+fmysLbGGOeEpFOYE/sGCLtDexDcZbAOmzPXxb4pYjshr3cOgb75vQ2YKWIHFrWPI0xNfOBHcPye+y710eAVcCVBT9PFd3+GuCi8GuJuv5x+hhElvl9Lr8E/Bh7eXBHYBb2OvjHNdfB5xne5jLgivDracArQBdwS1iWqmSd4/wxiPNzEnA+cGjR750LPAXsEfUxxOVjEFmeBbyE7RnYuaB8AvZNwYnh9/q/Pog8i247Argd2yBIR133uH30k+VVBT/fCjgW20M9F2gGRgI7Yxth/xXerizPnTVziTDsvp6HDfUAbOg/BDwRaYHe02DDsURHYa+HY4wx+RmFtW4wWQICYIy5zhjzLewYjdexlwnXYLtoMeHZXcsGmSfAu8A/ReQK7Hn5BvAEsB50GnfeAHkeF97sDWxj9aHwd/KXFR7HvhnQLBkwy+PDm92OPTe3BTaEv5cOy57B9gjq/zpD+l8HwBizETuedYyxQwFq5jV7IJvJ8uD8/7mxl1ofAg4GbjbGBNjLrkuBhcBh4e3K8v9eSw/WBGzX4fnGmCVh0Hdi3yH0NdZiOrY70QcQkR8AfxSRvStR2ZgbMMviE7bgyXUn7CXY1orVNv4Ge27uAVyFHYt1LPAx7Luy40TkiIrWON42l6cBMMZ0GWPe6eN3d8W+G+7rZ7Voc1nmAIwxr2IvC76NnamFsZMuxmEvXz9Y+WrH1qBfhwrGVf4JOEBERumbqF4G/D8P3zhtg21QNcOm16KdwvI7y1nBWhqD9QLwvbAXJT+T7fVwBlFfDazdsSf2TBG5GJvV540xT1WsxvE1pCxFpAnbmJ+JvQRzN/CyzibcZLB5zsZ2h//G2PEaiMifsE80r1e4znE21PNzRPj5WOAr2Mkub1WywjE22Cx/hZ3A8kMR2RG7NMsnsRMIntX/9U0GfW6anpnBa4C12DdYf6tgXeNuwCzDK09vYYelfFNEdsG+gfom8DLwcDkrKLV4zuf/2UVkD2ABdjmBVwp+ngLuAFqwXd7nGWMujqSyMTeILHcCPg18AtgL+IEx5qpoaht//eWpg1uHZxDn587YiRdHAFOB7xpjfhZJZWNuM+fmpmVCwp7UI4ApwL36v96/QZyb+Z/vD8wHPGPMy1HVN842c27WGWO6ROTD2KWY9sL2cN1ojLmy3PWqiR6s/BNA/kEoeCc1A3geeL3wHZYxJiciG7Dd3T8w4Yw4NawsXxO7wvOd2LVdNMsCQ8hTG1eDMIzzc4mILMO+obpaz88eQ8hy0xpsxpj7sMszaI9VkWGcmyZ8Y/WYiEwwutbdJkPIsgvAGPMk8BWxS7AElXo+rYoGVti1fyB2mvoC07O4ZQp6dbWOADZIz7T3A4C/m54lBc7ALo73W+CLxpi2yh5J9Bxn+aoxJgvMrdUGguM8XzbGzK/wIcRKmc7PG2vxxauc52YtNq7KkWf+ebPWzs9ynZvGmFUVPRATg6mWw/0APoCdIfA68Nvw82JgZNHt9gIeBS4tKJPwtkdhZxi8hJ3ieXjUx6VZJv9D89Q84/qhWWqecf2otiwjD7SEB2IycA89i1jWATtgZ7KcEd6mHrgQO43zp8C2Bb//UaAD20LuxF4KjPy4NMvkf2iemmdcPzRLzTOuH9WYZZIvEa7Btlh/YYxZKSICvIlt/e4OYIzpFJEXgI+a98/+a8Yu0rgAmG56VnGvRWvQLF1ag+bp0ho0T1fWoFm6tAbN05U1VFmWiZlFKCKHYK+3/smEA9dEZEsTbs5aMItgITDPGPOTfu4nf7udgZwx5rW+blfNNEu3NE+3NE93NEu3NE93aiHL2C80KiLjROQm4M/YrsEd8z8zxqwJW7mEAW8NbM1m1goxYYvS2IXJYvNAVIJm6Zbm6Zbm6Y5m6Zbm6U4tZRnrBpaI1AH/hr0eeyJ2leV/F5GG/G3y4Yb2wV6jfangPtIozdIxzdMtzdMdzdItzdOdWssy1mOwjF0g7AlgmTFmvohMwa7Aeg/wZP520rPQ3ceAf4bXbxuAHwErROQKU+Pr22iWbmmebmme7miWbmme7tRalrEfg5W/vlrw/RvAXcCZJtwupOBn92AXDHwLuzeWAJ80xiysYJVjS7N0S/N0S/N0R7N0S/N0p6ayNDGYnjmYD6Ah/Pxv2CmYnyj4mWB3bG/DTtN8D/hq1HWO64dmqXnG+UPz1Czj+qF5apZD+Yh9D1ZfROQRbOD/YYx5S+zy9yngaeAGY8w5kVYwQTRLtzRPtzRPdzRLtzRPd6o1y0Q1sKRn48Y9gKew124/AHjALOAlY8x7UdYxKTRLtzRPtzRPdzRLtzRPd6o9y0Q1sAqJyN+A6dil9E8xxtwbcZUSS7N0S/N0S/N0R7N0S/N0pxqzjPUyDX0RkQ+IyCJgD+BLxphJ1fBAREGzdEvzdEvzdEezdEvzdKeas0xcAwvoBu4Exhlj5kRdmYTTLN3SPN3SPN3RLN3SPN2p2iwTe4lQKaWUUiquktiDpZRSSikVa9rAUkoppZRyTBtYSimllFKOaQNLKaWUUsoxbWAppZRSSjmmDSyllFJKKce0gaWUUkop5Zg2sJRSSimlHNMGllJKKaWUY9rAUkoppZRyTBtYSimllFKOaQNLKaWUUsoxbWAppZRSSjmmDSyllFJKKce0gaWUUkop5Zg2sJRSSimlHNMGllJKKaWUY/8fpigMpmQjvygAAAAASUVORK5CYII=" alt="自动驾驶 趋势图" style="width: 100%; height: auto;" />
</div>
</div>
</div></div>
</div>
<div class="footer">
<div class="footer-content">
</div>
</div>
</div>
<script>
async function saveAsImage() {
const button = event.target;
const originalText = button.textContent;
try {
button.textContent = '生成中...';
button.disabled = true;
window.scrollTo(0, 0);
// 等待页面稳定
await new Promise(resolve => setTimeout(resolve, 200));
// 截图前隐藏按钮
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'hidden';
// 再次等待确保按钮完全隐藏
await new Promise(resolve => setTimeout(resolve, 100));
const container = document.querySelector('.container');
const canvas = await html2canvas(container, {
backgroundColor: '#ffffff',
scale: 1.5,
useCORS: true,
allowTaint: false,
imageTimeout: 10000,
removeContainer: false,
foreignObjectRendering: false,
logging: false,
width: container.offsetWidth,
height: container.offsetHeight,
x: 0,
y: 0,
scrollX: 0,
scrollY: 0,
windowWidth: window.innerWidth,
windowHeight: window.innerHeight
});
buttons.style.visibility = 'visible';
const link = document.createElement('a');
const now = new Date();
const filename = `TrendRadar_热点新闻分析_${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')}_${String(now.getHours()).padStart(2, '0')}${String(now.getMinutes()).padStart(2, '0')}.png`;
link.download = filename;
link.href = canvas.toDataURL('image/png', 1.0);
// 触发下载
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
button.textContent = '保存成功!';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
} catch (error) {
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'visible';
button.textContent = '保存失败';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
}
}
async function saveAsMultipleImages() {
const button = event.target;
const originalText = button.textContent;
const container = document.querySelector('.container');
const scale = 1.5;
const maxHeight = 5000 / scale;
try {
button.textContent = '分析中...';
button.disabled = true;
// 获取所有可能的分割元素
const newsItems = Array.from(container.querySelectorAll('.news-item'));
const wordGroups = Array.from(container.querySelectorAll('.word-group'));
const newSection = container.querySelector('.new-section');
const errorSection = container.querySelector('.error-section');
const header = container.querySelector('.header');
const footer = container.querySelector('.footer');
// 计算元素位置和高度
const containerRect = container.getBoundingClientRect();
const elements = [];
// 添加header作为必须包含的元素
elements.push({
type: 'header',
element: header,
top: 0,
bottom: header.offsetHeight,
height: header.offsetHeight
});
// 添加错误信息(如果存在)
if (errorSection) {
const rect = errorSection.getBoundingClientRect();
elements.push({
type: 'error',
element: errorSection,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
}
// 按word-group分组处理news-item
wordGroups.forEach(group => {
const groupRect = group.getBoundingClientRect();
const groupNewsItems = group.querySelectorAll('.news-item');
// 添加word-group的header部分
const wordHeader = group.querySelector('.word-header');
if (wordHeader) {
const headerRect = wordHeader.getBoundingClientRect();
elements.push({
type: 'word-header',
element: wordHeader,
parent: group,
top: groupRect.top - containerRect.top,
bottom: headerRect.bottom - containerRect.top,
height: headerRect.height
});
}
// 添加每个news-item
groupNewsItems.forEach(item => {
const rect = item.getBoundingClientRect();
elements.push({
type: 'news-item',
element: item,
parent: group,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
});
});
// 添加新增新闻部分
if (newSection) {
const rect = newSection.getBoundingClientRect();
elements.push({
type: 'new-section',
element: newSection,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
}
// 添加footer
const footerRect = footer.getBoundingClientRect();
elements.push({
type: 'footer',
element: footer,
top: footerRect.top - containerRect.top,
bottom: footerRect.bottom - containerRect.top,
height: footer.offsetHeight
});
// 计算分割点
const segments = [];
let currentSegment = { start: 0, end: 0, height: 0, includeHeader: true };
let headerHeight = header.offsetHeight;
currentSegment.height = headerHeight;
for (let i = 1; i < elements.length; i++) {
const element = elements[i];
const potentialHeight = element.bottom - currentSegment.start;
// 检查是否需要创建新分段
if (potentialHeight > maxHeight && currentSegment.height > headerHeight) {
// 在前一个元素结束处分割
currentSegment.end = elements[i - 1].bottom;
segments.push(currentSegment);
// 开始新分段
currentSegment = {
start: currentSegment.end,
end: 0,
height: element.bottom - currentSegment.end,
includeHeader: false
};
} else {
currentSegment.height = potentialHeight;
currentSegment.end = element.bottom;
}
}
// 添加最后一个分段
if (currentSegment.height > 0) {
currentSegment.end = container.offsetHeight;
segments.push(currentSegment);
}
button.textContent = `生成中 (0/${segments.length})...`;
// 隐藏保存按钮
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'hidden';
// 为每个分段生成图片
const images = [];
for (let i = 0; i < segments.length; i++) {
const segment = segments[i];
button.textContent = `生成中 (${i + 1}/${segments.length})...`;
// 创建临时容器用于截图
const tempContainer = document.createElement('div');
tempContainer.style.cssText = `
position: absolute;
left: -9999px;
top: 0;
width: ${container.offsetWidth}px;
background: white;
`;
tempContainer.className = 'container';
// 克隆容器内容
const clonedContainer = container.cloneNode(true);
// 移除克隆内容中的保存按钮
const clonedButtons = clonedContainer.querySelector('.save-buttons');
if (clonedButtons) {
clonedButtons.style.display = 'none';
}
tempContainer.appendChild(clonedContainer);
document.body.appendChild(tempContainer);
// 等待DOM更新
await new Promise(resolve => setTimeout(resolve, 100));
// 使用html2canvas截取特定区域
const canvas = await html2canvas(clonedContainer, {
backgroundColor: '#ffffff',
scale: scale,
useCORS: true,
allowTaint: false,
imageTimeout: 10000,
logging: false,
width: container.offsetWidth,
height: segment.end - segment.start,
x: 0,
y: segment.start,
windowWidth: window.innerWidth,
windowHeight: window.innerHeight
});
images.push(canvas.toDataURL('image/png', 1.0));
// 清理临时容器
document.body.removeChild(tempContainer);
}
// 恢复按钮显示
buttons.style.visibility = 'visible';
// 下载所有图片
const now = new Date();
const baseFilename = `TrendRadar_热点新闻分析_${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')}_${String(now.getHours()).padStart(2, '0')}${String(now.getMinutes()).padStart(2, '0')}`;
for (let i = 0; i < images.length; i++) {
const link = document.createElement('a');
link.download = `${baseFilename}_part${i + 1}.png`;
link.href = images[i];
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
// 延迟一下避免浏览器阻止多个下载
await new Promise(resolve => setTimeout(resolve, 100));
}
button.textContent = `已保存 ${segments.length} 张图片!`;
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
} catch (error) {
console.error('分段保存失败:', error);
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'visible';
button.textContent = '保存失败';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
}
}
document.addEventListener('DOMContentLoaded', function() {
window.scrollTo(0, 0);
});
</script>
</body>
</html>