diff --git a/FactoryTestTool/FactoryTestTool.vcxproj b/FactoryTestTool/FactoryTestTool.vcxproj index 4709079..41854c1 100644 --- a/FactoryTestTool/FactoryTestTool.vcxproj +++ b/FactoryTestTool/FactoryTestTool.vcxproj @@ -138,6 +138,9 @@ + + + {2C8A5A59-2E79-4283-A0ED-D70DB305557E} QtVS_v304 diff --git a/FactoryTestTool/FactoryTestTool.vcxproj.filters b/FactoryTestTool/FactoryTestTool.vcxproj.filters index cdb8103..3ced2dd 100644 --- a/FactoryTestTool/FactoryTestTool.vcxproj.filters +++ b/FactoryTestTool/FactoryTestTool.vcxproj.filters @@ -309,4 +309,7 @@ Network\mdns\qmdnsengine\include + + + \ No newline at end of file diff --git a/FactoryTestTool/Icon96.ico b/FactoryTestTool/Icon96.ico new file mode 100644 index 0000000..f77c259 Binary files /dev/null and b/FactoryTestTool/Icon96.ico differ diff --git a/FactoryTestTool/SourceCode/Media/Media.cpp b/FactoryTestTool/SourceCode/Media/Media.cpp index a0311e5..d66e434 100644 --- a/FactoryTestTool/SourceCode/Media/Media.cpp +++ b/FactoryTestTool/SourceCode/Media/Media.cpp @@ -13,6 +13,85 @@ void yuvToRgb(int y, int u, int v, int& r, int& g, int& b) b = qBound(0, b, 255); } +// 将 QImage 数据转换为 YUV422 +QByteArray convertQImageToYUV422(const QImage& image) +{ + int width = image.width(); + int height = image.height(); + QByteArray yuvData; + yuvData.resize(width * height * 2); // YUV422: 每个像素2字节 + + int index = 0; + for (int y = 0; y < height; ++y) { + for (int x = 0; x < width; x += 2) { + QRgb pixel0 = image.pixel(x, y); + QRgb pixel1 = image.pixel(x + 1, y); + + int r0 = qRed(pixel0); + int g0 = qGreen(pixel0); + int b0 = qBlue(pixel0); + + int r1 = qRed(pixel1); + int g1 = qGreen(pixel1); + int b1 = qBlue(pixel1); + + // 计算YUV值 + int y0 = (0.299 * r0 + 0.587 * g0 + 0.114 * b0); + int u = (-0.169 * r0 - 0.331 * g0 + 0.5 * b0 + 128); + int y1 = (0.299 * r1 + 0.587 * g1 + 0.114 * b1); + int v = (0.5 * r0 - 0.419 * g0 - 0.081 * b0 + 128); + + yuvData[index++] = static_cast(qBound(0, y0, 255)); + yuvData[index++] = static_cast(qBound(0, u, 255)); + yuvData[index++] = static_cast(qBound(0, y1, 255)); + yuvData[index++] = static_cast(qBound(0, v, 255)); + } + } + + return yuvData; +} + +// 将 QImage 数据转换为 YUV420 +QByteArray convertQImageToYUV420(const QImage& image) +{ + int width = image.width(); + int height = image.height(); + QByteArray yuvData; + int ySize = width * height; + int uvSize = (width / 2) * (height / 2); + yuvData.resize(ySize + 2 * uvSize); // Y 分量 + U 分量 + V 分量 + + int yIndex = 0; + int uIndex = ySize; + int vIndex = ySize + uvSize; + + for (int y = 0; y < height; y++) { + for (int x = 0; x < width; x++) { + QRgb pixel = image.pixel(x, y); + + int r = qRed(pixel); + int g = qGreen(pixel); + int b = qBlue(pixel); + + // 计算 YUV 值 + int Y = qBound(0, static_cast(0.299 * r + 0.587 * g + 0.114 * b), 255); + int U = qBound(0, static_cast(-0.169 * r - 0.331 * g + 0.5 * b + 128), 255); + int V = qBound(0, static_cast(0.5 * r - 0.419 * g - 0.081 * b + 128), 255); + + // 填充 Y 分量 + yuvData[yIndex++] = static_cast(Y); + + // 对 U 和 V 分量进行抽样 + if (y % 2 == 0 && x % 2 == 0) { + yuvData[uIndex++] = static_cast(U); + yuvData[vIndex++] = static_cast(V); + } + } + } + + return yuvData; +} + // 将 YUV422 数据转换为 QImage QImage convertYUV422ToQImage(const QByteArray& yuv422Data, int width, int height) { @@ -72,29 +151,21 @@ QImage convertYUV420ToQImage(const QByteArray& yuv420Data, int width, int height return image; } -void showPic(QLabel* leftLens_m_imageLabel, QLabel* rightLens_m_imageLabel, const QString& client, const QByteArray& valData) +void DataHandler::showPic(QSize labelSize, int lens_n, + int width, int height, int format, const QByteArray* valData) { - int lens_n = static_cast(valData[0]); - int width = (static_cast(valData[2]) << 8) | static_cast(valData[1]); - int height = (static_cast(valData[4]) << 8) | static_cast(valData[3]); - int format = static_cast(valData[5]); - qDebug() << "lens_n = " << lens_n; - qDebug() << "format = " << format; - qDebug() << "width = " << width; - qDebug() << "height = " << height; - - QByteArray yuvData = valData.mid(6); - qDebug() << "yuvData size = " << yuvData.size(); + //QByteArray yuvData = valData.mid(6); + qDebug() << "yuvData size = " << valData->size(); QImage image; if (format == YUV422) { - image = convertYUV422ToQImage(yuvData, width, height); + image = convertYUV422ToQImage(*valData, width, height); } else if (format == YUV420) { - image = convertYUV420ToQImage(yuvData, width, height); + image = convertYUV420ToQImage(*valData, width, height); } else { - qWarning() << "Unsupported image format!"; + qWarning() << "Unsupported image format! Please use YUV422 or YUV420 format"; return; } @@ -103,16 +174,48 @@ void showPic(QLabel* leftLens_m_imageLabel, QLabel* rightLens_m_imageLabel, cons transform.rotate(90); // 可以调整旋转角度 QImage rotatedImage = image.transformed(transform); - QImage scaledImage = rotatedImage.scaled(leftLens_m_imageLabel->size(), Qt::KeepAspectRatio); + QImage scaledImage = rotatedImage.scaled(labelSize, Qt::KeepAspectRatio); + QPixmap pixmap = QPixmap::fromImage(scaledImage); if (lens_n == 0) { - leftLens_m_imageLabel->setPixmap(QPixmap::fromImage(scaledImage)); - //rightLens_m_imageLabel->setPixmap(QPixmap::fromImage(scaledImage)); + //leftLens_m_imageLabel->setPixmap(QPixmap::fromImage(scaledImage)); + emit updateLeftLensImage(pixmap); } else if (lens_n == 1) { - rightLens_m_imageLabel->setPixmap(QPixmap::fromImage(scaledImage)); + //rightLens_m_imageLabel->setPixmap(QPixmap::fromImage(scaledImage)); + emit updateRightLensImage(pixmap); } else { qWarning() << "Unsupported image lens!"; } + + // 生成保存图片的目录 + QString saveDirPath = QDir::currentPath() + "/frontBoardImage"; + QDir saveDir(saveDirPath); + if (!saveDir.exists()) { + saveDir.mkpath(saveDirPath); + } + QString currentTime = QDateTime::currentDateTime().toString("yyyyMMdd_HHmmss"); + QByteArray rotatedYuvData; + if (format == YUV422) { + rotatedYuvData = convertQImageToYUV422(rotatedImage); + } + else if (format == YUV420) { + rotatedYuvData = convertQImageToYUV420(rotatedImage); + } + QString yuvFileName = saveDirPath + "/" + currentTime + ".yuv"; + QFile yuvFile(yuvFileName); + if (yuvFile.open(QIODevice::WriteOnly)) { + yuvFile.write(rotatedYuvData); + yuvFile.close(); + qDebug() << "YUV image saved to" << yuvFileName; + } + else { + qWarning() << "Failed to save rotated YUV image to" << yuvFileName; + } + + // 额外:可以保存旋转后的图像为JPG或PNG格式 + QString rotatedImageFileName = saveDirPath + "/" + currentTime + ".jpg"; + rotatedImage.save(rotatedImageFileName, "JPG"); + qDebug() << "JPG image saved to" << rotatedImageFileName; } diff --git a/FactoryTestTool/SourceCode/Media/Media.h b/FactoryTestTool/SourceCode/Media/Media.h index 1f1cbf6..7715805 100644 --- a/FactoryTestTool/SourceCode/Media/Media.h +++ b/FactoryTestTool/SourceCode/Media/Media.h @@ -7,18 +7,18 @@ #include #include +#include "../RecvDataHandler/RecvDataHandler.h" + #define YUV420 1 #define YUV422 2 // YUV 转换为 RGB 的辅助函数 void yuvToRgb(int y, int u, int v, int& r, int& g, int& b); +QByteArray convertQImageToYUV422(const QImage& image); +QByteArray convertQImageToYUV420(const QImage& image); // 转换YUV422 QImage convertYUV422ToQImage(const QByteArray& yuv422Data, int width, int height); QImage convertYUV420ToQImage(const QByteArray& yuv420Data, int width, int height); -// 显示图片和视频的函数 -void showPic(QLabel* leftLens_m_imageLabel, QLabel* rightLens_m_imageLabel, const QString& client, const QByteArray& valData); -//void showVideo(QLabel* videoLabel, const QString& client, const QByteArray& valData); - #endif // MEDIA_H diff --git a/FactoryTestTool/SourceCode/Media/VideoDecoder/FFmpegDecoder.cpp b/FactoryTestTool/SourceCode/Media/VideoDecoder/FFmpegDecoder.cpp index 8d8a133..0b4a838 100644 --- a/FactoryTestTool/SourceCode/Media/VideoDecoder/FFmpegDecoder.cpp +++ b/FactoryTestTool/SourceCode/Media/VideoDecoder/FFmpegDecoder.cpp @@ -11,16 +11,16 @@ FFmpegDecoder::FFmpegDecoder(QObject* parent) : frame(nullptr), packet(nullptr), swsContext(nullptr), - videoStreamIndex(-1) // 初始化成员变量 + videoStreamIndex(-1) { av_log_set_level(AV_LOG_QUIET); // 设置日志级别为安静模式 avformat_network_init(); // 初始化网络 - qDebug() << "FFmpegDecoder created"; + qDebug() << "FFmpegDecoder thread created"; } FFmpegDecoder::~FFmpegDecoder() { - qDebug() << "Destroying FFmpegDecoder"; + qDebug() << "Destroying FFmpegDecoder thread"; mutex.lock(); abort = true; condition.wakeOne(); @@ -28,7 +28,7 @@ FFmpegDecoder::~FFmpegDecoder() wait(); cleanup(); avformat_network_deinit(); // 反初始化网络 - qDebug() << "FFmpegDecoder destroyed"; + qDebug() << "FFmpegDecoder thread destroyed"; } void FFmpegDecoder::processVideo(int itemIndex) @@ -72,7 +72,7 @@ void FFmpegDecoder::stopFFmpegDecoder() { mutex.lock(); abort = true; - condition.wakeOne(); // 唤醒等待的线程 + condition.wakeOne(); mutex.unlock(); } @@ -134,10 +134,8 @@ void FFmpegDecoder::run() if (currentFileSize > fileSize) { fileSize = currentFileSize; file.seek(fileSize); // 设置文件读取位置到末尾 - //qDebug() << "---------------1---------------"; // 读取并处理数据包 while (av_read_frame(formatContext, packet) >= 0) { - //qDebug() << "---------------2---------------"; if (packet->stream_index == videoStreamIndex) { int ret = avcodec_send_packet(codecContext, packet); if (ret < 0) { @@ -145,7 +143,6 @@ void FFmpegDecoder::run() av_packet_unref(packet); continue; } - //qDebug() << "---------------3---------------"; while (ret >= 0) { ret = avcodec_receive_frame(codecContext, frame); if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) { @@ -156,31 +153,23 @@ void FFmpegDecoder::run() qWarning() << "Error during decoding"; break; } - //qDebug() << "---------------4---------------"; QImage img = avFrameToQImage(frame); - //qDebug() << "---------------5---------------"; QImage scaledImage = img.scaled(labelSize, Qt::KeepAspectRatio, Qt::SmoothTransformation); - //qDebug() << "---------------6---------------"; currentVideoLabel->setPixmap(QPixmap::fromImage(scaledImage)); QThread::msleep(10); // Simulate 25 FPS frame rate - //qDebug() << "---------------7---------------"; } } av_packet_unref(packet); - //qDebug() << "---------------8---------------"; } } - //qDebug() << "---------------9---------------"; mutex.lock(); if (restart) { restart = false; mutex.unlock(); break; } - //qDebug() << "---------------10---------------"; mutex.unlock(); } - //qDebug() << "---------------11---------------"; cleanup(); file.close(); diff --git a/FactoryTestTool/SourceCode/Network/ClientHandler.cpp b/FactoryTestTool/SourceCode/Network/ClientHandler.cpp index e40df41..ffb3ab6 100644 --- a/FactoryTestTool/SourceCode/Network/ClientHandler.cpp +++ b/FactoryTestTool/SourceCode/Network/ClientHandler.cpp @@ -142,13 +142,11 @@ void ClientHandler::sendJsonItem(const QJsonArray& jsonArray, int itemIndex, con isClickedSend = true; isRecvImgData = false; if (itemType == "handleVideo") { - if (itemIndex == 0) { - qDebug() << "0 itemIndex: " << itemIndex; + if (itemIndex == 0) { isSingleSend = false; isClickedSend = false; } else { - qDebug() << "!0 itemIndex: " << itemIndex; stopReadVideoDataTimer(preVideoClientId); } } @@ -157,8 +155,8 @@ void ClientHandler::sendJsonItem(const QJsonArray& jsonArray, int itemIndex, con isClickedSend = false; isRecvImgData = true; } - qDebug() << "itemIndex:" << itemIndex; - qDebug() << "jsonArray.size():" << jsonArray.size(); + //qDebug() << "itemIndex:" << itemIndex; + //qDebug() << "jsonArray.size():" << jsonArray.size(); if (itemIndex >= 0 && itemIndex < jsonArray.size()) { currentItemIndex = (itemType == "test") ? itemIndex : 0; currentFuncItemIndex = (itemType == "func") ? itemIndex : 0; @@ -210,7 +208,6 @@ void ClientHandler::sendGetPicItem(int itemIndex, int GetPicCamIndex) void ClientHandler::sendGetVideoItem(int itemIndex, int GetVideoCamIndex) { qDebug() << "sendGetVideoItem itemIndex:" << itemIndex; - qDebug() << "sendGetVideoItem GetVideoCamIndex:" << GetVideoCamIndex; if(isBackBoardOrAllBoard) { sendJsonItem(getVideoJson, itemIndex, QString::number(GetVideoCamIndex), "handleVideo"); } @@ -521,7 +518,7 @@ void ClientHandler::setThreadPriority(QThread::Priority priority) { QThread* thread = QThread::currentThread(); if (thread) { thread->setPriority(priority); - qDebug() << "Thread priority set to" << priority << "for clientId:" << clientId; + //qDebug() << "Thread priority set to" << priority << "for clientId:" << clientId; } else { qWarning() << "Failed to set thread priority. Current thread is null."; @@ -531,7 +528,6 @@ void ClientHandler::setThreadPriority(QThread::Priority priority) { // 处理数据接收 void ClientHandler::onDataReceived() { - // 接收其他数据 添加区分 视频与其他数据 的标志位 //qDebug() << "isRecvVideoData:" << isRecvVideoData; //qDebug() << "isPowerOnSend:" << isPowerOnSend; //qDebug() << "isClickedSend:" << isClickedSend; @@ -556,20 +552,16 @@ void ClientHandler::onDataReceived() emit startTimeout(0); } if (!allData.isEmpty()) { - //emit dataReceived(getClientAddress(), allData, 0xFF, currentItemIndex, currentFuncItemIndex, "", ""); emit dataReceived(getClientAddress(), allData, 0xFF, currentItemIndex, currentFuncItemIndex, getCurrentItemLable(), "", currentJson, currentJsonItem); if (!isSingleSend && !isPowerOnSend) { currentItemIndex ++; itemsProcessedCount ++; } } - // 由于启动了 onTimeoutRead 所以 isSingleSend = false 导致连续发送 - //if (isSingleSend && clientId >= 4) { if (isSingleSend) { - isSingleSend = false; // 重置标志 + isSingleSend = false; isClickedSend = false; } - else if (isPowerOnSend && currentFrontBoardIndex < frontBoardDevInfoJson.size()) { sendDevInfoItem(); } diff --git a/FactoryTestTool/SourceCode/RecvDataHandler/RecvDataHandler.cpp b/FactoryTestTool/SourceCode/RecvDataHandler/RecvDataHandler.cpp index b75ca96..1115a0b 100644 --- a/FactoryTestTool/SourceCode/RecvDataHandler/RecvDataHandler.cpp +++ b/FactoryTestTool/SourceCode/RecvDataHandler/RecvDataHandler.cpp @@ -2,20 +2,16 @@ #include "RecvDataHandler.h" #include "../Network/ClientHandler.h" -DataHandler::DataHandler(QLabel* leftLens_imageLabel, QLabel* rightLens_imageLabel, QLabel* videoLabel, - QLineEdit* VideoResolutionEdit, - QTextEdit* licenseHwInfoEdit, QMap* devInfoLineEdits, - QJsonArray frontBoardOneClickTest, QJsonArray frontBoardTest, QJsonArray frontBoardFuncConfig, - QJsonArray frontBoardDevInfoJson, QJsonArray frontBoardLicenseJson, - QJsonArray backBoardOneClickTest, QJsonArray backBoardTest, QJsonArray backBoardFuncConfig, - QJsonArray backBoardDevInfoJson, QJsonArray backBoardUuidJson, - QJsonArray getPicJson, QJsonArray getVideoJson, QObject* parent) +DataHandler::DataHandler(QLabel* videoLabel, QLineEdit* VideoResolutionEdit, QSize labelSize, QMap* devInfoLineEdits, + QJsonArray frontBoardOneClickTest, QJsonArray frontBoardTest, QJsonArray frontBoardFuncConfig, + QJsonArray frontBoardDevInfoJson, QJsonArray frontBoardLicenseJson, + QJsonArray backBoardOneClickTest, QJsonArray backBoardTest, QJsonArray backBoardFuncConfig, + QJsonArray backBoardDevInfoJson, QJsonArray backBoardUuidJson, + QJsonArray getPicJson, QJsonArray getVideoJson, QObject* parent) : QObject(parent), - leftLens_m_imageLabel(leftLens_imageLabel), - rightLens_m_imageLabel(rightLens_imageLabel), videoLabel(videoLabel), VideoResolutionEdit(VideoResolutionEdit), - licenseHwInfoEdit(licenseHwInfoEdit), + labelSize(labelSize), devInfoLineEdits(devInfoLineEdits), frontBoardOneClickTest(frontBoardOneClickTest), frontBoardTest(frontBoardTest), frontBoardFuncConfig(frontBoardFuncConfig), frontBoardDevInfoJson(frontBoardDevInfoJson), @@ -23,18 +19,18 @@ DataHandler::DataHandler(QLabel* leftLens_imageLabel, QLabel* rightLens_imageLab backBoardOneClickTest(backBoardOneClickTest), backBoardTest(backBoardTest), backBoardFuncConfig(backBoardFuncConfig), backBoardDevInfoJson(backBoardDevInfoJson), backBoardUuidJson(backBoardUuidJson), getPicJson(getPicJson), getVideoJson(getVideoJson), - ffmpegDecoder(new FFmpegDecoder()), // 初始化FFmpeg解码器 - buffer(new QByteArray()) + buffer(new QByteArray()), picBuffer(new QByteArray()), + ffmpegDecoder(new FFmpegDecoder()) // 初始化FFmpeg解码器 + { ffmpegDecoder->initialize(); // 初始化解码器 clearAllRecvData(); initializeMsgIdToCmdMap(); - qDebug() << "DataHandler created"; + qDebug() << "DataHandler thread created"; } DataHandler::~DataHandler() { - qDebug() << "---1--- DataHandler destroyed"; if (ffmpegDecoder) { ffmpegDecoder->stopFFmpegDecoder(); ffmpegDecoder->requestInterruption(); @@ -44,7 +40,7 @@ DataHandler::~DataHandler() } delete buffer; buffer = nullptr; - qDebug() << "---2--- DataHandler destroyed"; + qDebug() << "DataHandler thread destroyed"; } void DataHandler::handleOpenFocusWindow(int itemIndex) @@ -96,7 +92,8 @@ void DataHandler::showVideo(const QString& client, const QByteArray& valData) void DataHandler::updateLineEdit(int msg_id, const QByteArray& actual_data) { QString dataStr = QString(actual_data.toHex(' ')); - licenseHwInfoEdit->setPlainText(dataStr); + //licenseHwInfoEdit->setPlainText(dataStr); + emit updateLicenseHwInfoEdit(dataStr); if (msgIdToCmdMap.contains(msg_id)) { QString cmd = msgIdToCmdMap[msg_id]; @@ -133,8 +130,7 @@ void DataHandler::handleData(const QString& client, const QByteArray& recvData, qDebug() << "read file data size:" << recvdata.size(); #endif - - //qDebug() << "---Received data size:" << recvData.size(); + qDebug() << "---Received data size:" << recvData.size(); // 将接收到的数据追加到buffer buffer->append(recvData); @@ -148,17 +144,46 @@ void DataHandler::handleData(const QString& client, const QByteArray& recvData, (static_cast(buffer->at(6))); //qDebug() << "---Received dataSize:" << dataSize; //qDebug() << "---msg_id:" << QString::number(msg_id, 16).toUpper(); - //qDebug() << "---(static_cast(buffer->at(10)):" << static_cast(buffer->at(10)); - //qDebug() << "---(static_cast(buffer->at(11)):" << static_cast(buffer->at(11)); - //qDebug() << "---(static_cast(buffer->at(12)):" << static_cast(buffer->at(12)); - //qDebug() << "---(static_cast(buffer->at(13)):" << static_cast(buffer->at(13)); - //qDebug() << "---(static_cast(buffer->at(14)):" << static_cast(buffer->at(14)); - //qDebug() << "---(static_cast(buffer->at(15)):" << static_cast(buffer->at(15)); + /*qDebug() << "---(static_cast(buffer->at(0)):" << QString::number(static_cast(buffer->at(0)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(1)):" << QString::number(static_cast(buffer->at(1)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(2)):" << QString::number(static_cast(buffer->at(2)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(3)):" << QString::number(static_cast(buffer->at(3)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(4)):" << QString::number(static_cast(buffer->at(4)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(5)):" << QString::number(static_cast(buffer->at(5)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(6)):" << QString::number(static_cast(buffer->at(6)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(7)):" << QString::number(static_cast(buffer->at(7)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(8)):" << QString::number(static_cast(buffer->at(8)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(9)):" << QString::number(static_cast(buffer->at(9)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(10)):" << QString::number(static_cast(buffer->at(10)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(11)):" << QString::number(static_cast(buffer->at(11)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(12)):" << QString::number(static_cast(buffer->at(12)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(13)):" << QString::number(static_cast(buffer->at(13)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(14)):" << QString::number(static_cast(buffer->at(14)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(15)):" << QString::number(static_cast(buffer->at(15)), 16).toUpper();*/ // 第11字节为返回 OK/NG bool success = (static_cast(buffer->at(10)) == 0x00); int totalSize = 10 + dataSize; // 数据头大小(10字节) + 实际数据大小 if (buffer->size() >= totalSize) { + qDebug() << "---(static_cast(buffer->at(0)):" << QString::number(static_cast(buffer->at(0)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(1)):" << QString::number(static_cast(buffer->at(1)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(2)):" << QString::number(static_cast(buffer->at(2)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(3)):" << QString::number(static_cast(buffer->at(3)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(4)):" << QString::number(static_cast(buffer->at(4)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(5)):" << QString::number(static_cast(buffer->at(5)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(6)):" << QString::number(static_cast(buffer->at(6)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(7)):" << QString::number(static_cast(buffer->at(7)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(8)):" << QString::number(static_cast(buffer->at(8)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(9)):" << QString::number(static_cast(buffer->at(9)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(10)):" << QString::number(static_cast(buffer->at(10)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(11)):" << QString::number(static_cast(buffer->at(11)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(12)):" << QString::number(static_cast(buffer->at(12)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(13)):" << QString::number(static_cast(buffer->at(13)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(14)):" << QString::number(static_cast(buffer->at(14)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(15)):" << QString::number(static_cast(buffer->at(15)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(16)):" << QString::number(static_cast(buffer->at(16)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(17)):" << QString::number(static_cast(buffer->at(17)), 16).toUpper(); + qDebug() << "---(static_cast(buffer->at(18)):" << QString::number(static_cast(buffer->at(18)), 16).toUpper(); // 去掉前面 11 字节 QByteArray data = buffer->mid(11, dataSize); //QByteArray data = buffer->mid(10, dataSize); @@ -166,7 +191,7 @@ void DataHandler::handleData(const QString& client, const QByteArray& recvData, QByteArray actual_data = hexStringToByteArray(hexString); //qDebug() << "---Received hexString:" << hexString; buffer->remove(0, totalSize); // 移除已处理的数据 - if(msg_id != 0x0040 && msg_id != START_VIDEO) { + if(msg_id != 0x0040 && msg_id != START_VIDEO && msg_id != GET_IMG) { //if (msg_id != 0x0040) { qDebug() << "--- msg_id:" << msg_id; qDebug() << "--- clientLastMsgId.value(client, 0):" << clientLastMsgId.value(client, 0); @@ -179,8 +204,6 @@ void DataHandler::handleData(const QString& client, const QByteArray& recvData, true, itemData, funcItemData, jsonArray, itemJsonIndex); } clientLastMsgId[client] = msg_id; - qDebug() << "--- client:" << client; - qDebug() << "--- clientLastMsgId[client]:" << clientLastMsgId[client]; } handleCmd(msg_id, client, actual_data); } @@ -225,21 +248,6 @@ void DataHandler::handleCmd(int msg_id, const QString& client, QByteArray actual void DataHandler::handleFrontCmd(int msg_id, const QString& client, QByteArray actual_data) { switch (msg_id) { - case 0x0019: - { - showPic(leftLens_m_imageLabel, rightLens_m_imageLabel, client, actual_data); - } - break; - case 0x0011: - { - showVideo(client, actual_data); - } - break; - case 0x0021: - { - //showVideo(client, actual_data); - } - break; case FACE_ENROLL_SINGLE: { @@ -297,7 +305,34 @@ void DataHandler::handleFrontCmd(int msg_id, const QString& client, QByteArray a break; case GET_IMG: { - showPic(leftLens_m_imageLabel, rightLens_m_imageLabel, client, actual_data); + qDebug() << "--- showPic actual_data.size():" << actual_data.size(); + int lens_n = static_cast(actual_data[1]); + int width = (static_cast(actual_data[3]) << 8) | static_cast(actual_data[2]); + int height = (static_cast(actual_data[5]) << 8) | static_cast(actual_data[4]); + int format = static_cast(actual_data[6]); + qDebug() << "lens_n = " << lens_n; + qDebug() << "format = " << format; + qDebug() << "width = " << width; + qDebug() << "height = " << height; + qint32 picSize = width * height * 1.5; + + QByteArray yuvData = actual_data.mid(7); + qDebug() << "--- showPic width * height * 1.5:" << picSize; + qDebug() << "--- showPic picBuffer.size():" << picBuffer->size(); + if (yuvData.size() + picBuffer->size() == picSize) { + picBuffer->append(yuvData); + showPic(labelSize, lens_n, width, height, format, picBuffer); + picBuffer->remove(0, picSize); + } + else if (yuvData.size() + picBuffer->size() > picSize) { + picBuffer->append(yuvData); + qDebug() << "width is " << width << " height is " << height << "PIC size is" << picSize; + qDebug() << "But recv PIC size is " << picBuffer->size(); + picBuffer->remove(0, picBuffer->size()); + } + else { + picBuffer->append(yuvData); + } } break; case START_VIDEO: @@ -507,7 +542,6 @@ void DataHandler::handleDevInfo(int msg_id, const QString& client, QByteArray ac case GET_FRONT_HW_INFO: { qDebug() << "GET_FRONT_HW_INFO"; - //QString dataStr = QString(actual_data.toHex(' ')); QStringList hexList; QString dataStr; qDebug() << "actual_data.size(): " << actual_data.size(); @@ -521,7 +555,8 @@ void DataHandler::handleDevInfo(int msg_id, const QString& client, QByteArray ac else dataStr = "前板发送的HW INFO 数据大小不正确"; QString displayText = dataStr; - licenseHwInfoEdit->setPlainText(displayText); + //licenseHwInfoEdit->setPlainText(displayText); + emit updateLicenseHwInfoEdit(displayText); } break; case WRITE_FRONT_LICENSE: diff --git a/FactoryTestTool/SourceCode/RecvDataHandler/RecvDataHandler.h b/FactoryTestTool/SourceCode/RecvDataHandler/RecvDataHandler.h index 369000e..26e1bd3 100644 --- a/FactoryTestTool/SourceCode/RecvDataHandler/RecvDataHandler.h +++ b/FactoryTestTool/SourceCode/RecvDataHandler/RecvDataHandler.h @@ -33,9 +33,7 @@ class DataHandler : public QObject Q_OBJECT public: - explicit DataHandler(QLabel* leftLens_imageLabel, QLabel* rightLens_imageLabel, QLabel* videoLabel, - QLineEdit* VideoResolutionEdit, - QTextEdit* licenseHwInfoEdit, QMap* devInfoLineEdits, + explicit DataHandler(QLabel* videoLabel, QLineEdit* VideoResolutionEdit, QSize labelSize, QMap* devInfoLineEdits, QJsonArray frontBoardOneClickTest, QJsonArray frontBoardTest, QJsonArray frontBoardFuncConfig, QJsonArray frontBoardDevInfoJson, QJsonArray frontBoardLicenseJson, QJsonArray backBoardOneClickTest, QJsonArray backBoardTest, QJsonArray backBoardFuncConfig, @@ -52,7 +50,11 @@ signals: void statusUpdated(const QString& clientAddress, int currentItemIndex, int currentFuncItemIndex, bool success, const QString& currentItemLabel, const QString& currentFuncItemLabel, const QJsonArray& jsonArray, int itemJsonIndex); - + void updateLicenseHwInfoEdit(const QString& text); + void updateLeftLensImage(const QPixmap& pixmap); + void updateRightLensImage(const QPixmap& pixmap); + void updateVideoLabel(const QPixmap& pixmap); + void updateVideoResolution(const QString& resolutionText); private: QJsonArray frontBoardOneClickTest; // 前板一键功能测试 JSON QJsonArray frontBoardTest; // 前板单项测试 JSON @@ -67,20 +69,22 @@ private: QJsonArray getDevInfoJson; // 获取设备信息 JSON 配置 QJsonArray getPicJson; // 发送取图指令 JSON 配置 QJsonArray getVideoJson; // 发送拉视频指令 JSON 配置 - QLabel* leftLens_m_imageLabel; - QLabel* rightLens_m_imageLabel; + //QLabel* leftLens_m_imageLabel; + //QLabel* rightLens_m_imageLabel; QLabel* videoLabel; QLineEdit* VideoResolutionEdit; - QTextEdit* licenseHwInfoEdit; + //QTextEdit* licenseHwInfoEdit; QByteArray allRecvData; // 完整的一帧数据 int remain = 0; int start_run = 0; long dataLen = 0; FFmpegDecoder* ffmpegDecoder; - QByteArray *buffer; + QByteArray* buffer; + QByteArray* picBuffer; QHash clientLastMsgId; QMap* devInfoLineEdits; QMap msgIdToCmdMap; + QSize labelSize; // 如果接收十六进制数据,转为二进制 QByteArray hexStringToByteArray(const QString& hexString); @@ -92,6 +96,8 @@ private: void handleBackCmd(int msg_id, const QString& client, QByteArray actual_data); void initializeMsgIdToCmdMap(); void updateLineEdit(int msg_id, const QByteArray& actual_data); + void showPic(QSize labelSize, int lens_n, + int width, int height, int format, const QByteArray* valData); }; #endif // DATAHANDLER_H diff --git a/FactoryTestTool/SourceCode/Widget/MainWidget.cpp b/FactoryTestTool/SourceCode/Widget/MainWidget.cpp index 54848c7..454b136 100644 --- a/FactoryTestTool/SourceCode/Widget/MainWidget.cpp +++ b/FactoryTestTool/SourceCode/Widget/MainWidget.cpp @@ -43,17 +43,17 @@ MainWidget::MainWidget(QWidget* parent) : connect(server, &QTcpServer::newConnection, this, [this]() { // 检查是否有挂起的连接 while (server->hasPendingConnections()) { - QTcpSocket* socket = server->nextPendingConnection(); - int clientId = nextClientId ++; - QHostAddress clientIp = socket->peerAddress(); - quint16 clientPort = socket->peerPort(); - QString ipString = clientIp.toString(); + QTcpSocket* socket = server->nextPendingConnection(); + int clientId = nextClientId ++; + QHostAddress clientIp = socket->peerAddress(); + quint16 clientPort = socket->peerPort(); + QString ipString = clientIp.toString(); if (ipString.startsWith("::ffff:")) { ipString = ipString.mid(7); } qDebug() << ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"; qDebug() << "> A client is connected. ID:" << clientId; - qDebug() << "> Client IP:" << ipString << " Port:" << clientPort; + qDebug() << "> Client IP:" << ipString << " Port:" << clientPort; qDebug() << ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"; if (ipString.startsWith("10.10.10")) { @@ -96,14 +96,11 @@ MainWidget::MainWidget(QWidget* parent) : handler->moveToThread(thread); // 创建 DataHandler 对象并连接信号 - DataHandler* dataHandler = new DataHandler(leftLens_imageLabel, rightLens_imageLabel, videoLabel, - VideoResolutionEdit, - licenseHwInfoEdit, &devInfoLineEdits, + DataHandler* dataHandler = new DataHandler(videoLabel, VideoResolutionEdit, leftLens_imageLabel->size(), &devInfoLineEdits, frontBoardOneClickTest, frontBoardTest, frontBoardFuncConfig, frontBoardDevInfoJson, frontBoardLicenseJson, backBoardOneClickTest, backBoardTest, backBoardFuncConfig, backBoardDevInfoJson, backBoardUuidJson, getPicJson, getVideoJson, nullptr); - qDebug() << "dataHandler->moveToThread(thread)"; // 将 DataHandler 移到线程池中的线程 dataHandler->moveToThread(thread); @@ -152,14 +149,23 @@ MainWidget::MainWidget(QWidget* parent) : connect(thread, &QThread::finished, this, [=]() { onThreadFinished(thread, handler, dataHandler); }); + connect(dataHandler, &DataHandler::updateLicenseHwInfoEdit, this, [this](const QString& text) { + licenseHwInfoEdit->setPlainText(text); + }); + + connect(dataHandler, &DataHandler::updateLeftLensImage, leftLens_imageLabel, &QLabel::setPixmap); + connect(dataHandler, &DataHandler::updateRightLensImage, rightLens_imageLabel, &QLabel::setPixmap); + connect(dataHandler, &DataHandler::updateVideoLabel, videoLabel, &QLabel::setPixmap); + connect(dataHandler, &DataHandler::updateVideoResolution, VideoResolutionEdit, &QLineEdit::setText); + // 启动新的线程 thread->start(); connect(handler, &ClientHandler::startReadTimer, this, &MainWidget::startClientReadTimer); connect(handler, &ClientHandler::stopReadTimer, this, &MainWidget::stopClientReadTimer); //handler->getClientId() == handler->preVideoClientId - qDebug() << "---- handler->getClientId():" << handler->getClientId(); - qDebug() << "---- handler->preVideoClientId:" << handler->preVideoClientId; + //qDebug() << "---- handler->getClientId():" << handler->getClientId(); + //qDebug() << "---- handler->preVideoClientId:" << handler->preVideoClientId; connect(this, &MainWidget::openFocusWindowRequested, dataHandler, &DataHandler::handleOpenFocusWindow); // 创建和管理定时器 @@ -295,7 +301,6 @@ void MainWidget::onClientDisconnected(ClientHandler* handler) */ handler->deleteLater(); // 延迟删除 ClientHandler 对象 - qDebug() << "-----------dataHandlers-----------"; if (dataHandlers.contains(clientId)) { DataHandler* dataHandler = dataHandlers[clientId]; dataHandlers.remove(clientId); // 从容器中移除 @@ -448,7 +453,7 @@ void MainWidget::setupUI() mainLayout->addLayout(rightVerticalLayout, 3); setLayout(mainLayout); - setWindowTitle("SL100 工厂产测工具 - V0.0.1"); + setWindowTitle("SL100 工厂产测工具 - V0.0.4"); resize(1340, 900); connect(startServerButton, &QPushButton::clicked, this, &MainWidget::onStartServerClicked); @@ -680,7 +685,7 @@ void MainWidget::FactoryToolSendPostLicenseToHttpServer(const QString& hardware_ } void MainWidget::startClientReadTimer(int clientId) { - qDebug() << "------ startClientReadTimer clientId:" << clientId; + //qDebug() << "------ startClientReadTimer clientId:" << clientId; if (clientReadTimers.contains(clientId)) { clientReadTimers[clientId]->start(10); } @@ -1268,6 +1273,7 @@ void MainWidget::onSendGetVideoClicked() //QMutexLocker locker(&mutex); for (ClientHandler* handler : clients) { if (handler->getClientId() == handler->controlClientId) { + qDebug() << "lens number:" << lastClickedGetVideoCamIndex; handler->sendGetVideoItem(itemIndex - 7, lastClickedGetVideoCamIndex); break; } diff --git a/FactoryTestTool/SourceCode/main.cpp b/FactoryTestTool/SourceCode/main.cpp index cd1dae6..aa40d70 100644 --- a/FactoryTestTool/SourceCode/main.cpp +++ b/FactoryTestTool/SourceCode/main.cpp @@ -23,8 +23,8 @@ int main(int argc, char* argv[]) { //FreeConsole(); // 关闭控制台窗口 QApplication app(argc, argv); qDebug() << "Current working directory:" << QDir::currentPath(); - QIcon appIcon("./app_icon.ico"); - app.setWindowIcon(appIcon); + //QIcon appIcon("./app_icon.ico"); + //app.setWindowIcon(appIcon); MainWidget w; w.show(); diff --git a/FactoryTestTool/frontBoardImage/20240903_152605.jpg b/FactoryTestTool/frontBoardImage/20240903_152605.jpg new file mode 100644 index 0000000..2e4f82f Binary files /dev/null and b/FactoryTestTool/frontBoardImage/20240903_152605.jpg differ diff --git a/FactoryTestTool/frontBoardImage/20240903_152605.yuv b/FactoryTestTool/frontBoardImage/20240903_152605.yuv new file mode 100644 index 0000000..f390f98 --- /dev/null +++ b/FactoryTestTool/frontBoardImage/20240903_152605.yuv @@ -0,0 +1,220 @@ +HqėuP:25""&/&)-/!3-$5<2GBDL?J?85A>G>7/771181?+55:723KDJFKJM?D0<+)87>?DCJDPMLVPLJGIDBBJZ|oR8:55$*"%%$/+$%%&!(%%$&&!.$("#$)&/02#)+%((1&*&"#-0"#-+)(&&$)-"&&&3%$++&#)%%&+)"#&&%%(8($&"#$!(./!#+*2%/)(&#&)#$***$!)-&&#)*(*-$#"*"%##$*$+*(%%*"!%(&#%"&!&%!!"!"!"&(!&+&%&0&&*+.&"#(%(&&"%" !")(++#(++"%$!!&*!+!&&&%$*-"!&&+&%++28Sq٭jM7."#&!!!#+#(7<:GFKJJA?G<885?8CFMHROJWWTMMCG?EHO`}rVB5#&&(&5%$%"#0 #&+*!08(! **'+-$#*,&&%%+&&73(+$/(%&"$+%"*%)&+(*%"!""(()!(&&!0*"('&%%"!('($ +" $'(#)-'%!!*&&-+!**%!)!"&)%%)%-(%!!(&#%&##"+!$#"#&"##$+)!+&/-("&$&"#&!"(.%%%*$!+!(+"$###$#(#+$!&&$"$%!"$)"%$##!*+!!!(2JMRLAF?::78?5?::<>7?CHJKJZTPVTOOMIDIM^ɓuV::2+"%*."+&$"%!&!)&0(#*(+7802(*&"&*++(/%++&)+!./++*&&#!&%/#!&)&$&!*#/.)#&("$*(&&###&&"""$#&%#&%*+$&##"+%"()+-("))&%&!&+.$#$*!(!("#!%)(&%+")%!%""!+&&!"$#&!&$$&*"+/!&(+%"-%%$($#$&""&!(!!"##!&#")"+&+*.&(!!)!&#/?FA8?8?27:27>>FMII\YSUPRKMMGKHMaʚoZKB1/-(##&+%$"%-(/#-%0+2-#&"%&"&-1&-&&/..+%&%0++/&$5*&(&5$(-&)-%-)$+!)"!%!)+%#&)((&"-/&&((&--("&"!"&)-*&#+$*!&$*(%)!($%#%+-%#")!#%"&((&&1"&&&$!#&(%&&!%!&%!&&"&%%/&02$-("&"%(%($/$!+#&!!"!!$&"!&#(&"%!&"%$)2/&/2MbyƠ^H0&$"""5$&&&)("!/*?8ADACC::5CD7C3:37:8(:8FBDFKSRVYZOTOOHEEHZg˛uYC121-5+-!#&*&#*"',27&)+(#'+&(,'!02/+'$(# +*+!%+"&*.(+(+(*&$) &%%)$$)+(00$0#"/"%"(*$!"&,&!&(.-&,&&*"""&+%"(!"+#%)"#3!!&+(+#+(2+(%&+&!(!-!1+!+#&&!#+%"-%*"%"!##")!&(+"%"##."+(%##$0+"#"$&%#&%$%#!%#&!!%/)%$$"0%.# "!-%&&%$$+"()#+&+!)(""-+BPkw]<)&+&%#(%20:8BKEAHHF8F:<280:7A72JIMRWW\ZWUPPMIGBLUeϞyWI:+%*)&+)1&++*()%&!+-%"")& $-("+&&(/.0%."#$&().*(21)"-2*#++"$&))&)/#!(+$)*(+)($!*%*&%.)#"&((!&*,)+%(%+$% !(&##&#("%$"$)&*))+/#+($!#!$#(%$#!#++*!#!$(&$#"%$%+$"!##)&##&#"&!"*$)!"$(#&2$#"&+!#!!&#!$(!!!!#-!$(!#!+$-*77>G`yױkL8-11#$!&%)&+5?DJWWWZ]\TPDCJF>YeϞyYH7:2/%*+-"%%+-&)1-&-#!#"./.%2&5--/+*%*+*+*-&&1)$&"2&&!"%(&.!%!*(&&$0%#"*+)"%$&/ +0#$&%+&+(20%%$(07&&%#&%+!!0)("#&$$&%!+#&!&!&.+!"$2/(#")&()#*0%2*&%&!("&+$&!&##.$&)&!)!%-"/)&#!!(!% +$%(&)"&!#% &!" +%!(!("!+&&#$!#!!##!"2&00:\grYE.!#"+#"#&&"*"%$5:-(2.&%!3))!"%+*%$+&$*++5$0!!++*+&0-*(&(&2*+&+**+(&&%-&&#-!&.!$()"1!#&$"$&+"#(&&&"#%$"!)%(*2++*1&-&)###!#%&&*%!*&&($&)**(&#*/&/*.(&!%"#)+$#%$"#&&"&$%#-(!&!$"$"!!!#&&%-&)"##"%*""+()&%#"%("!")&!"#&0"#)$+(.!#$*#&(##$%&"$)*&2:Ii|ҨqM70$#&$&&($"!02<3>EH?8C:?58322C:F??388:?<5?:7?8Fjx默ySE8/"*%*"%1*5BA2:?B:EKMKRRMVZ^ZZTOKKGDSgϣ{^??2-((+&$(#"$1)&)%0.35$$$(*$&)"%+%+)(1)($30)+)-2-($%)&*$)&&*)"("")%)#!$#+&!$!0&0#&"*)+"%&)##&""**0"$"/&#!$(+%#)&&)&*%"%#"%/"&((0%-$(%+&0+&&.!##%!&1(#!*!#%.!"%&)&"""$&###&$)"!!""%#&+&"+)$(&!$$"$+!($$$"#*")(!!!"#&!$%"!#")-218A>WpϤaI0%++%#%"%)%$%&2BLA?<8<7BH::G8:LUMPZWVUUSMMLKESdϤx\J22(&2/$.$*.'%"*2&(+ )+"*4/$-!&&)*!/++"!!&%!&/+$-$!#%&53%/.&(%)1."#&)%+)$+&$"#-&/(,%+))&'"1#&"",1#/"$'/(")"%.("!"&&#$&"!%#+*)$#"+%+3%#&/#!%2"+%"#*&+/&&-#!8000#*))"%! +#"" $&#$")."%&*(%%&!.!2$% +&(.!+! +)%""+($%0! &$%*$$!$!1&)).*)-7Hj~㵑qUB8+&$$%#(/2/C:>8:2158>AKPRWUU\ZZOTYOJLBGVexZI2/2*#(-&/2!&!&2%)-&""+&$)*()"%*#$#&&+1+&%(&%)"$%"&&-%&*.&%+($)&-&)!-/+5(&%&$!$#&*#(!!%"!&'$&('%!"#%(!).)$!(#%+%#!%"-2+&&$%&!!&%""%-"&$"($&%$#)"&!)##"%"##$%)(%*!)!#")&$&$+(&##%)"0! #("&$&"-(-#!!#+7:D^y˜b8-("&.1&("##!"5233AD:5288:2:<*+8:8EPSTWW\YYZPMLOJKWq}ZF<--+&*+#"-.+-0-#+#-."$&))//+##&+%&)$+*.#".$5++!+%1(.*&(#&%#(%$*&"#$#)$-0($1)&&$++"!&!(&*$*%)&#"&##$%"&!*( +!$""!*%$$%.###!%**#++!)/#&&&#"#*#!&"$((+)&&(*&%&(&%#%#-/&$$(!$""%  "#$#&.($%#)%(&!$&(!.!"%&"#!#/% ##"$& !$%%$""+*()$5**)*>DVq଎rF72"$&!#$!85CF8?B<:75:8>BCFGLOMOTVYVWWTRKIGKUk~yWB810$%2%&-+)/"!&+(%$&+&&+%#(&))()%)*%%/(+$(%)+)!)(%%($&%&)&*&+%&!&%$&0#&-0!)&-&&&!$!&$!&%&)&!!+&"%*(&&%$"&%&+#(+(*%%%!"&$&&")$&#!+%(!)&%!&$#$)$)-$%$$$&"&$!  #!"+&$$&#"%!%%#!%&$%#%!!#%"")+*!+&!"-!%!$+!%#%-)21:Ieyœ~b?).-!)!$"%#(%%1:518EC<:A<8>73:?EFEI>?LLPWZUW^UTVRILDTbu¨rI?78&2)+--*.%%)%"0-*%!&%&&.$!$2&$$%-&&22(&)*(+*(%+*"+&$$#%#(&0%!&%&)*&2"&(+"%(+*.)#*"%*&%#!%$#&$ +$%+!&%#!&"*#*#+!))/.-$(%!%#-!&)%%%#()#!($%/#.$+.0&$&"#)%+) $(" +$"#."-*&-%!&%&##%"$ $!&&""" !/*%$"&&$&+?:5Jax͡iE/&(+"%&+(&)%+<?B?>B8?5C>DFWTPVW\\YZTMJGEFHS]wɳgUC712*31*&(%-")$"&"!.'*()"(12(%+$"$%$ ($#+&%%*$$%&+5#+*)-"*-)/&(+2#$"*&+1)1)#)$&&$+! # "'##&"'#)$(%%!#(%#$#"!1*%&&+%")&%++$*#$"%++"!%$0+%*%"&&)&#*!# &* !%" %((&&!#!#!$)*$)&$#$$+-$$!&$&&&""%0-!#&*%$##%% "-"&$("( #")!"((!#$$$2?Wg}ʞ~ZF"&*!#&&&1&+H:8<82::25<57?DMMHMTU\\^ZZZPPOKDIR^qŭqRG://%)*&+%+&&$"#(&)*'#/(1+& &&&0(#& #.%%'&+$&"+$++(#1++&""&!&-"!-+!#$#%"#%#)&+#!&&%$&"#"&#)#'#""!&("-)(#$!&$!(&+--&(%!#""*%++&!(#*%)$&"&#"%)&"*%(&$$#%#$$#!##%#$%(&%+!#$(!.&!"$&&%)&&%""$+&!$&  !'(#&&+!"&+713KdrܲgO2*%%&!%!(&)!*+>H<>??85?87??7GHMMMSRZ`]Z`UTTIK>JMWjάrLH1/8.)2/++##$##&))"+!%.(./1+-%-*-+.)&&""1&&-#&+")&)(-##+--+&(.(.$%"+&&"#&&*+*&+*!&#*#"&$"!+*$#!#%+0%%!+"1"%!/+-.*$&$**!(#.()%("&+"(%&-+&!$.+-"#&(-*+&&&&$##+*+#"!!!$&##!$+!$$+"#&"&$$$+!&%#/($#!&%&!!$%*-$&!!(&!+/#)"(*8AZk껟{\52:.&&%(*!#%&&<5<<8??:?EKOLPWWZ^`SWPMMIMJG\qrZH52%*-&%$#)&.#!((+&+$)#&(!-!.(("&"#&)!!&!&%%&*)&&$+&(*.!+)"&&-!%(&()#"*)+)&)+(&(&"!%&&&*%&$&%"&)$#!*"!#%"))$&()&!$$-($*&$&##$&.)#.&"&)$$"*&$&%#$##!)!"&&&&+&+(#$"%!"" $!%%(*%!#$&")"%*""##"!$&#%#$ $%!# #!!)"##%%&&%&!%(++%/BObҪi?82*&&"""!$)728YjǠ}dE0-)"%$!&%&+EMPUYZ^`^ZSLODPHG^k}gG8+$+&(+($2+(*%1.+$"-&.$&%#/5+++()&#&%.++(%*&&$#$&/&22$+$!&+(+(#%"!&!!0&"&"#/2#!%&.#!&#$&##!&!!(&!"$*#+&"&."%&*!.! &*&&!)$#.&--)#""%+("%%!""!!+&"#-%%%-*)#&#$%#"#%#!"""(&*"".&$-*#"+"%%-+ ( +!#!!"&"& "*!%-+&"%&!+$#-/<:Id}⫐kM:)/%+&&()?<<25?BJGPPTTW^^YWWVPMFOK`p˨iO5102&&.!.#+#$-+##+%/+)#!)&-%(((&))#&(-*"%(-2.&)$)02*$"$)&#/+&$&&%%$##+-&#+&(%"!&&%!(&&&"#$!""&!&$&#%-("!"!&&"%&"(&!%&#&%"&"-++!)$!#)%&&%"$##$!&!"!$!$%!$"!&&""!&!%!!$"!!$%)$!*"!#/"#%"!$!$$!!%!&%%%$#(+/28M\u{Z>0"#"&&&&AA<>A55>:/5B:>?IMMPSTWW]^WWWSLMMHYpүiM30111/&"!#+++*/$(("%0#&$*'!$1'%)*'++$++(*+-#!!""(#++++&&"%)$%#&#&"/#)#"&&&)#%"!"+$%#%%"!%$#"!( &#"$#"++)*%$#!++&$!&#&)!!+"%%+$&!&)#+%#!#""!!#""(&####"$&#&"$+/-(!%#!%$%"# %$!&$"!+!#&! #%$!"&&"#&/23CVkիdM-(*(-*"!%.18C<<858FFMPPPVWZa`ZZSMPPHR]wǟyWA857(/)/&0.'(())!$-&*0!!"/7$%*0%5/)(,,#*&0$($!0)"$&+)#(&$"!##.*&"%)+*.***&"&)(+)#"!%/)%$*!$-!# &&$%&&%*$&0&#)!#+&( #"0#.)*#&()*$"(&$$)"$%+&(&(%#"+&!+!! +!$%#&&%(&$&&##!#& %%%+(!+#&*%&$(" !! +!#*%#(*+/CJd~|\F-&"&(!/+C:::EA<87:?E?A5?78?<88B?*85:?GJEJRWU\\ZWWWTOLKMZqתbO:3&)&&&"&+*((!+(#--&(2)%&%#%!""&(:!&&#!&$$))&#(%*)"!0+"%$!$#%&-&("+$"(%$%*%!##(!!&$"#"!"&)!#&!"$#+""+(&%&#($""&#!&&#"%%&$#"$%"$!(#%&!"%!"#&&#&$%&"%"$##&$&#"#!!$%""!#)%!**$%%$%)*%&5?Mb~ěy\<25-$&#+787F7>AA>8<3::5DMJKYTWW`Z\]VUPMHSZpޱdO>5.$0+(&+#+)+#&"($(+",#(!0&.*,-%##/)-#*1)!(2&(1++&.$&.52+((!.*$"%$&*%#$2%(.*%!%!#"  %( &!"&#$&"$$$'#"#$%&&&-%)!&#/&#($($$"""&!#&"&!" #&!#+&&((%!&%")(%%(&"%!#)"!! $ &*&%$"#%%" ! % +%#"* !"58AbwҥjL1++!#%$$ F:?<:2:778AEMLYSWYYWZY\WOMLMWn붔oUC52(&$+)!$&"+&!!!$$#($&"*+%)+&((&1/(%$#"&&!))()++#!+$)*%-#$&!&"""!-&0#"&#$" #!#$#$$$!%-&&#!*&%!&)&$($&"%"&!&!!(("!!##$&"&!$&*! +!&!!!*#)"%&##$!""!!$%"&!"$!!+$%-#"$%""$/+7:K`qЫdM5+&%!#1<>><<<:88<(5>:8FGGKOVTW]ZZ\ZTMOMOWg~ y^A<03&+8+)%#((!"(/0((&*(-(&!$!&&*#%"$&"#(1(#&&"-".$+&")%-/)&+"(%.)&&#""+!#$$"##&$&&+##"$)!! #$#"!!&($$&#&("%%&"#%(($$/!&#$& "&!# !"%$%$&% !"!!$&!!"&%&*##* !%" ) &+%!$$#%"!%##%)01DZu٪oG22#*$71:38<:8888>::BKIKMPUTUZ]ZZZVUMKI]eɤ{`I82--/&+-""&#!(*(#/&&%(*&+%"#%!*%)&).)+*#"+(("+#&%(%""+&("+"$%&!%"!$$"(+)#%""!#%&!+"#"&!%#!&%!"!"!&&$"$!""#"*"$$#%&"!&!$!%""%!""""#!!+("  +!&!*$!&$%!"&(+/:CUq縙uU7-)$"&?/88:5J3><8-<Og~ɡ\H2&#%:*%:5337?A<>5/088??HPIPTSW\YZ`ZUSPOPVc~ժdOB31)-+2+&-+#!*" +(%$" )1" 4+&!".)'(#*)-*)($%&)#"&&((-(#")#+!&!!%#)&)+*%!#"!#&%$"$ !"#!#&#!$!"!#%!#)$)*!""#&!!&"#!"!""!"+!*$#$$*)+#%($"!-"#&"&!""#$#!!!!"! "#!&$/&&#" !#).0(?OZwޱqG81"(&&:?AA8.5<58D1<<+2-&%758?><>8::81:<?ABEGPVTUZ`\YYWYVPMJVcq겎oSD887&&!&%&&)$% $&. %%''%-'%",#2.$2+&&)(%)/$)!()(+!&%()%#)#&&$""#*+.#%!"+0)"#)#"%& +%(* !%"('!!&($"((+$"!!&+%!(&%#"%#+!# &!"*&!!""&"&(#!!!#!%&!#"+$"&""!#" # +%&  +  &" #!)"###+%377<<81:37:8ACJKIRUSZ^ZZYWSPLLR^p굓pPA870+.+.%*))&&&"%&"$$&+'"&& ("#(%&**$!,&$&%&$")%&$+)+(&)"&"##$"#"#("#"%%#&+*!&' $$!$!#&#""!#""+&"!!!&"%&&!"&#&&+#!%%&"#&(#"&%!$!!&($!&&!!#  +% #%$!##$#!)"#+8:KWn|WF.&&#)(8/5?E?5:>F3B3::BKLJUWVWZTW]^WMPPMS`q깔uVE723*(#)*&+!*&&#&$$&"$"+()+&!$&()&"$!&*"++&&(&)(!($#!!!!$("!$#$#))$&#*#!##%!&"%"!&!!$*!!$##)"!%#"!!!#&)("$%&)%%""!$$#"#+#$+!!"(#""#!*&""$ #"(!!$#!!)%"#!($)$#).&)KSmУgG$&"&#D7:?88:<:872<:58IEEPSWZ\^^^aZRUMMO^m™wWE:5+.)((&*&+&%%%&&/)&&&%"&#$-2&!($#("$&&!#(0"!$!!!)($&+$"%(&&%#(&"%%(%($$)!#"$%!"%!%#!"!*"$!##!!&%!!!#"!%!&"" !#"!$&%$""$& ##%&#!"!%*%&#"$!&#".2:858>RLMUWZZZWZ]YWSPKMWqơy]I:750!($(2+(((%&*+"""*()(,-#+$!!$)(*,+&$&&)+-+%#!!2!("&&"!$%)&"!+&%!#%$"%%$! %(!"&$!!&#)$$! +&"#!$&"&($&#)##!&!#!!#&!" " """!#%("&! !%" &.)85G^tw\8&&2:<:A8<<80-778::D<5>:71:CCFKISWSWY\Z]\ZVPPOPYjޭoLA822*5&&(&$+%%&#!$#+"*.#!$* $(')+$$$$($$#)"!#%$)#%"$"$!"#%#&#))%&!!"" !& $!"%)%#!&!"%#&!(#$"!#"&#!%$$"" + #&*&!$)/ !"%$&#%$" + !!"!$&#%'"'!%#$%$+)17AYnҧ`J5#%)#(8?<8<5::7585558CBGIKMOVWY^^`\VTPMM^k~ⴌkPA5+1-)-+%$$)(2"!+&*%")(&$ "%&!0)*%+#%&*,"*%(""(#"&!&&&&&$$!)"!"&"$"%#+&)#&"$($"#$ !)"!(!$ !!!&*&#("!#"!"%$!"#!## +#%##&$!!%! &"%$"(!#% !" %)&0.-2?Tk~굑kM8%#<>818C<:5778:<.?DJMTPRSY]^^^ZVVVRTTe当pY?>0++-0&(5&-)-)))$$%*%)&&.&(&)+(%"!&+#&-+!$#"%%$#%*!%%"!")*!$$#%"$&"")&#%!$"!&$("$#!"#!!&$)"!%%&!$#"("&(#!!$#)!#&+!""&" + $%!$##+"$%$"#(""&+"-$  #"%!(#"&!%$%&%!"%%"+!*)08:Sa|xP5."#:8:1<<<:<:<<28?>>?EGLPSZZ\^\\WUSMTWdnZA>3-%)+()-&&.(&$$&#)#+!%$&)!#&!+!!#%#*!#(&&%#!#!#+"$(("!#"$%!"+1"&%!!"$!"!$#!"*")#"!!&!$!!!%#&#"($""!"$!""!"&!%&"!& #%"$!$!"!&!!%)&-*!#$&+1:5?<.85>278CEKFOPRWWZ\\\TSPRUWaxtYE:1.1.-+"%++!# ,%%&*(%&)#-*$*%!((&(!*!!$#"!+./$"))!!!"$$!&&!$!%!$$%&"#%% $+! "# &&)&"!" +"&!!!$&"&$#"##""$$%&")!"%"!"" +"""!""#"*$"&"(& +!%!"#$#)%%("!%#**)$)2AZnൎkD<)!B??8?5?:3?/7117?DHGKPWWWZZZ^ZRPMORZd{ɟy^B>..++(-&.)%&)"!(+*&%!# ($+ !-+%)(+)$&!-!$")(!#"."%+#$!!&+"#!"$!(!!-$%&)$!!!$!%!## !!$##&%"!$&!!%&!!($%$(!!!!"""%"#&")#"$#%&$(!$%%&%!$)#15?Mg~xZ5($&5<<<8:82858578?A?BFPPTUY]^YZZZWMPPRb{ˤ^H?52(...-+&/$%+%#$)$)%$)!$)&()+%"$"%&&!"*("-##(%$&&!&#&$##$!$(++&!").)(#"!#%%""#(+"%##"!!""""#"#""+#!!$%")")%"$$$"!%"!!#####!(!$"$!# +""&""#+#&+%(&$#%+8LWuЦ^C2+58:<:/7<8?8:53-8BBLPRSTW\]Z\ZYSPRSWdrШdM?:2.0./+"(&(*&"+"&$"))%&%$$%!%(#%%&%+%%%#"%%$&%$$$&$!+"!$#&#&)&!$(%"%#!%"#$#$"!!!$##"""$"$$&%%"#&!#%""&") !%"!%!$ !!$&$"!+$$#%&)+1EZq㮒gF5%&*.::7?3:73(??7:<>8?<813888:CIHEPPWZWU\\ZWSPMMT\pױkO<83.-*)!%+'*&&(0"("$&*#$#)#%&&*#!!!"%"!!+* %*##$&"%$$%%!#%"""!#*)$&)&!$$!&%$&&#!+%%#!" # !#!#%$*!!$#(""!&!"+"#&*+%#!$&)$"#!$# $"#!&" "#%%"$*2(&$3+<7??<:>:<<8B8?2AAPPPVW]]Z\]\WWTSU^m㹌jMF:++(+-1/&#&&%$.!&""$2+.&&0$%&!&()&(%"("$+(+$#)+"%$#")!!&/&0!#$(###%!$#&)#"(2&&$+!!!%%#"#!#&!$" + + +#"&&#"+## +"$&$ %"# %#!$"##+5#!#")$*&&.8>A<5:?85:57:<27??EGOPSVVWU]ZUVSPSP]n꺒tTG:72+$/+$+)-&%&(")&$%(#"&)&##%%((##&#"!!"&&&&#%+"&&"&#!#!!%##)#$%$&%&#%"($%""#$!!$#$&!!!"!#&"+&!!!!&$"###"! +$!$!$!#!!#%#!##$&*"#"$&&&$+05CPn罗nO00+>35A><<5/>?>5555>?KHLMTPU\Z]YZTWWOSVktZ?7853-!3*%%&#$"#+ $"$.(""##)*#&!&"&"*&%$$%&%())"!*!"+)*((&"!&"%#!#&#!#!$#$%&$%#"$&!(%!& !#&&%%$"&#%&!!%$#""!#"%$)+$"$#&&""#% " $$ &$&#"&%/$08Kiɡ~U?+88530888<<8780ICJORUWZZZZVTPMJPWe~t\G8730+!(*)++%&%&&&#$%!$&%!("&("&)(#&($ !$$*#$!####$#%$$!*$$"$$&""$&#&!!# " !##"% !$ $#!"!"")%#%!!!!!#&! $%&$%#!$!& ##&#"&&!$$"""#%%)-+22AG]uӭaC2&58>:?582175228?8<IJMSSUVY^^YZVUMPTZg{ͧ~bHA<.*+/&&*$)!%#(!%*(%$-+&&*&*#!+$$()%%$""!&"$)&"%!&%"!!#!"#""())$"$!$!&&%!##$!"%!"("%"$!+"!&#%$!"!"!"# !!"&&$$#!$"" !&!$%!""$"%$%#723CPgxU527JMLKMUV^\]YUVUPMRVdxϫdP>7+$2()-#'%$&""-!')!!#(-#!+$'%%'%#$#!""$+$&(!"&#$!$&&$&#&(++#$$(!&"&$%$! ""#%&$)##&&(&"!""!#%%$#"!!#&!##!" """ &!#!#$(+!!!$!&"! +"#  "!&"#"#"(&#++(+113AFg{ϨWD5:758<<5:<2:?2<53?AEKMPPPUZZ^WWVPSOUVdyիdM?5./+$-+"%"&$$)%#%##$.+$#(%'(**!%*&$&$%"+)% "%"&&"%"&$"&%0#!%$$$!$%""&($&&&(%!"&&!$"#&# % "& " !%###"!%"!#"!#%&%#"!"!!!!!$"# +"%!")!!!!&#&")++0-<:8:588?857<825?787<585?<>:F7>::78<.::?2.2-)&%0&+*)&(%!(&$&#"*!"($$#(""+&%))$#!&"#"$!!$$($"%"%$#( #!!"!$!!$&)!%!"/!$$#!"!$!%&$#&$!##!!#!!!%!"$$!!"#! +#""&!####"&"&"-+2COd}լ]7B7:>A><<<57:88?:/FGGHOSWW\ZZ]YPSMRU]cxԦcK8835&.&$&2$&$*($&'.")($%&.(!%*#'+ ."#!#))$$$#"%$! "&#%%&%%"!&&$!*+"+###"1""&*$#(!%"#$!(!"& %#%)"&&!&#$&%!%$%!"%&+"!)#&"$"!*/&%& !$!!!  & !&&")$&055I^wⱍb<7888<7A55:<::58:8GEMOLMVZZ\\\ZZSRRPWexԫgJ?32*.+.+&+*%)+&&"&&%)(")()%!"&%!"&#-#$%#"!%!$#!!)("(%(##""$&(%&"$"#$!"%$"#!"$!&!$%$"!!#%%!$"##$"$% + !!!%!#!!$!$()+08?Wqg83:.8:8+08?58::<<7DGDPSPTWY\Z]YWSSPPTewܱmPC:.23-2+*0+)+%+&&&+*!%+(*#.$#)***#$$("&!#"$%$"$$(!&"##$&&.&##!!#&"#"(&&!$#%%(!!"!"#$)%"!!&"#"$#$#!!!$&$#""###"&$("!"&%$"&&&("! !  !%"""!$&0$-!&!"$#&$&.1?CWkǠy:535:?<2?<<58800:7?>FLPRVRY^\WZWTPRPU^q峑iRD<:3&5&*+*&)(&)+&#))%&$+)(()(!&++)#+)!!!%&$!"&&"!$&%$"%&&$!!#"&$#$($"%%$($$*"!##!&"#!"!!&&""$!$"#""%!$&$#%!"""!"  !"%$"$!#""$!!!"#!!*!#($&%&%8*:Pb~֨y32:5388>:828A8:728<:DFGJPURZZ\Z^YSURLP\qtZH:8?8:?<27<3B5./55.*.+-.*+%$(%.&(%&$)$%(&$$!+&%$&(%&")$#$$%+#!%%!+&!!"#&%%#&"#"(&$)(#!$%!!(!#!#!#&"#&!""$!$!"&$$ ""!!$""!!!!"!"#$*!"(&"%*!$*"&"/3DPjƔ8?<>A<:<:::<8:/8:EHLKSVTW]^]ZWWPPTPZd~Ψ~gPE832.+.+****.-$$0($(&5*"!$&$)("%'&%"#!")!&!$!#)!##+)"%#&&"%&%)##(#&%!&#$# #!"!&#'!&&!#&"&&#!!&#"&!!!&#"*"&!#"!#  ! %$  $&%*%#%# ! ##&&/%7F^w:25<:<58:?:72?557:>EDFLPRRU^WYYUUWMOPYdyۨeOB820-*/.*()++&"("$'&2#!%&%(%.%#&& #&'%"""&&!#!(&%&#%$%)&""!!""!$#!%")&)!+%$&$"%!&!$%"# &#!"#"!!""!!!%!!! ("$#!"#!%%"$)"!!"!! '"!!#%""##(27GTo757:8:?>>:2:>2:285?>FHJMTPVZZ^ZZYWSPT\duޯjVD5217#&-0(&*()1)*&*&!&+&)*($*$#)&$*"#$()#%$%!&"%$)!#$!#$%%"&#$&)+$#""!!&"")!!"%#!"!%"!&&$$##!!& +"#"&"!%&#"$#&&$!("""!$%&% ()*!$#"++2APj:7505:::::8D8*52<:7?AKLOSUUZZ]]ZWWRPMUao൐pRB7/-22/+2.)+)(&$&%&#*#+("%&++#(+&*&!%#&##!$&#&&$"$$"$#$&($"#"%"%%$$!!"*%#%!&!&(&"!""#!#"#!#"&" !#"#% "#!"&"$(.17HZ}3><<8728815??CEPPUUUZ]ZY\WUUTTU]n廓qTG<2+12-*+&&*)."&*+)(&&*()!#"($&*%$& "" #!!%#$$(#("(&))#"""()#""%"$!%%&!"%*#"$#%!$&!!"!!&!#"&"!"%!"!"$#"!!!+!$ "#%*&!!$ "#$  $(! $(!$#$"&$+("$(08B\t83<858::AGGFLVVYWY^YYZUTRPP]mx^E78:+1).-)$%&$##)'%.&!#+$#*"%'($$)*%#&$%!&#$"!$"##(&)&"%&"!!&!$#""*!%)$&$&(!%!&&$&"""#"!$#""%!#!!"%!!$!!"#!"!!" !$%"#"" #  &##"*&+2GTn5:755::57:<::7175-::GEJROVYZZ\]]YZTVRWZkxbI>:82///)(2+&(&5%%&+((!!)#&&%+)%!%!$&$#%(!&$&%"&!!$)&"!"%%#$#!*"%!&!)$!#!&#!%*##&#&$&!!%$$&!$!*%###!%#!$& "!&"!$&#! + !!$""%!#)#!$%$(*.5>Ud?<55<3:<:7?77/01)(&)++)"!$#++!+&$$%& "/'%0%## %"!$%$"&$#!)$&%(&&$""%!%&%"#*))(*!"##$"$#!#$"#!$"(#(""!"!&&"!%#" #""!"$# !"%&!!# +$! "##* #)")/5Oct>28>:<:15<:?F<::5<8?FKMMTWWYZZZWZWVSOOZdxЫeS?8835.12.-&'+! ($$ "$%,*# (())"+%$)#'+&%&"!!!!!+""$!"%#"$$""#$&"%"#!!$"$$#&!%$"##$!""$##%&#"!%""!$""! + ! &"!"!% $%(&.-1DVk:D:87225:<+Pn3::55<:5<53858:85+><550:82888:++53?DFKPMOUZZ\^^^VYSTRTbq뺖qWJ>05312+.((%)&&)%)%!!(&*$"/&"(*'#"$"$""!####%%%"0&"#!&!#$#$%%#"#!&!$""!&$#)(("(%"&&!$"#%#"#&#  +#!"$(%&!# "$(--35E^y?85:7:87<8:78.788<5:?CLOTUVYZ\ZZWWTRRUV]mw\H>:222*2+2+*+%$**('&+%(*.(#(&$'"#""%!"&$##%"!"#"#$#!%&""$$!#$&!"%$!!$!!!!%$"#"!!!#"!"!&!""!  $"!'#"! $$*"$&&$&.7>Vk817?8<5<:58>25+*::BMPTWZ]\Z]Z\ZSTRR]mś~]K<5:./+++&0$#&""#(#%&&&#/)&*)&&"!$!%%&*!&$$(#$""(!!#!$%$)"!!"##!"-("!#"""#"&!$"!"#$!&#&"#!!&#"!  !!#$$!%#"!  +  "&%$#!%&#&#"!#"$-5>Rg?52:<2<>88137??<8:>8153528:1::BGJSPTZZZZ^\YWWSURRg|ϦkT?:52%.1+.(-&!!.+%##$# %+"#($(&&!#)( &$!##&!"$!!$&*&&#$($&$!"($"&(%%&&)(""!#+! *"!!!!""&$&"!*#&&&"*"#("$$$%" !""% +#!&)&!#"! *%%&!"&+0:L]u75<<::8:<::735/7530873*-+()+))&%"&*%'+/-&(*+*"!%)!%###("#'&$&!!$"$#$&#"&#$%&"$$%$!"!&"!""!##&"$!!!!!!#!! + ""%!$%"!#"#&$"&!(03?Yn5:5<:8378:885872<<8Mc~8?21D::8::888<1:278:D?FEKPPWVW\^^`WRPPPS\pu\L:20/.1.-),++"#&**)&&$-%('!,%##"'!$)$&#%!*%!"%&&)!"#!&&+#!"&!!$#&&#""#%"$!#%#"&"("%"#!%!!"""$##$$!!"#$#!  + +&!!+ &$!! "$!!#13CR]u27888<88851:887275:8?FGMLPSVWY\Z\ZVWUSST]q{^I?88..))*'!&)+*&+(&((#&"%&"&() ) "+)%$%((&"#$"$##%*$$"&&!!!&!%%"!&#$$#(+&!"#!"%$"!"!!#"#$!##&!!$!#$!"! #"#!!"$ ""#!!$%,!""$)&"/.5?Wp7835::58:E?IMMTTWW]\Y^]WSPPSWeʧeLF250)+.+))))*.+)#%*&+#-+&)!)*#!&#"!(&!"$(%%($&%*!"&%#%#$!!##%$##!$&$"#$"""#!&#"$"""!%"!""!##"$%# !!"(!!#""&&#&&"%%#%&/(8AKi275.87?5:883:57:8882??FLKMMUZ\YZZWWWVRTRUjw֨kJD:8230*+),*($!%&,1&)(#&%&&+("&(%"!&)"$&"&#%$"&!((%""#$#&"!&("&!&&#$!#"&$$!$"$"&"!"%#&$$"##!$!"(! + %%"%!$!""!  ""!")$(#!#$,$$")#!)/(*?Fay878578EHHLPSWWWVZZZYWTRSVbq鱒rTD>5/27)/-+($.$%#&+&/.&!#+(&*&$&%(&(+!&%$"!&%##!!*)-%#!&)+&!)&%$!()!$##$!*!##!"#!$%+!"$!$$###!!&&&&" !!!!"$$&$" +   &$##%"-!"#!#&!!#&.+#+2?Pk2:8?HJMTWUW\]ZWZZWTSRT\p빚uZG8811228*+**&-%#"&+)*$.%$&&#)#%+(#!&#("!!($!%#&"#!&"($$"#!!$!$#"$#!#%%"$!$"""%#"!!#!!!"""#!# +#$!" $!#"*%!"""$!!$#""$(($37325A782:25828527:::828<:?<08::?DEJMPSSWY]YY\VWTPPP\g|ɥaMA88521-+&++**-++#%1%%(($#+%#&&+*&&%$+%#)%#!#)"&&%$$(&&#$%%"+%!#$!!#&&!!$$$#!!#"%!!"%&##&%!$&!!%!"!#%&##$!"" +!$#"##  + +!("!!#&$!$!%%%#&&$-.+*3GTj<8753358<8>8578:557:>857778><85Ogy:3238<:>?>:7<7><8?8:8:EDEHLRPRWZ]\Z\ZSTPPW\k}^GA<210).+*)&)+%$%)%)($&$%"%.+#$)#(&%%($%"*-&%(%##%(!$"(%!""#$%("#%$(#%"&!"!!!!%!!"# + !$&"$ !"(&&"!&"&-22DYp~8<8>8:2<75:858585<:8582888178251>?<>8:58::::3287?AAFMPMPWWW\^ZZWVRRRVbwⱎqPE?7311./$+.*&(&%&&&-3$"(*0($(.#$#"%(#((%")(!"$#"%#"!)$(#%*"#!"$#&"&!$!("!$*!"#$!&&"!!$!%!!"""#!!%!#""$#"!%!"&!#$##+*8Ibx5?3E<<8<:827:<8:8<7788?BAJMMMPTVZ]Z\WZUUPSW`ruRI<7523,!++%)"&%%"-*%(%"&+ !&%($!#)" '#%%")%&#!"!"!"#$&#$*)"*&&!$%!#""$!!$!)"&"%$&"!#""$"#"!#"!"!"!#&$*$!# "" +#*!*!#&&*&")%)(8Gd{>15185<>?882><8582385778CDGKMOTVZZ\ZVVUTSSU]qyZG:5580+%.3,#)*%$&&%#&)#!(()'&) #&+!'$%!"%$&$%"##!&&%(&(###$$$!&%#!%"#$!!&#!%%#$#"##$!"""$##!&"!!!"#%!#!!""%"#$#&##$! $&$!"&+))&.>Le<553.<:2<>?7288?:555702:735885::78::8>?EJEMVVTZ]]^ZTTSRRWZeɥaLD:85-1-+-1++)%)&*&$##%!(%&#"$++"((**%""$&"($"#!%%#$$($#$"()&$!"#!"!"!#!&)#%!#!$!!"""%"!""!!"$"$!!"$!!!#!!#"#!"!""$#""%%%&$#"&)*%&15Pj:3758?::8:<8<<:<7:87:?BFIOMUWYZZZZYTTRPPZb~ϫiJA:7722+0/%)('&&( %+)%&()+&*$%#)'*& $('%"$)*&$"##&!##%!)"#!(#"!!$&("#"!$(#!)#""!#)"!%%%##&!$!!"$!#"%#!&&%(&(!& !%!!%((!&! )!&-$& # #&&!$%+#8Mj5<<:::<:<<<:2553885383:<3558<:3>8:AC?BGMPRTWYYZWYSRSPPW\e{`L:7550//)+)1*'))/($$#!*"#%#$"$()+)#!#(%$)$#!!()%""!%&##!!"!##%%%$&+%"%"#&!!"&!"$!#""$!!$%!"#! !#"##$!!-&'! ()& &"!&+#)--2EWu:::33<5::857::78><85:55>A?HEJROPWWZZWWTRRORUZi~^SD:821,/+(/#((+#$%'&%%+(&&""" (+$&"#&#% &&(#$"#"&(%&(#$#*!&&$"&&"!!#!""!"#"&%"#"#"$"&"!$!"#"!"!&!#"$"&"#(# &!),)/3?Tm:882<:<<<<2727::35:<3<8:>AHHHKPSUWZZYUVUSUOPVg|cRA<8732.01-0/--+)&&$)(+*&&&%%##(&%))&%$($(&)"&$&#!!%"$#&&#%$#&"!#!$"$""!!#&!$##$!""$%"""#&# %!$##!!!$!!!#!!$-##!$)!$)")22>Sk:::7:?8?78882A?AEKMSSRUYZYVWSSOPTVc|ͪjPC<<:22/00&*++-)&&%(*"")*&)&%(&!#%$%#&!$&%"%"#$%%""&&!!$&#"!)#%!%!"""""%-$"""!$"%"!!"!!!!$!! +% "!"#!""#$!"!"#&"&&$%1)&&/AMi./858?23:<<><8<58:1:5.<8>?FJLKMVSVVWZZWTTPPUWatӱmPA>8552021-+&',*+)-&*+"+$&"(%%!"%, $""$&(##"&&%"$$&"&(&&"$$%$""%#$$%!""! "!"""!"!#!!" !$"%$&!"& &#)"(!!(%$! % ""$&#$(,.258Fd}?>:85::7B?8<:8::885::83:Vq77?<<0875:7><578:A88<:5825887:>?EIIPMPTUWZYWUTPPTUZdyɨbPE:28522.-++-,/!)+)$"+$&'#'&$$&&"#&$&&%#$!"%%#!$"!$"!##&%"#!&$%$"""""!!##!#""!#!  "$"!&$"%!%%%"% $$'"&&11DOi|>772855:827<:>:AC28??:858A?AKFIRTTZYVVUUTPOIPUarӮgWE<85//2/++---&#)#&)%%(&#&"&#"!$$!%"&&%!!!"%&&!%%#!+"&##&)!""$($%!!$"!!""%%! &"!!!!# +! +" "$ ""$$$""(&&%"$++(.1<:B8?:58C?>ADEJSPRTTWWUSVUPPOPM`oܱkWE?:512010*2++%&&&)$"++$&)&&)#&#"&+%($#%!($&#"(&#$""!(&$$"!$##%&&"$$&"#"!!$!#"!"!"""!!!!!"!!!#!!&("%*)%""#&#&&&*(27G`u<:<781/382:B<>8>:<88:5508?CCCJDKSTUZWWWUTPMMOSZi೓tUH?:222),*--+)+)*'&)!(#++))"$#%!%(!%$$#(#!"!#%%&&!"""#$&+$&""""$&$!#"##(%%!#&*"#"!!#"!#"$!#!!! +## ! #""   $%# #""&#%&,#$&-%%33DWt:888<<:A>>?8:>7<<8:88523:A?DKMKOPPVUVWWWUUSMLP\i缗{\J?5:8751-0/-'&+'(+"#(*#"(*$ %""*##)'%&"&%&&&%#&%!#"%##%%#&!!"&!"&$%#"!#&$%!!$$!!!!!!!!!! %" %$#$%#!"&&$!'#&!"&%($$.-2EYj?>75:7<<88>5>A<7A::<<8358AFEGJJLPRTWVVPTSRPROORdyȤ^OA::1212+*+/+++*-2+&($!(#$""$)%"%!$&$&&"(&&!!%$&&#&&!!$#%#""!""!!"!!""$!$#$"!" !#!!"!!"$*&#"!$(&$&*-00A:87?C85AA:?:8::78:8B7>?GJLMPUPWUWWTSRPPMOU^rϪgPGA85530,*+0-.$*%&&'""&),&+()&$ ()(#,(&-#%(!"#&$(&"$)#%!"%##%%&!!!#!$"!!"$%!&#" &#"   + $!#!#$! "(($$$"))")&.-?I^u:<>8:<:??><8<<<:>ADAMMLOMPUVRWWTPMOPPT^j֭mUFC88123/220//.**(&%"(%%)!''"%("#$!&&"""&&""!!(#%""&(""""%%%!% !"! !! !! #$!!! "!$!"(+)'0++.57HZu3?:?5<:85:8<<A><<:85<:8:?>::?CCCHKLOPRTUTOMKLJGFOWd㸔xYH?<:2370+*.-++.+/+&++$&)"(%!$!"%&%!"%%!$!!!"#$#%$#""#!$!!"!%!$###&)$&!!!"!" !"$!#!#$""%"!$&%%$#&#%$&&)++18JSi~A85?::>><1<8?C<8<<:::8???A<87A?8<<:?A::?<>EEIJMILOMMLJKHHKGHGR^y ~`KD>55212220-)*)*..&$$(!#!(%"#! ###&"%($"##!&"#$"$&&("##$!!#&#!&"!!!#!!"!#"!$!&"!$ %(###%)*,-&+7Ebx?::>88>::8?:::DA8?85?<::5Fbq:?>><>?8>8?<:??:?>::::>???<>?A?DFEBEHAGFFGDHOW^㺚yZJD?<83530.10-0&&%%)+*(()#!!%!$&#$!&($)&##*&&*!!#$&&$#&#"&%$(&&&"+!""!""##! !!!# "("&"!&!$$"%$!%"+%&%0"*"&&)++18BLi}A8?::???:?A<<8<5?<>:8B?B?AFCDGHJHLKGEEILS]w긞}^I?:3555232/+.+-/2.++&&*)"%)&&$&&#%#&!&$$&%$##"#""&!"$)"!#(#!""!!*$!!"#$"#!!!!" !!! +!#"$!##&!&"!#(#$((*&+*7DL`x>FE<<753,0.*/.*"0/)-(+.$$&(&"#%"$""#)"&&#$"""$#%$#)!#$(#"$"#!#!"!!"!"#%""!"!!!& +!#!%#&!!"!!"%)!!$&&$#($ $)""!!$+&,+(505B\x:B::<8?<<:D>?A>><<:><<<8::<:?<:88B8>A?D?:ACAB?:8>?::<:?:888?>?B>8<8?>:???:<<<553>AB??8:ABBB8:<8<:88:>?ABKHHMOKLPMPMKMMR`y㳙wTIA:75421000//02-#,+)+&&&%%(%&'#!!%("&##$!!!!&!"##"!$+&#&)#!!"#$!$ ""$#!!!"%  "!!"%"#%!!% +#$" !$)-+'#*&23:Sj~BB>:8?D?<:<<<<<:>B>D?:>:AA?<7:<:>?<575522/2.-)05/--+&*&++"(+#)&&&!(%$!&%&#!!""%&%#!$!"####""!!! !! !!$!"!"!!!""""#(+%$&#(&$)).<7I]t?A<>?>A:B<:?<>:<<<:2552-0-).0)(.1*+(&*&$()&+$%(&!#%##!##!##$%##&"&$%!%$")!#%#$!!"""#!%##""!"!#!!!!"!!!#&+&%$+##-*.31A>?8?>?>??G>:>>??>:?A?BFHGJLJMUWTUWVSLMMOMP`{ʦmSC<85432--.(.--*,..&('&%,*+&#!#(%!$"&#""&!"#%&#"$%##&&&!!##"!$#"!"!!"#! ###"!"$#!##&"!&%#&$$#%%" &.&&*0-88>N_B??C?:??>:>?C?A?FHGIKPSPVUZVTTTPOMOUcqΨpR?:8775/12.1./*)+++*.+++%!&&"%)!%"#)!"*%&&#)*&%!$!(!&!#&%%%#!&!!!"""!)$"#!"" #%"#!!   !"!!&!!"!%($&&+#$(-#!%!&.#&.&-+/<?CB??>?<:??:BBEFGMMPSTVUWUURSPOMMM\nӬtWA88251/11310*0-.*))(+(%&(%(*&&!#&&#*%!%!$"!&%#"$!""!%"!#$!$%#!!#%"##!!!! #!#"!"!"!"&%&%"#($!$!)$"$#(+15:J]58>>?B<><>A>AAB?85CBB>8??:BADB?:?><>?BEGJMMPPTVWWWUUSRMMLOPa~ƭyZL?355222222.+0/,(--)%(%#**+(%"#$%* $"(**#!$&$!%!$#!"""$(%#""&$&%$!"##$""!"$!($"""!"!#&%!  !$%&*%#%$()-)(-87HNGB?>?>>>:?C>>?>8:????ECA?A>:<><<7D??FA?B<8>A??EDHIOPSUVWZWWVTURMLJHKO\n~͵ycMF:883581/.10+.-2--/++-/")++&&&&&+(#$&!*%&")%!#$#!!!!!&$#("#""!$!!!%##!#"#!$+"!%#"$"#"!!%&"!$((&+&%/+1:<>::<8?B?ABADFIMPPSVWZYVWURPPMMJJL\tָkYH>:322./032/..10)*0..*(#&++$&+&&)&)*#$&!"!#%$$&$"!"!!$&#!($#"!!!##!! !!#!$"&!&!&%!"#("##!$"&++*#*+&&*1:A::?>??:C:??CCDKLPRRTWZZWWZUSMPMLJM^{㳤yiPB:<533//2&.3+-*/+...+0'()*) %%)&(#)%'#%%#&+"#%%&!"$&%&"!%!#&&&$$&)&$#%"%!#"!!$"!#"% + ! !  $"$##!!!"%"&#$%#&!$$)!#%&+'./.22??A?A?>:CC?D:B???D??ADBFA??C?A?DFIILMMTSTWZYYVTURPMMLSb~ԵtWC775551010++/++)-#**)-' ()&**(+&(('(+$""%##$$#%!"##%!"$$$!!#!&"#!!!&)!!!##$###!"!&&"%)&"&&! &!%&"#&#!*#&*$$(&&./55CCAD???E?>?A::B??EEG?B?A<<<8>?ACGIGJMPUVZWVWTYUVPPMLOWdЯgM?850-22.0.22/(1-(2.+*++***#+&)"%((&%-$&$&$(($!!"#"&%$"!!!&"""##*"!!#"&&!#!#"&! + !!&$$!%$!!""""#%&&+!*%"&&&&&&"$#")("&"$&$!+.0-0>DA???:<:88?>>AAAB>BCB<>>C?8?BBD>>?<:<>:???B??AGHGLPTWVWYYWYYVPRPPMR^y⺛~^I:85123011/1-,'0**((&-)(.+(*+%&&%$&&!"%" $#"!($##"#"#%%!#""#$"#!#"!"!#" !$#&%$&&&""*!&$&#(!!"$%/)&+.)/+++)+"#!"&$$"%(""#"')%$%!"#"")*)))./0?83?>E:?DCC?<<:>A?FHFLMPSWWWZWYZYUSMMPPP\uƦgL?5852///010//0+1.-.*++&$-)-%*(+)(%(%&#*#&*!&"&"#"%&""!$#$$!#&!!#$"!!!$%""%&! +!#""#"$&(%.%("!$%(&#%+)*&!"!#&*1*+--((+-)(&%$!#")&!!++%+%$")(!#&$0)CC?BBB?:?:?A:FE?>G:>??>AA<:???8?A?A?8?:>CAFILMRSSYWYZWWYVRPRPS\g^M?>5200//3/0510+(.*).))*%++&&&/"*%$!#%#%&#&$""!#+#"!(#!%!"!#&$"#$!!  #"&&&&.)(*&-0$)!$().&(+1+.+.0&&&""!"%++270135522313../2.++&&&%$%($#+&"(+)&(#(&+(-.#283885AAA?B??>BADEBGKMOPPVWWYYYWVTRPSPT`ϪiPB<775/2/.2+(*+(-/+./-++)$(*--*&#&$+)(#&#%$%!"""""##$$"%$"""$!&$(%"!!"##!"&!""""   $#%##&**(&*))&(+&.+-++/---/+./*(&$!#!)!&%1$&/1/588:8325775511100+))#&)(&$##.)*%#+2+*+023(*118822757>G>?:?>EA?:8A>?B:7BE??ABD??:>B>?DHFKKMORRWVZZZZZWTUUSUUZyڳiRE<871230-125.1+-21-+%+('*+& &)&#!"&$&& $$$&"$%#!%&#""!#""!"!!!#!#&!""#"! !   + !#$!$#"&*%)&!+/++(&*&"").*!-0/.-**$%"""%&(&22357875257728/05/.-&%2/1)&"(#&"+1+&&&#*)++*)/12/7836<:9>826831,/2*.10+)++*,+&'&-*%-&')&)$ $% $#$"&$#!#!&!#"#!!##!#%#!"!!$$$&!  !& #&+(+0*(+.0*.-+&(&("%&*+-1211.**)*!!"$#$#&*&&(-*1855883337<878352..0./+.*+)//0*+.+2++-+1+-1-5219586<88;7>ABECBC??A>?>C?:CB?ACB:?>?A?BAD>E?AABEBAABA??BBA:FDGIMMPTUWYZZWZWVURPRTYgɥaLC:??<:8?FDFKMMMUUUYVZWWYWVRRSUWd~ШiRA?9515.*12*-/-.02*%*-/++*-&*+*)!"(%%&,$&!(#$"%+$&"!#!!$%!&##($!"!$!#%& !  +!##"&!&+/-1/20/221+*+&+((&)&+00.0.*+*&$&%&$*++/112::558:5:8<525-2:55<8523/152&)/031*+--225355548889685=98<9<:CF?>?F?CB76773102/-2*'.10-+*+,))(()#('')&'"$!!%)%!&##"#"!!&"!!"$$%!##$!!!"""!&%%$)10/5332//2)++&&*.*+&)1--/.00$%&$!""%!)++50.3358887:88887733/2201321221222-++/2/225/3234538::<988775>:55HDGD>B?D8BAA?<<FCDB?>DC8?8??AC?DCBGE??>?B<>?A?>FJMRWWWW\\\ZVVVSTRU^iʡ^OCA957502/2/1.062+-,*.,$%+**/((%&$'$&%&& "#(&!##%(#!&+(%!!!#!"%$#& "% +"%).*/730/10*/-+&++2%%++.++&+-*(&&!(%&2(*.553138811553883/3335.*2.+*+1/.10./+/05,+11621/3/22:7587683-2388>??FACEA:?>?AB7>AAC>::D>:B?>>?>AABADECAC??FEBHLIPPUWWWWZ\]ZWVTSSWc}⯌kTFC<:830113//**-.++++--)-+)(.())%%#&$#&%$&#$#"!%#"!!##$!#"!"  + !%(#$&&32/..12/+.0.++-2*02--*-)++(&%$"$&&*)00*.212352235202:1135-/0/.021/++()-*(*1.021-1/25.12512.325853531585JHFEDBAD?BDBAC?A?B?>?A??>?>AACBA?ACDCA??>A<<<>CEIJMOSWWYZ\\\Z]YUTWSU\puZJ?:534235/*-/.0-+,,-.%'($#!$-((%('((+'%&%#%!#$"#%%""%!!""!#!""!"$$"#"!#!"#$$  +   +!!$##*&*).2.1520.00/.++(..(+-2-)++&#&"#!#!!&-+*0//2555733322351/*+-+&+-...+(++*(-%.+()-,013-1021+3/0,522/38.12271???>BHBA?>?>ABB??<>?BDEEJMKPTUWWZZZYYYWVUSS]jɣ|bE?:8334370325/1/10)+&*+-($(&))+$)%%*&$"!&&%$%&""$#"$#&""#!!"$$"%%!"$%!! + +#%(+&/021.031)01-+./-.1-)*+.+++)$!&!#"!$&(+-+.).+011251.21+//.&+-0010+(+&+-*$+-))+-.**)./.112237**052--33102212?BBB:>D?C?:??AB????AFGHKMPTVYWZZ]ZZWWUVSS]g˪ePF<581352+*.2+0.30-*+(*%&*)+-+&*&$((&&&(&#%$&&!&&%($#%"%#"##$##$ + +&%&&(+10.-/.00-&-+11++2+)+.$($&"$(#!(($)++233302210-/5200/0%)3//)++&+-!+."&)0&(++0/0302+!0.05)&28/*5+0218/.ACADCB?A?BC>><>>8??AA>BDCEDB>??C?A?????DBFDCBCEC??B?AA??FCGMPUSUWWWZ\]^ZWUSSTU\mtZJ?8:9322121/*/.-+,.--$-.+(+)&$.)%%&('#**%"&#%&")#"&##""!#"#)&#)"!!#$ !"%"((&1200212+..+(+/.-2/+/+%2-00(#"$)""""$%&)+&-/-021/02/+/-/00+.)+(*%-//()%)&+(/*+*(!(+))+-0+../,.&/105--+(+&.&)(??BBBEB?B???ACCB?<>?AACGIMOPVWYWZ]\ZWWUTUUVZi֤^MF<::852222..-+/.*-/(&*+++(-"&(+*))!$(#&&&#"%$!$###!"""#!!($%&&""$!#"!! "!%%())+-*+..//+..-0++--/11/--++))+-)&+##$!#&(-(.221//.//+/-/-++&+++()+-(+./&()+#+&.+&&**+)+--1*&+#++.-1*)()&.-*+1.-BFCBCD:AA><>?BA??DFA????EB?>>?>A???ADCCBEG>AA>A?E?DGJMRSUZZW\]]\ZZTVSSYap깒tRK??<55352/0-.&.2+(&+&+)*/$.-/+&"+**((+(()""&$!%&"$""&#!&!$!!"!!!$"   + "#%+&)-1200221+--../--+-./-*-*%((+&(#&&!!&#&(21+13--+5.*")/+++)+&./#)&)*()%+&&+%)&%-%*((&+&&-%-//0--&.-.*(.+*-&+*#/-+ABCDHB>AADD??A<:<>CACAFCABAB?DEGKLPRUWZ\\\Z\ZWWWTTW]kǞy\I?>:7252500000/-*-+*/0+%&&&*+-+)&(+&$&&)&$!"$$!!"#"!!!!!"#!#"    #"&(**+/+112..0-.//.02313.30/*++)(+((*%#"!"+)**+&(*+2.251+./)+*-++*)(+-)+)+"(#*&*!%&%)$+)*+)(/**.&*++.++)&+$#+&+)#+*&1A???>D:BABHCCBBDDFDCBABEHJMSMUSWYZ]]ZZWURTSRZgФ|`OA<925.12521.0.'+&&+,+++,+%'&(-**&$"+)(%"&(&$&&!!#"$!!#$!!##$!%! $&-)+.121200-/0//*.**)/2///.++&+*+("&()(%""!*(&*(+-&(0.+$--+++*./+)%&&)//+&(())(*#&&&&&)+**%&&-++/!*+-$!(#!$&,+&*&+*/?DDBFCBFCH>?A??>?DGMMMRTTYZ]Z]]ZWYWUURZbw㳎jMF?:2735523..2/./.+**+-+++(+&&+$()&!"&(*0("$+"""#!!!!""%%%&!&&%# $&&&+-2+-102././0010-0/.02/+++*+.(++)&%($##"!!##&(-++..)+.31*5**)&&&%&!#&)($&%(*&"&(&(&*&)(($*+**))*-%&%&%&#*(#+++*+#$++??HA>>A?A:?BAB?ACCDHPMPSTWYZ\\\ZYZWWUSW\nětWM><::841331023-.-*+-/"'(+((+-*'&!%"&)&(&#&(#$&"""!!##$%!!!%"   &%)+1/235/0131/20/.-.+0-.+)+-&*++**++.*(*)*(&+"$!%%&&&(+-+(/.)+-+/&+$(+1++&&&/*$#+*+-)#&%)&$#/3++&&!+"$$""')(&'$&&$.&&%%#&.-AB?:HJDDBDC???>BB:?>BAGGIKOSTWYZZ]\ZZYWWRUSZgϡ~ZLA:75-25200//+/,+)*/+(),&#()$&+)))-(#!%&%%$$$"##""&"##!"  +"&%$*.12-0032100-0-+0/.++--*+.++)+()*+(&.*+#($$"!"&$&&+(*-+.-+()&)*++&&$*+&!&&))(%*"&&$#+)!&*$%)&#*(%/&&$%(*#()*#'*&+)+%&<:BCEFD?A?C?BBCC?CDCA?BDEIIKKPRSWYZ^]\\\ZWUSSTWeר`LEA:555820170.-/-.&+**&*.**&))**&!.%%+#&"%&$&%#%(#)#"!"%&"  +  +%!#()./1/0252012+--.220++-+(+)+-+(*)-+-/+-+&))&&!#"&)%+$+*+*+!%&*&)&&!*)%&&&)+-""#()$)#"&"&%&&&"$-&&)(&)&+&$)))&&#/&?A?BCDAEBB?BC?A?AEB?A>:?BDBEAA??ACBFJMKPPSVZZZ^\]ZYYYUWVY^q麐kTG@;:73653/)--'*//2+)-*%&-$*+)')+)##&&'**%%%#&%""%#!%"!$%"!"!"  +#!#&01100/-012+02/.+&+..+-+)--.+-+%&+-+/+(&&%&%&!#&&%$&$!+()%#)(++(&*&&(&(*!$%&$!!"#&!.")&&$*+*&%"((.&&&(&(*')&% '$&&$&""+1(&>ACG?ABB?>?ACEJKKSSTWZZ\\]\ZYVVUSUZm–qYGC:::6352./.10*)+(.-/(+*+*$)*)*+)#')%&"&&$"%$$"#&""!!&$$!!""!    + !&&((10/0002../0.-.01/)+.--*&*&*-+.(+)(()+"&+*%-+&!##%#$$$$"%(!))&+%&)*#)&$%)$!&&$*!&)")&$!*"%-+&*$"&)&&%%* %&*())"#%)#&$#!<>BBAACAFEIA?<>ACELKJPTSUW\\]Y]ZZWUSPWZgʟ|^MAA8775552//0+0/.&*.2).++.+(+++)&*+&&&&#$&&&$"""!!"!#$!#!!!$" + + + +"&&+/+0/23521/+++&.-01-+)+*&-)&&(+))*.()&&++&&$$%&(#!)&%%&$%&*%&%%!%(*&&%%%&#%&$#))%&$&"(&$!#%%&)&"0#%*&!#&+#&%!/"*$+$&$(#%$#ACC?CDCCE>C?>?>D??GIMPRTWZZ\ZZ^\ZYTPVVZd|^SE?>:8553051.-+/2+*++0*+++$(+*+/%)&#&(&"&$(&#"&#("$#%%##!$%$&#!!" + +(#&--253520/..//0..+.++++...+-*+*(+-)*(&(&&()))&)#&&%#!!%%*(/+&#$%+%*&$&#&!#$$%$!&#&!%&$$&#)+&$#"(&$&$%-&($!###)&%&%&%""><:CAC?>CFCCD?>>>BBEB?DFF??DBDDB?C???>:5765:20*+--..+..-)*-%,)**%(*%$'*$)(&#"($&&%""%"#"#"$"$&&&"!!""! +   + #&//.&/3-000.1++-+%&(&&-)-+.+*&()*(++&&&+)*&&(*$&-)(+(($*&!$*)$%&("$+)*&&%&&#&&$$&&%%+$&$%#&&&%%&$"#$&!&&)$&+*&#&+#'+<8BAB?ACFCC??E?AA:?B?>??<85225201/*0++)*++-+&*&**&*+/)-$&&#)*&!&""#!%$()"$!!#$!!!!## +!%+./0222+125/0.*(-+)(&++*.+-.)--/.+.-+/+(+*+&*$%%&&&&)$%"#$!&#""$&%!"#$#%*$"!#!%!#!"&#"$&#(%(+%#$&""!%"($++::>CEAEDAAB>AB?BDE>AA:EB:?>ACDFDBBAABA?>?<<93211210+//++-++(%+&),+))(+&&&*)'$&(!(&%#%&(%##%$$####%&$&!"        $20/.1.0-12/12+-((.*&++/*+--+*)--))(+*&&/&1*(%%#&)&!$($&#$&&&%%"!#!)&#!"!$"$($#"""%#&$(&$("$!)&)"!!"!" >?CBA:ECBDDA?B?DA?ABACC?EF??DDBB?>???A??BCFJLMPTUWZZ^\]\YWUTVUUbwಅeQF?<;65220110+--*.-0/--*(&*())(*)'*+&)()&&*)%&&(#&#%#!#%"""!#%"!$%  %#).//-..0/0.0../.++.+++.*)+--.+.++*)))&))+#&()$*#%&"#")$#%$!#""!"%&"!%&&$#!&#$%&)&##$&$&%%"$ ??CB??CAB?CAD?????B<:?DEGMPPTVWZ^]\ZZYYVUPWWaq彌iSC<8<83537/52/-.))-))++++-.++%%)"()1*&&&+&%!$(&*#!!"#!$#$&""!!! +  + + "!&+&.00310./--/.+())++*+.*)0-/-*.0++-*)&*(*%)++!$$&((%&&!!!(%#$#)#"#""%#!%$$$!%#"&%%(#%$##&(%??>E??<>E<3523312/2.*../+/-++++*(*++)%%&&%&%!(+$$%#&"$(%$%*!"$""%#"!!""#!$$$%!#!     &%-2152-2++.++.-++(*%)*()*%*++-)*(*)-()($&)&%&&(!#$&##$&$#!$!#"!!"#!%%&$!(%#&#""&+)&%%*#(%$*)&"#$!??:ABCAHFILRVUUYZZZ]ZZZWSVRR^eşuZKE:965543220.-+/*+*-)*)+*(+,')(+*((#%$& (&+$$)*&$$"!"$"#""%&%#!!$! +    ##%./-.2-.--.1005*&-++)++%)1)/.)&+*)+(&&-+&&"*+&%##&!$#!"!$!$$!!$!)""#%$"%&&'!!! #%"!::CB>?ABBBBC?B??AE???CEC?GGB?AA>A?AA<>???CCDKPPPTVWYZ\]ZZWWVRTUYdyӡ}]MGC88853131/-0+10/.,+))+((&*)((,,*&!#%%(&))%&$#&!#&$!"!"!#%!!"#!%"&!   %"&(/1./..-.-+.---.-%-/-**+*++*-++(*+++++*#(&)()$%$#"$$$!#&"%$$$!#!"!$%##)$# #>>>BC??ABB?A?<:CACBA?BCCDB?>??>D<>?A::7330/52+/.+0.(++0-/&&&%++%-++(*$&&)&%&)&&$!$$&!$%!"#"$##!" $+++/2/.+&.010/--.*&+2+&%&(&)+++-++++*)&%"(((!&(#!"#""&#"!"!#!&!#!&&%&%"!!&##"#&*??AEHKKOPUTWZZ^^^]YWUTSTW^k鹈gRGA?:83570/012/-*-+++++*+-++))$)(*&&&(&)*#)(#$"&"&#$&#$$"&$!"!!$%"# !%! +$+*--20/..-.+--.+02+*+++))+()+-+++-+#(&(+&)("%#$&!""""!"""&$""!#%$#&%""!!&!*<:7?BBCBCB?FEHLMPVUYZZ]]Z\ZWYWSWWZikTKC><853121.+./-+-+'(./.,)&%)(*/&)+$$(%&+)&+$&""&$&%"*!!%$!#$$!#!  +  +   $$+-0//121*1221/020.-++*(&)+--.+(&)*+))&%&$(&%#"%#!"!"!%"$#!#!&"%#&((#&"#&!#$)(%!!!!%# #E?BC>C??BDBBABC?>A>7?CCBCCCCBCCDCA??<>>?AABFFMMOPWWWYZ\]^YWVVWSUZe˙t\J?>:5521210...(.0+++/.*)+**-1+'$()(&&&%))%%&$%&&"((&""!!!#!   +  +!$*112.000./1././++*-++0-+++*&&$&+)++-)%$+*%%&("!"$"!!"!!#"!"!!$"!#$!""#!2<<7C?ADDE?AC>A<:5531/12/-+++++--1+)++++)*+*&&&)-***&(&#&.*&"&&"&#%%&$"""%(*#!!!!!#!#!#  + + + !!&+-/..102/10//.1--))(+)&*&+-))0$()&**)+*-)%(%%!&&$$!##&!%$$%%!!"$""&"??>?A?ABE8>8B>?A?CDD??A?A?B<>??A<>CDHFFKMPTVYZ\Z^^^ZYTWUSUaj屉dPI<8:8410210++.2+$)()/++-+),++-/+&(*+),#!&%%&#%(&%"!"(&"!)$"!#"$"!%%#""#!   #!)-+20020/*(*.+...).0/(%**&&--.+++%)$$&%()&&&#&#%!!#&!##"!%#!!!&!"*"%!):<:D?<???::?B>>FDFCC>ADCAAB?=:74533310/**%+**-.*+++)*&+)+*$$)&$'#*%!&(#$%$!!!!#!!!!%!"&#"!"&# + +  +  !!$.+*-10/..025+01/0./1/+.+(-#&+))+))++&()((&&")"!!"!#""#!$!!"!"$!$"$!#%$#!???:?DFC?<>ABAA?A?CFDFJMMPRVTZ\]Z]ZYYWRUSUWd}ƘoZJA?::735020+0.++(---.-++)&(#(-0$&&"&&&(**$+*%&$!#$"!"!$""&!"#""#%%!  +   +  !)-++**5.2..1+230+)++/+0-++++&*+/0(+-*)+)/*&&%&"!#"&"!"!!!!#&&"%&!!$!&&#"#"$$8::<C:?CEDBBC<>???D>IF:??A?EEDCBDCB?ABB?>???A?DIKLPRTTY]^]\Z\\WTTRUY]q}bKCC>?;7220-0-0*+.-,.+/)+++'+&",+.+'(&!!!&$'%+)$%&&!%$"""&"!#(&!"&%!#   !**-2110./10--01/-+--+..+**+--)(%-*(()))++*%$#"#!"""!!#$#&"##!&""%"$::7<:????????A<AB??B>?AFGGKMPUWVZZ]\]\ZZWWTVRWgmVJBA<8558/+-+++-&0-+++/-+(.(%"((#&)())0+*((&()%(&&&$"&!!%"$&$"!"  +#"!   $%-++../1+1/+/-02-/-01/-/-.-*+.--(.(+****##)"#"!#!"#"#" + +!!$")#!"%"(&!DD>?BD?CCCAD???BB?A?AC?DACDABCABBBB????CEKMMORUUZZ]^^\\ZYWVTW]d~ŞoWK>??585-.-1/.+-+*-/(+-+++((&--+)+*)"%)&$%$%#!$#&#"%"$!"!!!$!!$!$#!!!   +"%+++/0/..+/+.../.*./0.-/-(++*&++&.+)**++($"!&%&##!!!#!$##!#!#$"%&"!>>????B?EFFFJTTUVYZZY^Z\Z\WWWTUW`yϠuYJE>::7551-2.(+-/+++*)+-),+&('*)(''!&&&)&%$"$&%&"$#$%##"!!#!!&&"!!#! " + +  +&().0-0-20-/+0*+0//1-+++++*.+**)&*$&)&&#**&*(&$#"(!##" #!!&!*%$'&<>>8?>??DD??ADAAA?B??>EBBEJMMTTWZZ\]]^\]VVUUTWatܭ`JE?<955311011+*.,)+-+--&+&))(!*(&%/)&%%)%$"$$$&&"&&&#"#&"#!!!""$! +"(+*-(--.0//--1./-+.0.*-/0)**(((++())))+&&&"#!!$!!&#!#+"?><8??>>?FG?AE>BD?BCB?BAA??CABFILKPRUWWYZ`^\WZ^WPVVW]g繊gKIA>8:85385--(-/+-0(*.-1/+)++&-)&+&&&$&("&!%##!#$%&$$!$!!%"$##""! + +   +    !#*+/*+.-+++0/../++..**-++(++(&(#++0(&)&&&&*!&$!%#&%!&&"&"$"">?CDC?A???CDCFCDABABAB??AC<B<8>?ABB>CBBBDFEKOPUUYWZ^]]ZYZVWRRWYi{žqVLE?8875420+/./-.+)+*,+&)%*+(,(+(%+""&%&''$%&)&%("!!#($!!$!!#!#$#  +   +"()2./00--0//..++01/1//+*-+-+&((+*(%&&*"&&%&$&#&!%!$$!# +!&"##"%#%*!:>A>>ACACCBBC?????AA?BEFFED?CABDC>?D?>A?CDFGKMPOWYWZZ^\\ZZYWUTVWaq֡y[JB<=957542/1,1-*+.-()-)+++))(&$&"*+&)%$'%$####$&(&%#""#!"%!"""!!%    +%((1..0/0//.0-.0-+-//.0.)+-++())(#()+%&&&&$&)%!!"!##&!""$!!$%8:??>DADGJGMPUTUYZ]]\]ZYYWVUUVaq㧂aRFC>:775521.-/))-+))-**--*&)&()**(&%&$%%!.!&(#%##&&!"!$""!!%"$$"%!!&#"!"  + !"$-.//1/3/./.-.-0/1./-./-*+*+*&*+%($%&(""%""##"!"" !%#$$%!#?>>C?:><:??ADC?DA>A??<>?:832522/210+++&%&)+&(+-(*(-*(&)&#)-&%)&&$$$#!"!$"$!!!"#$"%$!&#!    +  +#)"(0/---0..+2/.//.+*+-+*++*)+*(&)%&(%%&##$!!""!#$$##!##$<<85:?A?DBA?AB?EADB?CBB?>>??EEGMOMRUWY\\\]\ZWVUWWWZd~jTFC=::54010220..--//&&+,(+*))*+'$)&$*-"'#"*%%&%$"##!"!"!""!""      +"&+-/22./2/-+-1*0/0++/02.&((()**%($((!&#"!!!$#"!!!!#!!!#$#$#$%#::C:<:?AG?AEBB>DCBADDAAAA??BB?B?>>FFIMPOPWYZZ^^^]ZZYVTVVZgyΘrWJC>:::430.100/--2*,/++)&++&)+&)((%'!&&#!%#"&%&!$$%"#"#&$"!#&""!!     #%)2.021../2..-./-+.+.()+++-)*&))%&(&"#!!!$&%!"!#&"##!%!!"#!%!! &<<<5??:>CC?FECGE>DBA?A?BA?AGDGFEECACDDB???B????IDGLPSVWZZ\^]^]YWVVTUYdrרxWLA??<<825222.--/./+//-(+++(+$*))&*"&(&&($%&+""&&!&$!"""!!&"%%""!$"!   ""%7-0//2++/..+.-+-//-+..-+*%()))&%"&%%##"#"!$#&&"&(%!"$""%!""!!%$""(##!!!*?8>>?>?>CCC<>:BB??CCCBD??A???CDE?AEDADEDBABAAC?>8AGHGMPPSZYZZ]]]Z]\YWVUY^i缊bUGC:8853313412))..-/+)('++!#&(&%*&$(()& "(#!)&&$"#$%!""#(!!!$!!!!!" !   +$$&-0.202/*.2*-+/0.)*-/.++++)(*&(%$(%"$$#$"#!"&!&&#&$%$&%%&!#!!&##!&"$&%!$! 58<<:??<<?ADB>CBDCDGB?>?CFFDMPPTT\Z]]]]\\YYWWUZ]gkVLB@<:81221/+/11//+*&(('%&+-)((%&&'&&)%')(%%##%$&$$###"#"!##!$"   + &&&-2/0121.++*+./0(+.-/.+(*-++&+*#!&####!$"&%%&&###%(#!!" #!!"&!(*8?>?B:ADEE??ABBA<:7555/12.1/+/-)*()$&)($()&**&%&&($&(&$%%%#($$#%$"""#!")!!&&$! + &$+./022+103--/)-/.++&(-&.-0--+&(*(&!#!#!#!&"$%"!$"!&"#!("#(!""""!::::<<::2<:??5:BAAE?AA??A>>?>A?ABBBCBBA????CA?ACADDHJMTRUZZZ^^ZZ]WPSUWW`j㬁aKCB?77312222020+('--+)&$)'()(% %#""&#"#"#&"&(&)%"!!#$#"%$#"&   +//101210--/1/+)+*0/)+&&*--5.++-)()!!!""$!$&#%$!$!%%"#!!%$%"" 558:::?:>>DDBDBABC8??:?D?BABEBBACAC>B?A???AAEEGLMRTVWW^^]\\Z\ZSTUW^dgSF><:79230022.-/+',)+($+&)(()(**(&")%"$""!!""#$!#!!"$$"#%$%#  + %&.1/02//.//1-)*./+)%&(%(&&%$+/0+&+*)""#!!##$%%!&&&"#!!%#"8075:BAA>>BCCECB?E?A>CB??FDILOPSYYWYZ]^Z\YVTWWWZb~‘kWHB?>8877212///0/0-+*+)**%)(&)(&&&+%&(&#%&"%#%"((!%"$$%"#!!!#&!"%" +      &"&0032-+0(0/2+-)++&(!&$$%&%&+-00--+*(&#"$!"!"""!!!"&"#!&"!%")7<::<:<8>A??BA???CBEABFCCDA?AGBCA?C?BABBCGJJMMSVWZZ^^]^\ZWWWVWV`xϘtTHA??:885/2520.+//++/+&)"(&)&"(&")"(!"!"$+)$"!#%&!$#"$""!"    +"%+1152-0110--++.++*+!!&$(%*-.12/++&%$$!$!!!!%"85:85DBA>??75322302/+-+,(*+)*++&&+&(%&('$%&&&&)(%!$%&!"#""$"#%"#)!$!   &-..1101.2./1+*++)$(""%-.+/-+00+++$$!*!$""!!%!!!$"%"$""&(78:<788>>?ADDECBADCFBAA>8>?:>>DCBBCB?>CDAAA>??CB?<?ABDA?BACCHKMPRUWZZ\]^^ZZZWWVPWYdbPIB>><73525+-1./-++++**-+)+(($"!)%$)&&$"&%&$$!!"#("!"""&##!#  +%&(-1.-//..0*%.+++)%!&-/-5-/-+&%" +!!#$!&#&!#$#""85<><>A><<???A>ACDGHMMPUUWYY\^\]ZZZUVTW^g{”eSLC><:858520520.1++*+/+)(&&&&#%&#&$"(#&&"!#$!"!!$&"$$$"#" +   ))/12//0+./+/-)*++)%"++08/8<11*((!!#$!%#"$$!!""218?:<:<<>??EFDADCEB??>?ABBB?A>A?CEGDKLLTSWZYZ^^]ZZWWUUVY\tכmVKDA?8856333/0*+)(++,.+*&(&&'#$&!$%&$$&$&$%*$!"!*!#%"$%      "& %+/01101.**.0/-)$##+.5::<<73+**"$#"(&$!"!"!"!&$#:1552::88:??A>A???AEB?8>><:A?EDBBABAABBBAAABBBA?BECHHLMSVWYZZ^^\ZZWVUVTW`nקw]IGD?8:826322-000/)-))))$"$&$&$"%$!$%#$&!%"$"!"!""#!!"!!   $&00000./30/../+"!++-/8AD::51/-*%%! +!"*"%$&!""!!!#"!#!"""!"$8788><7??:B>?C?><<>>??ACFFLPRPPWWZZZ\^ZZYZVUUU^g㵁bMEC>?:3350201/0+.-&*())"&$)%)&&#$!$#&&!$%!%##$"#($%!!"$#"" + +#+.0/1.-.000+/("&+/.58BA752/0*+)&!""#)+&&&&&&)($"$#!!!$!2/::<8<>??<<>??FC?AB>AAB?>>?<<>CABBAACFDA>A???AABBDILMPRTVWZZZ]]^ZZWVVVZ\g뵊cSHC??8:7310////.*+((**(%(!#)(()%&!$$#%&&&%#"$&""!!#"##!"##!$"##!"! +&"" + &&)--0/.1/0..+&+%.178C:+2.()&+$%$!!"$#(%%+)!&+(&)+&$++))&#!!!#$$""$#288?538A?BC??DCEDB:ACB?C?:A?BDGGMMOSVTYZZ^^\\WVUTVUZau–iWMG??<<657503-0*,+/,,)($&&#'$$$#&&$&!#%!""$#!&$%)&""! $"($!!  !)+-+.2//--.-.0"+2575))++--(&(&$ + ##&#&+()(+/-)++&))*#&+!%!%&&!""&%""$%!$#&###708?>AA<<<A??<<:>?<<:?A?>?>:<B:8?CBAA>:ABA????BCFGKMMMPVWZZ\]^]ZWWUWUW]auɗkTKB@<<923552223.++*+*)-'(#$&#&#$%&$&%%$""!#$"#!##$#"""" +"$#&&##$#$#""$!"!  $%+//32/-+&##"!!!&*&)++)&*-&$-*1+**.-/..*+++2/1.-.#(*#%&)%!%%#%$%$$"#"$!$!% "258<<87:?C?A???AB??85::<??>:>>>>ABCCC?EDDBE>AB?ADCBAA?EGIOPRWUWZ\]\ZZYVVUWUY`oެx^OFA?:885733--/-/.-+)*+-&$&$&)&(&$#"$#"""$$!#$"!!"%$&("!#$"!$$%!$#%##$!#$%"!&&"!##! + (+0.+.)*&&%%!"(&$)*))(+&(*-)+%++-+02)-*00.+*++1)+-.-.+(-/-/-"$+%#!+!#"!$$""!"#$332558:?2A>:8A?>>>???AA:>>?BFABBAFF?B>B??BFJHLMPSWWZ\]\ZZZYZWWU\]g峅`RIB><<855015202/2(&**(%&#$&()'!$$" $&!%&$!&""!!!#$#!#" !"!!"!%"!##!%$#!%"#!%&#$"!"#   + +#&(&/).++%%!" "%($*"*&++-))%&)*%.+("++0+*.-+++/11((-+++*+/00/*(!**&$&%(#"&&#%!$"&""#.257:8:<8:><8<??B??C?D<>C?>BAB?A>DFFJKMPPWWZZZ\]]ZWWWUVYWdydUKB??=;77432/01+**,***#*)!!+&'(# #!%###&#$""""!"!"#&$!""!!$"!##!%!"#""$%$!"!%"!#%#"#%#!#$!#  +./.-+&###&$%(++*&.*)(%&**)+*-/)++.-/..*/0++*+/0+020++.00-11++-&#&"$!$!"#$$"### 5:05255B>?>???AA>AB?<7355222/+*.*+./(())&()&")#$$#%$#!#%&&!#!$!###)!"&##!)!$$""!!%&#&!!"&#&#%##$"#$#$!"!""#!"! +  +)+-.++)# +!!"+**&&+)&+*++1+%.++*+*+-//0&&-+*+11)-++.+*03/..0+(/.+0+1+-.$("%%"$(&&*$#"1583728<:>A????AB???>?DILMOPUWW\]^Z\ZZYWTVWZ^mנyYLGC?:882872/0+...**-+()&&)#&#&""!$%!!!")!"$#"%!###!!#$!!$"%%$"&(#"#"$$!!#!"!""!"#$"!  %(+.+*)&&$&(*(&+&)*(**++-+.0++)%+/-*.*++*/+01-+.+.-/22.05+0.1/+++++--)%!%&#$%)##!!"72)52:8?>?>A>>:AA>?>B>AC>EBDABDDABACAA??ACHKKLRTTVZ]\Y]\ZZWVUUW\k|^LHDA9:8557511./-(-)&&'$)((&$""## !"#!&$$!$!!!!##%$!#$"%!!#"&&"!"!##!#&###"$"$!!     "+.+))&! !$"&&%)&(-+#)(-+&)+++++-.*)+2()-*+-++0+**2/.**+-11-325007+---/+))&)++-+&&)$$$#"#%%! #22758::8:>???CBBB<<?ABEDEABBCC???ABCCBADIHKMRTUVZ\]]Z]]ZYVUWWZd~嵇aQIDA<<:842321/.*,*-++%((!))+%"! !#%!"#!"!#!"$#""$"!!&""$)&%($(#"%"$##%!$!%&"!##!$"!%*!"  !%-)0*&$!# (&$%)&()+&*.*(++$+++(+++-/.-++++-00--*//.010++2/01/-/&20*/-1-%%0--.*0+(%*$$!&"#+%#&#-13<85788::>?>??B?BB?A??8>A>?<?><>A??>???:A?>?BBAGEHHLPSRWWZZ\\]\ZYWWUVY]iХ{ZLJC?=<8212211..*+)*)')*'%&%"#("#!&"""#&$""!"!#&""""!"$"&&&"!&!""&%%%"&!$""&!"!%" ! !$&-+%" #!&$"&&**-*+)&+++0+)++.*+0/01+-/+---+++.+0++(++.+-12+35/020+5-+-22-**-5+-1-+--%%$#!%&#"*%302258>:::????>>ABCDEEBCCCB>BA>?A??ABDCGHKLPRSWZ\Z^^\ZZZWUVYZdܯ_NIE@<8:62532../--)&)((&%$&&&")"!!$$$%&!#%#"#$$!!!%!"!"#!%#$#%$""$""#$"$&$!#!#!###&&!!!&(%! !"!%$("&+&+-%-+.+)+++./-+-)*.+.(++-+)+-00./++0.-00.1.0+0/133+/+320/1+21./+2.-.1-2&+)%$%(&85553573::>A?CAEDBBBA?:8??>EAHEJOPSWW\Y\\^\ZYWWUVWY`}금bOMEAA<857713520+*(-(&(()&&!#!#%"!!&!$!$"&"!!$#"$&&! "#)%!!!#&%%#&&&%%%#$%$""*#%!%&&"!""""""!"#"" +"%&!!"#"$!()+++.+&(++.-+*/-*2./))&*/-..&--+++++1-.-21../+1./220/3035151215/-/2/../2-/2+.-1-%(*!25.885558<88<:???:D<??:?BBAAAAEEB?ABB?BBADA?B?EJLKMSURUUYZ]Z^]ZWVSVWZdqmWKCA?<:7555132211(*+*))%%&&&""%"!#!!!#!!!!"!#$#!!((&#$"%%"#&"""!$$%!!&$""$$!"#!!#"%!&" $"&$+(&))-*(-.0*&.+/.*-..-.+0.-/2/1+/++&-+/000.201/0+0025352/512/1//7200002/20-*)+%**-1%5885:<55:<::358??CA??86751.,+/.,+)*,(&)%(!!!#!"""!*$#&&%#!#&&%%#!$"&"!$!%&$!!$!#"!$#(&$$##!$%&##%##!#!"#!!!#!" +!"#&(""&)&&&&-)-&&+-&..(.-./.+-*++.)-0/./+0/21*.-.0+(+-0//01+5351)-2(..+22022.12222/5).-1++,,+.,+32*.7183::::?C?????>?BDB>A><:A>>?BEADCBD???ADEHKLJMRUZYY\^^WYYWTUWWYj~ޱ`PKEA:::8820/--+.(&+(&%(-&##%!$#%"""!%##&$##"!"##!!#%&#&$#$!##$!"%$"!"##")$!$&&#$##"#$% +&#&(($%*()++/./+///+..+-%.+%$+0-&+.-+*0+(-*+1+&/--/*-/.-..&-/*-1+..211105/22222+05031550+0/)-5/5531:8<<<<:<>A::DC?>C?>?AD??>>??BAA?ABCGIJLMOPSWVWZ\^ZZZYUUTWYcu躌cPHB?<::53012/.+++/+&&(+%$#*("!"(#!$"!#""!!""!!!!"#!!$$#&"#"!#""$!!"&##!"$$#" !#!"&"$****&+++++)&+0---(.-*+2.//.+/+/0+-*&++/)0-+*+-+/.+0*+-0.-.0+-2.-02/0.22112/022205/3-/2/*222.7<857A<88:<>>>?<:>?<:<<<>>?????AA?<85322..+/-))*%()&&%%%!!"%##!""!#!!!!!%%$"###&"####&!#%##%$$%$"!"""#$!!"#"!#  "!&&)+%!+/*&0.+--++./++-**.*0+/+.-.)0+++*1.&*/+/&+*3(#-/-+-/.+.22+-11.1100**/355552122257121-2.223787537:?B?A????B?>?>:888?CABECABC?C?CCD?B?>?<A??>BA?DA?BBCD?A>??>??B>AEEHPPSTWZZ\]\ZWYYUVVWYcqgTHDA?6682.0/.,'+%'*)(+(%&" !"!""!!!"&#$#$#%"!"&#&!!#%!#!$   #&%&((&)-/+00/+)-+/+--./+1.+-)-.+//+21-.-()/13/2/00.*&2+++/)/+)/-+.5.+2/*!0-20252.1253/000/25244135525533555>??C?A?>??CB?::?<:?>>BDAA?<<>A??>?B?AADHKLRTTWZZZZ^^ZZWTRUTZ^gФq]IDB:837535/0./.++))()+$()&&!#&"!!!""&"!!""$!%##!!""#($ !! +!!"$!"#%)*+)**-(+/-+0/+.-*(+*+(0/+/0+*.*21-2.+-*&+++*+&*.-+.+.+../-(..+-.*+*+0310231/2+-2/.+3///--275)31.2558<58<><<<<8??>??><<8::>>A<<>?B???ABAAA?>AAB?AA<<?AAA::?><<<A??AA?DAEC?B?:?C??AHHHLOPPUUYZ\Z]]ZZWVVVTZbx溉\QHD?9830,1.+-,+*)&&+')##%"#"$"!$!$##""#%$!!!""#""&"%!%#"!!""&$###$$$$# + + + +!##&#&%--++()-%0.+(-*+-1./2-+//./-/.1/1-2+5&-/12*-+.)+)**..--0**+-1-(*-.(*-.+-/+/21/+(20++2.//62+2111115355735?:>??>?><<<>:<CA??B?CB???CAAA?C>::>?::??????CAA?>???:>:<<<>??AB?BACAB??CDC><<<?ADFHJLMOSTZZ]\]^ZZWWVTVY]gӤuTKD?:<755520(.+++)((&$&&"&#$!""!#!#$$"!!$!#$!#""#"!!!"&%$"($&&%"%$$&&&!&#%""#"$%!##$&%!!  !!(%($))+--+)()++++-)-+(/-++/++.-+/+1/0/*2/.+-.-)+.)-(.1/-/+#20+-.(0)---+/-/((--+/+/$0/-01&.221303121.07-275258:5>8<<??A??:<8:8<:E?8A?A?????B:DD???B>>>?<:?>?<:?:<:A<>AB>BBBBAB??>A?????>?<<:FFJKKMSTZZ\^]\]]WWUSWWYbubQFD<;:322//.-)&%()#(+(( !$$##" "!#!&$#!###&#!!$$%$&%#&&$%!!#&"#"!!!"%$$%$$"&%##!"&!&$)##&(%&$"$&!%$$(!$!$$  !$! +!"#%%)+)++&(*--*/-++-/--1-+-++-/.0.+..+./++-++-.-+(-1++/+(&()+..()&-/.-+0*/+//01/+*+.2-***.-()+).*.+.--5057222<855:88>>B?A?A<::????BBADE?A??B?A:<>?<<A?BAAAB>>??A??CCFGLMPTWWZ\]ZZ\ZZYWTSUZ^jҞqPFB><852322-(.*&)(&&)))$&$!!#!"$!(%#%&&&&&)+&&((&&(%&%&%"&$"&&&)&"!!&$$$&%$$%*%&&&%*&$%("!&%%$%%%%&!"$&$&&"$&&"&$%&#%%#!$%#!!#$#!&&)!#! $#" +""$#$()++(*(-*-*+/**./)+-+(./.++*.+)*./+--+++++)--++++*++*-+-)++*+--/++-0++..0.*+/+/21/)+/*.+.)1)0..-..+.532512-53::7:8B???B??<CDCADACBBB?B?A?<:AEAEJKPRYVUWZ\^\\ZWWUTUUZdӨ{XHB>8::3//-,*+++'(("&)! #$!!(! #!""$&&&&&***(&&(&$%&+&&&&&%$%$$(%!"!!!"!%#-*(&)%*&%*$*&%&&%"&"&$($!%$($#%%$&)(%%#&"&$#$!$!"%$!&%%#!! + +"$#!!!"%&*()+&))+-++&&/+-00*.-/1000.++//+*++).2-(/51*+(&&+(*)//.+/+++2+.+.+*+()+/+&/3+.+*-/&+/+-.*+++.1-.0-.05575//53577<<8?B?D?ABBBCCCC?><:?BDIIJOPTWZZZZ]\ZZWWVUUUWb|峅]MD<=8513/0/+**))(($+&$"$#& !!%%%%&&)---*((&*&&)$%%%%$$$&$"$#$!"%&**)((+&()&$&&($&(&)&&&%&&#%%&&!#%*#%%!+""&&*&%$""#")$&##"!# #$"!!(&&)+**)*+.++*+)0//++)++.-*++.+++..++*.++)+.)0/1/--*./++-+*+/-+0++0/22*+--/+++-0-21))+)./-&.++.++.../)%301153532358:A8?<>?:>C:<>::?<<B?BABAB?EAB?><<>?8<>?<<:BDB??C?>>??A?>BBB>?AD??CB??BCA<:<8?A:CC>C?CA?>??FFHHLOWVWZ\\^]ZZWWSUTTZ^t嶃^LB<<22/.1-+-+%)((&&&&##!%""""$#"##!$$#&!))+)++-*&%$!&%"%+!"&(+.+(**-($(%)&$&&(&&$$&%$!#%(%(&&$&$&($#!!""(()++&&())((+/++)))%-++.-+/)0.+0+-/-/++/2..+.+./---+**+++*+--+*-2%-)+-/-**.1**.1-)+-++-(/)&0++0/*&+++*+*22.1222257257<<:><<>?>:<<><CAABB?BCDB?BA?AB??B?AA?AA?A?AAEIIMRSSWYZ\]]Z\YVUUTV\^ndOE>>85./*&/+***(%#$&$$&##%""!#""%#%"&"%+(%).--)(%%&&&#!&****+-+&($((%%&%(("#&#$($!%###%##!!&"$$$!$#!!!!!%"%"%)++*+**+)(+*)+*-.-*-.+*+*+*++.0(+-&&)).+.00&+//--+.-+/++1-.+--+.++++0-+/.-1+/-*+..&%+-+-//&).0++0/+(*++585+2215+01/5<78>?8<:<::?A>A????A?<:>:>?<><?BCBBBA???B?BBBA?>>>>AAC?EGLMPSVWWZ\Z]]\ZWWVTTV]eФqVB?:86120-,+*'&(*(#&$##!"""!$$##$"(%"#%&&&)&$(+.-.*-+%&%"#!#!"++-*+**)+)(&&)&&$&(&&&&&&"#&$"!$!!!!!"%!$%"!%&&(+++))++*+/+&*(+&-)+-++-+(+-+++++(/.+--.0)+*-02+-.--.-*++/-+32/1-/-+1-+1&*0.+++)+1/+02**-+)-++..+./*.,-525:53325/587<:??><8?<88C?A>?BCB?C?ABC<><>?::??:><:>?B?><>?AAEBCCBBA>8>??>><CBC?B?ACC>>A?>>B?ABBEJOOPVWZW\ZZZVZUUSTSVakﴐgNF<<862/0/**( $&&%!!&!!#$$%%$$#$!"%&&""&&#!()+$))&)&&))&!$&&&&./1.+&&%#%$#!#!&%++*)&+*$%&%"%%$""#!&""##!!#""!!#"!#"#((#!%&"#))++*-+*+%&/*.+*+(0+**+&+).*--./.+/-//*./.-//.(+-..++-&*&..*+../-1/+-0+&*+-+%0+)+.110%(%/++$/&.+2/-.+(838180/..-5825278>:88:?<>DB?CACAAB?A?>GGJKMPTVY\ZZ\ZZ\WTTPUT^gțnSD<:4822,'())'))')&&'"####!#(&%$)#(%$)(%$#$&**&)&&(**+&+)#"$&"#&#+)$()*)&(%$(" (&(+*&&&$"&#!$""#!"#$#"!!"($#!!#%#!"#!!&&(&(+))+*()*+((+.(+--*.-++.+)&+++..--+*.*)++++-+-)(*++-.+0-)+.20*&0.-/./.+00+2.+.-0(.(*/1+...-+*2)-+.-(+.)52053200--577:8>8>>><>>?><>?88:?>?>?D?<>>A>??EGIMPPRUZZZZ]ZZZYUUTSTZdҡuPF::852//.&*(&%($%&&)#()%+&"&)%&+*!***(*)($!""$((&++%))(&&)&&!"%%"&"$&$++*))+%"#!#&+))&%&*$##"!#!!!!!#%&!%"! %!&&$"!#"&&")#%))+(+*(&*)++++(-+(**1&++/(++++++++.--.)+++-.*+*.-++.)1+-/++----+2(*-1*-//(*0-.)+/+./*-*0)+.+--0.3/0-+/*--*$832315-2310157:8::<>>>>:<><>><><<8<>??A????>>?><<<::8:?:<<<:::??::<<<<>?BEB??<:B??>?A?BEGKMLTWWZZZ\ZZZWWTSTTUan崉`JC<7721,10/---+**)+*)&.'+&*)&*())(('&&(++*&)$(*)*&$$&!$!$!#&)-*)(+&&)%!"&"##%!"!!!!"!#!%#!#$""#"%"%$"%!!)*")(%&$+(((*%&!$"&$)*$*+#&.-+&)()++-+%%+++%)20*)&)+/)-/+0/.*-1-+--/+.)++.-0.*-+/..0+--.).*+*%+1/0)+/.(++)/.+*-)++-.-&/)0/*.1752822/020233578<:<<>:85855:<8<:???<???>????:?A<:>BCBFIIMRRWYY\]ZZZWVUSSRU\jkIC<;7532.+(+)-.,*..,++/(*+)*+*+,(*)**+*.+++*%##%"%$"##"#!""$)(&*)*(++#"#!!#$!"$"##"!%""#""$!!!#!#!!!#!#&*(&%!!"!!"#&&$&))&(&&.+)+-/+)+.+&(%%("!!$())*(*))(.*00*+&)*+.-+)+*+-+*-+(0+(+.-/+)+-/).+&.+.+/*-/--&+-.0-/01+0/+10+/---+.+---+/--..../../.+/...--+/2772222-32.033.8:<:>85:8?><::??:<:88:<<::8>>?A?????A>?A>?D?>>>::<:87702/01/1-//.0/*...0----**%*&&(&%$$#$""!$$%*)!&(()%%&#""$#""!#!#!!!""#"!""#"!!!!&%&%%&&#)(&+---0./...*+.012122%**.30//002312////)*&)&"!""$"!%$%(*(((**))-)+++&%&+***)+.-+.++)+.+*++-**+/-.-*(*&).-)*-)+)+1+))(/---.-.-+.-0.*&-/+.1+&.+/.$.*-.+&-2/.-.%+--275205/.+/215575<8:>8:<:<558:8:78/:88:><>8>>>:58=;:76037//0./,/1./+)+.-*',+(*,&)%"%%&%!$"#&&&&(&$%$#""!!%"$"!&""""#$!%!####$#!!!$&"!!!###!"&"&"((**&+(++-.2527:57:83353/2325387775328853331122..-+)%#&"!""#%((*%)*)+**&$-*+)(*(+++)&/.+-.)+*++/*-**/*1..(++-)*+))-+++)/-*+)&(.))**-)(*.+-.+../0-.1+0/*0&*++&/#-0/2+1)/)28882012100.22287:2:?8::<:<>?:??>::?ADGHKOPSWWYZYWWZWVRSRRW\g㵊aKB?<:843521020020.+/0//,*&**&%&#!#####!!#&(#&(*&$&&$#!#%""%"#!#"##!#"#&&$!"!"&"!!!!"&"#!#%*+++/./2//281537888:5737:<:58:888<:585883585323++--)((#$!"!$(&&%)&((++(*(&*)-+*/-+**&)+-*+-+*&(+++-..0++&++-.-+)+**++/.+++-&*.+++)-1-+++/*&/*)+*+&*0-&++)))&.*/.0**-*2/)152-2(0.-.2075:8:?>:??:8::88:::88><>::::<>><8<::??<<<>857<:8:8<<:?>:8:<:<:>?>?<<:8:::<<<<<8<>?AGEHJPSTVWYYYYWWURVSPUYaɚqTH?>>:887252../.-./("+&$$&&"""""!"&"&$#%$&#&(%)&%%!"#!!$$!#!"%#"$"$#$!$#$$!&!#"!!###"!""""%!#$&(+++-+0232588<8<::???<>??>>><>><><><75::::<::8523222*#&$$#"#"!#$%&&+))+*&)+--+*)+++++*++++--*-++*.-++-+&+++&&-&+-+++/0(*--/*+.++*+-)1/0----/+++.+/--.+*-.0.+++*++**/(*-)-.+-151132/12.+7-1577585:<:75578:<:8:5:8:83:?>:<<><<88:8:83<<:8::?AEGKOMMSWWZWWWWUTSPTUW^xӡzYCA>>8785000-0,(&%*%%&$#&&$!$!!!"%#"!"!"($*(%%&$&"$$""#!$#"#&*&###"%%&####!$%!&&###!!""#!%"!"$""$!$"(#)&%%++.-00122258:<<8>:><>A??BA??AAA??????<>>>?<::82.5/+-+&&(#"!##($""*+*)*-+++(++&(+-&)++.-*/-+-.+++/-*)+++&&&//-0++)*.(&+-*..)/0*..+.-.&$+-%)0..-))+1($)++)+.+/-/+.++-+*&)*+)+%/2/5*0/23231-85:5778537827<:::::8877::>><8<88:<:><8:<8:<<88::::<<<>>??A?A>?BA?A>??AB?AAA??????>A???><<>A><><8832220*++$%&%&%!&!%&))+*+*()++0+.&.&.+)*--.--++)*$*//-+(.0-../+/+(+-0.-..+*.-(*/+**"-0/0+/..+++./())%-&+-+-..+*&1++)&0)/15.*0+*021)3201)22.+/2/-::888<<5777<::7:::::88:7>D<8:?::<:<88:825?888<8???>?B??AA?A?BAAAABA???AC?AB?D???>><:5200.-++$&&&%####&*+$(*)(+)&+((*(*)-((+++)-.(+&(&++(*)&*+.+..**)+-*.++++*+++).+*$(++-+-/-*+*+.+/12+++)*+(02.+.--+*+/-/$(+(+*8-&8///202++*72375757<85<<<:5::8<87<:>><:78:>:?CDFHMMTVVV\\ZYWWVRTUTZdฒkHC830/--0.+($&&%%#$$&$%"!%!"#"$$""!"#&%#!%!!%""!!&&&$#!$%"#"#"#""#$&$$%(%&"#!!$!!#%#""#&%$#$"!!!!"!!"!$&$)%+-*(-.223257558:8????>?BABBACA?AA>BD>ABC?A?A?<:<<852/-+**+)#%&###"%(&(+%($//-*-+--)-+))&++&+-++++++-***&+++++-*+0+*(--(0)(()*++)++/+&+.+(..--.++/*+(--*-()$$.+++1/+)0*-#%*(..+&122272%&*581-23355157<8<<555888><<5:88>58<<<88:53<8::<:8:8357525:?CEFJMPRTWWY\ZZYVTUTPVWgy帖nKA9720,+&&&$)%%#!&&$!&!#()%"#""'$$$!&*%%%!#!"!%$#%$!#$$##!#"&%#!&!!!"&$"#&!!&)%%$""&"&#!#%#%&#%&$&&&#%"#"%&)&&(+/102215035:<85><>A>AA?BFB?A?A??ACAD?ABA?DBBB?BB?>??D?<7553.2++.&&&&(&)(&(&.-+**(%()**&++&&+--+/++**+-+&++(+-+****&0))()&(---10-*+(+//1/+&--+0/+-/-+&()&&0**+&#+--+*-+./(&*0-&"+*(&21322+*$)++015.2388523/532887:5<:88::883::8<857::875:<888:8875<:??BDGJKPSVWWZZ\WVUUTTSUYbouS<980-,*&#$&#%%#$$&"$#()&$%(&%#&#!'&$&$$"$#"&!#!"!&%"$#"%$%%""$"!"!!$"#%)$#!"%#$%&$#&$##!"%&!$!%"%#%%&)&#)0+52335578::<BA>>??BBBBBBA??C?CBADFCBCCCDCBCECDAACB?AABB?BBCCCDBCDCBBBABB?>?><<<852118021.+)&&%%$%&*+*++/..+++-&&*+-+-..+++.*)//+*+(-*-.*)-.*++--+-+.-+)(+*+(-#)&(-+-0**02++)-+.../+-..7/.+)&+/++-3%++-*-$*/+20(111.&-/++031201531585A7?85<8888::5:<25:387875<8<:<88<<5355:8<A??ABAC?>BBACBCB??ACACBB?BCDFADACCEC?ACECBBBCA?AACAABBCDCCAB?BB??CBBAC?A>><882:7535&+&%&((*-(*)-+&+-*)+&&)(+/)%+&+++)2)(+/++.*(-**-*)++)+*++-.+*+$+/.)&.-+--+*+/+-.0///-*+)*)-+/+)*+-(.&)+*%+*+0.&+!18.20&&2-/+10�<7:87:88<<<:7<8:8878::5<887<8<:::8888<<>AAFFJKMPSSUUWWVVURPPOMKZd}Z<53/.-+(+)**&*+(&#&(&$(%&(%&&#$#$!%"#"!"&$!"#!!#!"%$$%%!$$##!!"#!!""%#&&&%&&$$$%%&&!"#&&$$&#&()+01+-1557::<><<>????A?ADBCD?CBEDEEBCDAC?CDFFBBBDBB?ADDEDCCDEDCBDBCCCEECCDCBBCDCACCDABA?BAABCAC??>:8<:AC?AC???ACBBBEBEBCDACDEBDECBDDCBBDCCCBCDBFDECEDBBDDC?BBB?BACBB?CAABCBBCBA:88::>:::::::?>?ACGFIJMORSSTUOPLLIJILPWo޳~\:552*'-+)**+*())'%)*&%#%#!$)""!"!$$#$#"%%$"#!$"$$"$#!!!!!""""&"("&&(*(&%*&&&%%$&&&)&(&()+*/10/217:7:???>>?CB?B?CABEBCAACCBBCDECCCCBCDBEEBBECCCDEEDCFDECDCCCDCCDCCBCHCEDBCCBEBABCDBBBCDCFCDBAAAD?A?AB??>?<:7882/.+&)(++(+))-+++*+.++-//.++.-++*++-&+-0/+-+-+/+&*++&+++)+0+(./)+-**)0(++++++++-++)+*+-++.++0-.++/-+0+2+*&)))#$32032-/++200.-.0.-+/27875<:<:8<<:<8><:<<<<<<7<:?:<<<>><8857:::5888<:ABA?ACCCC?DEDEDEEDCDEDDFGD?CFFD?BCCCDAADCECEFCGFCCFDDBCBDFGHHGDECADDDEFDCDEDEED?CDDBBEDBEAC?CBB??><<<85520+-!&+*++*+++)+++..10.-..**++*++&).(*++-++-*++*+*--+&/+++---+*/0++*--+)+.+*+&-/*++&*&.1....(*+./*.-0./)2-+).02100*0+/+*+..1227558:5::<7<:8<57A:8:?<::<::?????CADCCA?CEEFDDDBDBEFEEFDEECEFECDDEFEDEDECEFGDDEFDEEEFEDDDEFEEDEECBCEDEEAFEDDCABDCCBECBCEDDBCDCDDDDBAC???B?<8552//.--**+-+.+-.++-/&#*+*-*++-)-.)(-+*-*+(+-+-/-1$&*-.&*+-+-)+*++-+*)++%.*+/1/&*-%*..-*))(**+./+/.+&*-+)+()-)0*02/210-0/./&++0)*+5787:57><78:?<<<:8::8<:8331122/02277<:?BFJHGGJKLGHHIFE?A?CRkʿxbC5-,-/,++-*'(*&'&&')%$"%(!%& $# ##&#&"##"#%!&""!$&&"#$&&!!%!###!#%"($*)+/130552222318/.0+)/1+1//15:<<:8:::??:::3223-+*++++++-+)+00)+/-1-*+.+&+(--+++(1--**-.-/*.+-*+/+--+*&.+*)&&-.-+*+.)+*+++-/+&)-.++-0*-+*&+.-&+-*)&($++)%)3/038120.+/+&%1-1358::8<88:8887<<<>:>>5<<<::<8:75533320.1322778<>AABCGEJIFEDAEC><8<>?<:5<>:<:8578:555355/-*-2/0)2-2232::?>ABCEDBD?CA>>HZnt~~wrm]PD<:22520.++-+&)%#%&&)&#%"#&%!&#"""%""!##"#"#+&#!%$"$#""#"$"#%##"!!"$%#&(%*+00+.1077828557::::><:88<85:885:>>?>AB?DADDDBEEDFDDFFEFAEEGCCDGEFFDFFFFEEFEGFEFHIGEGFECEDDGDDDGEDEGCDFEEDFFHDECGBEGDDFHBEEEEEEEB?BEBCEEFEEFACFDBBDGEDBEB>:<<>?>:AB????>?ABEDFCFEEFFFGDEFEFFECDEFEGFEFFFEFFEGFGGFECCEDFHFFGEGFDFEFFDEEEFCFEFDEEFFEGFFGFFFFEDDFEDEEGGGDFFDDCEEDGDFEEFCDFCEGDCCDEDCDCCEB?B<857531/02..-.-)*+.-+-.++*++++-.+++.+*--/++/.(*+*()*-*+..++(*).-)-+.1.+-+$)+-"-/*-+().+*../&!0/+./*.%()(+--+.-35-2151-.(*0--/3+27588<8878888:788<8388<87755272112/020-22+/(+1++.11255:7<><>A??C?A?<<>:::355858353<0310+/1/./(++%&%&%%% "$$!##!$"!"%###'"%&"&"!!%##""#!##%&*$&$(&+$#$%&!$""$#-*-+-1/227358:::<8<<>A>>>:<>ABC?AEEEDDGCCFHGBBEEFFEEEDFGGFGFEEGFFGFFEGEFEDEEEEEEGGCEGGFCECFFEFEGEDFFGGEGHFHGFGIHFEDEEGCECBFEFFEEDFFHFGEGGFDFFDFFEDCDEEAHFDECEFDEDEEFDCCDDAB<<<><53515/3*--2++-*-.++--+..+/(..-+++**.+.+)&)(*****.--**-+/+&&-++-)&)++-++0+/&..*%+/(*--03)-/).+..+#)*.)+../2-3255225/5+/--+0505:57288:<7882520378:5557322500330221-0-//+0++)+.51522558>:<<::855223522/+.+0-/--+(&))(&&%$"$"#!$&#! !&"""%#$&&%"$%&$!&"$"!$!&&#&&!&&$&)&(*&&+)%#%%"&*)&)+%0+-0/..27555785<88:<:<<<>??????BBCBCCCCCCDEBEDEFDFFEGGFGEHFFFECEIHGFHEDEFHGFJGHEEECFGGHFFFHFFGGHFHFIDGHGFFEFGGFCFEGIHDEFFEDEEEFFEFEEEGFCDDFGHECCDGFCEFEGFFCCGFFEECDDECBGGEDDEDFDDA?>>?::<55525210/+..-+.*+-*&&+.)*-.**-++*+++)**-*++.2+*-(+++*))+**+)*-+-*.+--/&(.)+-+)&*+&&)++-++/+.1-+/+"-+0&&2.1&(2/31+5-(21+0238735:8:75232832770722213532212100/0+/30-/&2-./-12/22338888:8<>8885:72232+2.-.1../((+(&+&)(&#%&&!*"&&""&#%!&#"&!$&!!&%"!!""#$"$#$!$*&((&&&&*&*+)*+++()**&(%+0.22/.2238877:<5:88<:8A?::>>??C<:88522222//+/-++&+*(-.-++-+++**+*)+-+&+.++*+(.+*-++1/&-+*0.)..///00*++*-0+++&-+)*+.0.+&#/+++++-30)))22-&"<11)2273.2+-20/22230555525223017721+521).22205020+-/1--02/-/2-21+-././325558887::5777553020/.-0)-.+-).*(&))&&&%&%#$""#"&&%#%"(#%"$"&##"""%#%#%"!"&$!!!"*$$*+*0*+-/-+++././/.++/1..25587888858:88:?<<>>???<::<8850.+./-.*+.-+*.+--/+-+++++)+++++1.***-++*&(*$-*-&+.(+(++*-0%./..*-.)+-&+-+*/)*%+.)/++-0*/*%))-*&1*+1.//353+0*+)20*)1.255353171-15200+-/10/231/.-)+/2(01.-*..+*-0../2-&.2358075555523872230)+1.)-)++(*(%)&"((%+))&&&$"%$&#"#(%$!&#%!#$! #""!$%%"&%$"&$))+-++).*/-.//+----/12//225002/788::878<:<><:??ABC?A???AA?CEECDDDCFFGIHIEEGHIHGDEGFEHDGFGGGFHHHEFDFFFHIHHGEFHGGGGKJGGHJIGHFGGFIEFIKIGIHHEGGHGGHIHJJHHEGGGGHIDFEFGGHGFGDEGGFFCACGEBBFGHHEEGDDEFGFFFHFHGECDDFFEGEGGEDGDCDCDBFCADA??:<:52121/*++-0--+//1./+1*+.+*+-#%-/*&/+))++&&&-&)-)&+-*+)***)(*5+$)++*0&&/*++)-&&**$.+&..-++$)!-***2+)5-/8-52213)5210+011+0+-1210./1/+1./2+/.1+/1012121.--/1/-+0///*+2/+-++.*.1/2322300132...+*&&&&&&(&&(%*&&(#%"#$&&#)#!$""!%$!#"$% "!% !#$!##$%(&&*)+++*+++-.+0..+20-1201352252555::5878:8<<>?BAA?BBCBEEGEEFGEEGFEFHFDFHIHFFFGHHFFEGFIHHFHHIGFHHIIHHIHGEIGFGFGJFGHGHFHFIHIHGEHCIIHGHHHGIJIGIGHGGGGIIFIGHHGHHHHGGGFFFGHEEFFDHGHGHCEIHGFEHGEEFFFEGEEFGGHEEGEDFGFGEEGFFFEEEDEEFEDCEDB?A<<232.).)*+.+*-//*+*++-.+-*+.+.-)/)&/.&+-++()-.--+%(&&*+++++-*&&-++**-+*)+-*1+/+**+())*-+++-..+))*).*+058220200&22/&)-*/.//++0.2+2.1+*-/22.2/-+/020++//+12/-/./-/-.02*+."*+**+++552020+-0-0-+*(&%$%#&"$&##&$*)&%#$$!!##!"#""$%"#$"(*)(""#++&(*.&*)-%)())0/00052/.21278323805::87<:<5<>ACDBC?CEFHDEFEDFFHEFHAFGEEEFGIHHKHIIIGIGEFHIIFIIIJJHIHJGHIIHHHHJIIJHEFHIHJGGGHGHIJLJGIHKJHIFHGGHFFFFGFGIGJHHIHIGFFIHHFEEGFGGEHGIHGHIGHHFGFEIFEEEEDFFFGEEEGHEEDHFHDHHGFHGDDEDGHFGFFEFBB?:<78555/00+.+-.+/**+--+++))+)*)%++)(&/&*-..-)/+**)+++%01-+)*&-(-0(/*.*&((+&)*&+-++.-+*-&+).0+.*+.*&00/+022222/20..++*++0+..++/--++3.(.-+*./1.20121000--/.+/-1/.-/+.00*++&.+++*++&++0/++*+()&&(*(!$(%"%&$#$&##$&%%)&&""$"####$$!!$$&!%%(%(%()))&+**+.+.-+0012-102522255558:7:88::<<<:>>?>??B?<75772+-1.++)++/----)(&*)+-*+*-1+$&&++++-&+0*...+%&&+)&+/+++))(+--+).(.))0.(+)&&(+(.)0+.+/&+/-.&(+-0032503-+0*.+**-+*&+--+/++(+-/)22*0-20/22/01022..-+0+)./.+-(+%&)+*&+(()&*)&&(&&""#"&$"&)$$$%(("!&$*%&%"$!&%$ #"# "#"$"&'(*%(*+++)-++./-/.+.02212.2525535:8888<<:<<:<::>????>AA>B?BA?ABEEEGIFFFFFFGIKIHFHJJHKKKHGJIIIJJKGJJJIGHIGJLJLLKJIHJKLKKILKKIJKLJJHHHJJKIHIJILKKIHJIJJKKKIJMKKGJKLJJIIHHLJEIHIJIGGGGFGGGIJHIHKJKJGHIGFHGEFHEEFIIHDHIGGGGHFGEGFEFFEGICFGGIEDGGGFDGIHGFJFEEFGHFHIEFCFDEDB?83882-/++1+-++---+-+&+.+-+(+-))+&).*++**(**++-++&&+++).*.((+&(--&+++.++++#&*-)**+(+/+/++)-1/$"+(*.+01.20-.+.-+(%--+)()*+)+..+///.0/./20+/0..)..-/+.(-++-+(()&(+(+(**%%%$!$$!"#!!$&$#%(&&#$&&###%$!#&$%#$"%&(%&*(..-++++00/11121235352557:78588::<:><<<><<>ACDB?CCDDEDBGEDEEHFIIGFGHGHGHIIIHKIIHLJIHJJJJIHILJJJGIKLKJKJJIJIIIIJIIIKKKKKIIKKKKGIIJIIIIIGHJLGIJJIJKILJIJMJJKHIJJJJJKLJJIJJKJIIHIHIEIIIHHGGIHGIIIHHHIFGFGIHHJIEEIHHIGIIGEEIHGGHHGFGGFGGEEFFFFEGHGFEEFHDECEFEDGHGGFFFB??>:5522-201++*)-.++-*--.+.++.-+0-$++-/+++&&+)++)-./-*-+--/+++*)++0*++)*(.+*%())++)&*++))&)*%&(&%*+-.0.25820++0&(---"+%&)01./20200/0.05/++++.-+..-*-2+!+0--+)%(((($)$#%&!!"!#"#""!%%"$!"&(*$%$#%-&(#"!)*))$$$&&)&()*,*..(15.035433322:8;7:88<:8:?8<><<BA?ABEFEECEEFHIEGHFGGJHFHFIGGIIGHIIMJIIJIIKHKHJILLKLLLJJIKLIILLKKJJJJKKKHJKKJJLLIKKLKJGLKKLHIKJJJILILOJFKLIKIJKJIHIIIIJKKKKJIJJKIIIIEJJIGHJJIGIKIJHHHIHIHJJGIGEFIGHGHJIGIHIIGFHJGAFHGHDDFEGGFFFGGECHKIHKBDDIFCEFFEDHGFFHGEDB>:88521.10+*/2/---+-/.-++..).+&+/&)++/+++*+)*#("#*+(-1)-+%().++*&+*-+0&-++2+0+)//+-*++*-%+.++!&%/00--50.+-+)++++%$&#)*-0.-+530+.-//+(+1+*/+*---**()!$()+&&%&(#*%!(&(&"!#!"#!$$$"$&"("%&**$((%++)&(())+*+3/+/1.322-6755657328:7852888::<:<>>??<<753250..+/1-*/+&--).-++++++))(&*&$-++*.0))&*-++./.)*+//----1/)*)*(&-+++-0*/-+&-.-++/$-(+(.--(-220).1+3-*&/+/+)&)%$&++.+-/.*-1-.-31&/211+)+&)-%(&++*&&!%&&""$!###!""!$$#"!#&&)&$++&*++%-*-)&+++)-*-5/203322250558:888::8:777:::<>?<><>???BDBECBFJGFGIHCHHGHIJJJKMJKJOJJJHMKKKKJKLLOMLLKKMMLJJLKLMLMKKJKKJKMMJJKLKKMKKKKLJLLHILJLJJLKJMKKKJJJKKKLKKIKIJJGKJJJKJKKKLMJJKIJKIJIKHHJGGIGKIKIHKGJJJHIHIKHKKJIKHIHKIGIKLIHEIGEHFGDGGHIGFFIGHHGEHFGGFEHFFGGGIDGIFGGDFFECFGHIIIHHHGDBEC??<553122--))-00//+.+0+/)+0/0.).1)+(-*+.+(#*)+$*(&-)+&+&()**%&++)-/)).-&/$&*++(/-.-%%+.&(*)&0--/0+.12+2+/+12+++*&(-*0+.//2/--..-1/-/+(+0.++)&*2))&)%&+&&%"&!!!&#"&&$$#""##!$%#&&%##)*)&++.*+/--+--/+(/2/13201283585:8878<:78:??<><:A??B???A@;<:5/1./+*0++++/+++./-++)+&$*-*+*#&/1&*+)..*.+-+&!*+)*(-/)&&&"+-/*&(+-.++(+2.0+.+$*//1+*.*+++*750001+.112+.+)+-)-+&)*...*/1...00-0/+-)00.+++%#("++%#""&&$!"#)%"&"%"*%$&&"%*(++-002-/.120/.3222225232527256887:<:<;;><;@B?>=AA@AB?DDDBCFDGEGLLJJHLMKLMMMMJMMKMMMLMOMMMPPMOOMMKMMPPMOMMMMMKMMMKLOOOMMMMMMLOMMMLMLKMMMMMMLKJKKKMMMLJKLMMLJJLLMLLMLLMKLLKKJLLLKJJJJLKJFILKKKKIJJJJLJJGHIKKJJKIHJIJKHJJHGJIHKJHHHIJFHIKIIIHIJGGHGKGHJIGJHGHHGIEDEFGHFGGHGHGGGKIFHGHHGFHJIGHHHIFHFIHDDGGHHGFDC??::83/0/1/0.*-(+++&&**&)--)+)+(-++(*)**-++++)./)(+&&+*(++**(+-+-+$&*+*/+++-&++.(+/-%)+&/*%+++*)#%-(+2502%*1-)1.*&+-++/2)-++--252)$312./)+.)&(0+*%)!(#$"&!"#!$!&$&!&%&)!+.*)*)+-.021+/01022233378757:555><::<<<<>>???>?CA>BECHFGJKGKHLLMMMKLMLMKMOOPMPPMOMMMPMLMMOOPOOOMMMLOOMMMOOPOPOPMOMPPOMOMMMMMLIMMKMMLMMMLKMMMMLMLMMLLMJJKJJJLLKIKLKLKKMLLLMJKJKMJMLJLLKLLJIILLKJKJJJLLLMLJJGHIIIJKJKKJIIJKLKJKJKJJHHFHIGJJFFHHHKJHIHIIGIHHHIFGGIFFGIFEFHEHFGHHGGFGIDGHHFGHFIGHIJGHGHGIGJGFGDDEGECBA>:55-.+.--/++2+--+++&***++..++.*0*++)+&+++&)(+&.)30-*++.)).2-+*)&(*-.+)+).*+$-%$-+.*(*+&+%*&&--///2/0-1+1/31*-+)))&/-/0.201+/0/0)--+1+(*)++++()*$%&&&+&&"$#(&$)&&&+($&+*/....00/122/1233.5822288:888<8<<>?<<<::88?DA:752.0+*-.-*//*-++(-.)++/..+&*1+*+(&*)*&&)(+(+*&+-*(+-2-++/++))))&)++&()++))(&"%0.**&+&*.&++/2*+*+(-1-1+&(()(+*(&++)+.20/-/--/.-0+.%-&*++&&))(&*%()$%(%%%)$(()++(+1.2.+)+231.+0253275255:7::8:<:<<::A???BBCHHFGHGGLOPMPPSTSSPTPPUWUUSVPUTPUTSTUVUSRTUUUSSPPRRRROPPRPRPRPPPPPROPPPPLPPPPPMPPOPPOMMLMRPMOOMOOMMOMOMOMOOMMOOMJMPMMPLILMLMKKLOMLKMMMMMMKJLMMMIMJKLMLKMLKLLLKMJKLMKLIGLKLLJLJLMJJKLJJHJLLILGJKJILJIIJIKIIIIEIHHIGIGJKKJIHJLIIIHIGHFGHGFHJLHGHFGFHGDGGGIGEFHIGHKGGFGHIHGIGHEIHHJGFGGEGCA?:2522/.00-.&)*+)+0+&+-+/$+(&*$+-**+)-+++++&(&++1$$).&)&(+.++&*&+*-+&$)-.+&(/*+)-)02&0))+&2011++1.+()-++))+1)+)*+(-((-.-++/-.#-.)**&*&)+*++*(&*.+*(++-+.2+/1.2222222225555758857:<:<<<>?>???<>ABCABBGGHGHIKKPMMSUVTVXVUQUYWVUWZWVYYXTUWWWYWSUUZUVVVTUVUTUTUTTPRSUTUTSPSRSRSPRPPSRPMSRPPRPPOPPOOPOORMMMPPPOOMPPPPPMMMMMOMMMMMMMOMMMOMMLLMMOOMMLMOOMMMOOMMMMLLMLJMKKMLMMJLMKLLKKJKIJLLLLKLLKKKLKJLLLLJJLHHLIHIIJIJKJGJIJJHJIHJJHHHIJIJHHIHJJHIHJHHJIIIJHGIIIHFHIGHDIFHIGIGJFHEEHGGDGIGHHFEGEFEECEFFFHFD?<>:523.011/..*+0012*(+&+-+*%+**+&++-**-+)++&%*+&)-+))(*)*++&&&+%&--/&)+-/++-+-*0&++("-+)*.+-//1520&/0.*(&%&*(+.)&)(.*/0**+++)++.*+&*+++**+-2&.*2.+113.25823353352788::<88<??AA?EBABCDHJJJMKPPRTTTUVWZYZWYWWYZY[YYYYYZZYWWWXXYZUWWVTVVTWUVTSSUUUSTTUUSSTURSRSTRRSROPRRPRRRRRRRRPPROPPPPOPOPPPOOPRPPPPOOOMMMMMMOMMMMMPOMOKMMMMMMMLMMLMOOMKMLMMLKLOLJMKLKMLLJKKMMLLLMKJKMMKMMMJJKLLLLMKKKIKIGJKFJJIIHJKKHJKHIILKIIIIHJJKKKHHHFIIJJIJIIIIIHIHGHHGEHGJHJGHHGHJJHGFGGEGHGHHHHGHHEHHJHHJHHFEGFCA?<:851.//+..*.-+*.+*++-+++%(%*&)&++--.+*-*+++*--()+&.&**+)&*&)*+#&&)+*%)+&&++*"&(-"(&**)+0&12.120+&10.--*(&($((*)$&+(*(+++&)*+++&*(*031()1002/+2-2251387787523852:::???>?ADEDECDGGMIMMMSPROVTYWVZ^^Z\Z^]^Z`\]^]^\ZZ\\]YZZYYWWWYWVYYZWWWWVVUVVTUUTWUTUTSUSPPPSSRSRPPPRSSRTPRRSRRROPRPMROPPOOPPPPOPOMMPOMMMMMPMLMMMLMMMMMMPPOMMMOMKMMMMLMMKLLMMMMMMLMMLMMLMJLMLLMLLMMKLMMLJKMKLKLJKKKLKLKLIILJIMJLIJMKLKKIHIIIJJJJMLJJLGIJIHIJHJHIIIGDIGIGHHLIIHJHHHGGHGHGIIIHHJFFEBFFGJGJIFFGHIGIIHHIECFEGE>877752..1.+/+*.)..*+(+(+%(&(*)+&+*#+)(+*$+*+&(++(*+***.&$+&+++)**))&()*/.&&*//(*+($)!*+%0*/+2/0120.)++-.+&.)(#*%)&&&+*&+-*(+.++1)35/221022273337:<<:5:858:>?:>>A?<<<>???C?FCEBBEEGIJJLMORPUUTVYZZZ^^^]`]^]^`^^^^^^]\]ZY\]ZZZYZZYZWYZWVWYWWYWVTVWUVUTUSUURTUUUUSSTPPRPRSSSSPPPRRPRRRPSPPPOORPRMPPOOMPMOPOPPMOPMLOOOOPPOMMOMOOOMMMMMMMMKMLMMMMMMMJKMLLMMKLLKKLMMMLLLIMMLLLLKKKKJLLKKKLKLLKLMMKJKJJJJGKKIGJIKKJHIHHJKKIHIGIFIJIFGHJIIHHHIIJIHHGHHFHFHHJIFGIFGJHIIHHFGEIFEHIHHGGJHGJIGIHGEIIFGFEDDD?>:83212-++0-*/&*/+/+)-).(++)%(&(+(&+*++(&+(((+)$++++&++*&&)+)++)&*%&&*)"*-!&)!&(../1(.*$$./&%-(-/.)+%*)+&((&/*&!&&+)-5.00210..0-211578577<825255578:8:><<:<<><8:<>>CAB?CBBBDBDEFCEHIGHLMMMORPSUUZZZ^]^\aa^^a``aabbac`a^_a`_^^^\]^Z\\\ZZYYYZYWWWWWWWVWWVUVWVVVUSVVUVUTTUSTSTSSRTUSRSSPSSRSSPRSPPSMPPPPPRPPPOPPOOOPOOPMOOMMMRMMPPMMMMMMMMOOMMMMMMOOOMLPKLMMMOJMMMMLKLIKMMOMMMLKLLLLKIILMMMLMMLLMKLKKKKKLMKILJKHJJIIKJKJKKKIIIJJGHIJIHKJKJHIKIIKLIHKIIJHGIJJIIIJHGGJJHGGEJHIFHHGGHIGEHGGEHHHDGHIHHGHGHHGGHIFCA>::582/--.-+.1++/+.+&+)&++*)(*++*&*-+)()++*.-+&%(++**-+-($(&+&%+++*..+).0+)**+(+%&())&+..+/.(+../)+.(+20&+*%&+.")++12/05525:83<:8::<<7<:8>BBE>??HCDCHHJMMMLOOSVWTW\W\\\^a^^cb^bbbabccbb`dcba`^^`^^^]^]^\\Z\ZZ\\ZZWZWYYWYWWYWWTTTUVVVVVVUSUUTVSSTSSTPSTPRRTTRPPPRPRPPMPMPPOPPPROPOMOPOPPOPPMOPPMPMMOMMOOPPOOMMMMOPOMMMMMMMLOOMMMJKMMMMKKMMKLKLKKMMMLLMOLLMKKMMMKKJLMKKJLKKLMLKMLILLLKJIKJHKJJHIKHIIJLLGJIJJLHJIIKIIJIJLKJKIHHJIIJIHIJJHHKKIIJHHEGHGIJGKGCDEHFIJJHKJHDGIJGIFFEHEEEB<<58221+//.12-+&.(****(+-&)*&&+-%**-(.*+)**&++)*)+(+-))%))(+)(*++)()(#(!++++#()(++*+).)+)*/-+1++-0/151*+*+)$+-++-/0133557587:85<<<<<<>>?>8871221.*+0/...++..++**+--((&(+/-+))&&()+-*)+)(+)%-*-&)))+(&+&-+(#*++(&%++&+(*&&)((-+.+1+%)-**+2++/-+(/&+%&..**51/1835::<<::::>:88?B>>BCDEBDDEFEBFDDDEHFGIKGIMLMJPORSUWWZWY\^^^`^^bc^b`dddbadbcbaccaabb`_`^]^^`^]Z]^\[ZZY[ZYXYYWXUWZXWVWVSWPVUWWUUVUTVSVTTUTRSRTTTUVSSRPPSTRPPSPPPRPPPPLPRPOPOPOLMMMMOPOOMORPMMMMMPPOMOMOOOOMMMMMJMOOMPKMMMKLKMOLLLKKMJLKLMMOLMMLLMJMLJIMJLMJMKKJIKLLMLJKKLJJMKHJJJIKIKMLKKKLIHJJIJJIKJIHJJJJIHKIIJJILJLKKIHIIIIJHIHIHHJJHIJJJJHFEEGJHHIGFIGEJIHHIIFGHIFHGHGF?>A?522100+././-&-++++.))-++*"+-0)(&**&*.++(%++-+)-*#&*)+))"+0(%+%&(++(*()#&*+++*.+&&&&*(%&*&++0).1.+/1//*)..)%/-221::88:<8??>::<7522-01--+().+-+-++-+.+*(.//+*+))&&)*"+-++)*)&.-&$&)*/)++%&%)+*-)+)((&#*+"-*((&)+%((-$)#.*.2(+..////)))+)1-5225::583.00-++*+()&*-)*.(.+**++*))+&$$++&(+&()))))/%(+&*+++***%*))&&*--&+++%!/&++++++.*+/11#/-+/2./..0)+(*0/0-88:>?BDGGGHJIIHIMMJMMMLMMLMPOPPRTUTWWYVY\\W\\]]]^c\^baaab^^^b`aacabba`aa``a^`a`a`^^^^^^\^^^^^^\ZZZ^ZYZZZYZZZWWZZYWYWWWUVYWVVVUTRTVWVUWVUVTPSUPRSRSRRSSRRPSSSPPORRRPPPPPPPPPOPPPPPOORMOOPPOPPPOOMMPOOMMMMOMMPPOMMMOOLMMOMMOMOOMLMMMMKLLLLLKLMMMMLMMMMMMMMLLLMMMLLKJJKIKMLKOKKKLHLLKKJJJKKIJJIKKIKLKLJLKKLMJJHJKJJJJHHJJJIIIHIHGLKIJJGHIGGHHHJIIIJHIIJHGHGHIJIGIGHHFHGHGFGFGEHHEIFGGE?<:8<30/0/../1-/*&*+&*++-/*+)+++*)&%*#(&()+&)$&(*)*)(%*)&&+&*()#+#&%(+)+*+)%&$()/#%&*"++*&*-+++001+1-.)&23+:8:8??GGJLILMLOLMPOOOOPRRSPOPRWVWWWYYZZ]ZZZ]]Z^`^]aa^```^``accaac`b`bb^a^``]^^^^^^^``^^^]^\]]^ZZ\Z^WYWWYXYWXXZYWWWWWVWWUUVVWSVVVUUVSRUVWTTPRRPTUSRRSTSRRTSPRPPPPPPPPPPPPPPPOPPPOPPPPPMPMOOPMOMOOMMOPOLMMOMMOMOOMOMMMLMMMPMPPLJMMMMMMLMLLOMMMMMMMMMJLMIMMLKMMMLLLLLLKMMLLMKIILKLJJILMKJIHJKKHIHLKJJLIKLLLIJIJKLKKHKKHGFLIGJKIHIJHKJJJIIFIHJHJIHJIIIHKGGGHKKHJIEGHIGHIHGHHFIJFGFGFHFFA??:882120////)&+(+1-/.*-+-**&.#+%(()%+.&%-&)&**)&)+++)+++*)+*#***+&"#-%+*-*"&++%(/1/#!&+.0*2.++&/0/2+(+)(+3537FIMLPPOPPRVTRRWWWVWUWWWYY\\\Z\\\^^^^aa^^^a^^^^`bb`^```^^``^^]^^^`^^`^^^^^\]]^]]^]\\]]]]ZZZZ\ZZWYYWWZZZWUWZWVWVVWWWWWVVVVTTTSTTUUTTTUTSSSPRSTRSSPRRSTTPPTRPPPPMOPPRPPPPPMPMOPPPPMPMOMPOOPMMPOOMMOMMMMMOMOMOOMOPOOMLMOMMOMMMLLLMMKJLMLOKMMOMMJLMLLKKMMLMMLMLMLKMLLJMKLKMKLMLKKKLLMKJKLKKKKKKKKIJKKKJJKJJJHKJLJJGHIIIGGJJHGGJJIIJIIJHJFFIIIKMHJHHHIJIHFHIGEFHLIHGFIHHHIHIHGJJHFFDDBA?<:5550-/0+-+**+(**)2)*+-+#"(++&++&+-)"$&"#$&)&(+%"%++)*(-!*("$&&0(*#&(+(.#%+)*%($%+##)-+()13+-1/*///+.-*728:BDDIMPPMPRRSUTSVWWWWWWYZZZY\^]^ZZZ]^^^]]^^^]```^`]^`^^^a^^^ab^^\^^^^^^^^^^]^ZZ\Z`\]]ZZ]\ZZZ]XZWWVWZZXXWZYXYWVVVTTUUVUTUTSSVURSURSVSTSTTPPSTTRSRTSPVSRURRRPSSPRPOPPPMOPMPOPRSOOMOOMOMPOPPPOMMMOPMOOOMMOMOOMMMMMMMPOMOMMMMMMMMLKOLKLKMMKJKMMOMKJJMKLLLLKLMMMMMMMMMLMLLJMKJKKJKLLKLJKKKJKKKLLLKJKLLJLKHIKJIJJIJILJJHJIKIJGGGGGFKJJKKJGHHGJIHHHFHHGIHGHHHHHGHJIIHEGGGFFGHECJHFJLFHIDEABB<<8521-1/)*+--++*.+-/.++-0+*"%((*)*--&%*(+%)(%-&)**()+*(+*.**&)*#)))&+&$+#&+(&%$.*#%#.+-0..-0--/01*.-2.28778132/22.-.+++)++0---&*+)$*+)++)+*&&+&+(())+(*(-*%(&()&&&)*++(&(%..+%$&*&(&(+--&&&)*-)+&*+1022+1/2.1-.)+0588CDHITWVUUVWYUWYW]WZZZZ]Z]Z\]]]^^`^^\^a`^^\^`^^^^a]^^^^b\^^]]`]]`Z]]^^ZZ]^\^]Z^ZZZ^^\ZZYYZYZY\WWZZWZWWWWWWWWVVWWWUUWVWWUTTTTTUUUURTSUTSRURRPRSRSRRRTRPRSPPRPPPPPPPPPPRRPPPPPPOPPPMPMPPPPMPOOMMOOMMMMOOOMMMMLMOMMMMMMKMMKMMMLLMOMOMPMKMJMMMMMKMJKLMJMMMLLLLLKKLMMMMOMLJJMLLJILKJHLJKJKLJJKJGJHKKKHKJJCIJKHIIIKJKIJJJHIHFJIJIHIKGJGEHHHHGDHHGLJFHIGGGFGFGGHHCCGHHHIKIJIGHKGFFJEJIFHCEBEA<52/01+..-++++*+.)&"()*))-&)(+((+&#%$*+-&&+-*++)$&&)#*$&1(".-&++-++(&).+())+*+**++**&.-.&+.)+0211000/+288?:552//1*./-+++1&)*-.+..*-&**)&**+%$$&(&)(+&&*)#+&)$+++(+)*+)(*)&+#)&&)))((&&)%"!&!#&+&++./588.212**31277:BGKKSSWUY]ZZZ^^]\ZZ]`]]\^]\^^^aa^`^^^]]Z]\]]^\^\]\]\^]]Z\Z\]]\]^^\ZZZZZZZ\\ZZ\YYZZ\ZYWWWYYYYWWWWWUWWVVWWVUVWUUVWVUVUUUSTSSTTUTTSPRSSSPROPRSSSPPPPTTRPPPPRPPPPPPPOPOPPUOMPPPPMMPOOOPMOPOMMOMLMMMMMMOMMOOOMOMMOLOMMMMMMOMJMOMMOOMMLOMLLMMLKLKMKHMMLLKKLLJLLKKMLMLLOKKLKLKKJMJLLKJKKLKKLKJJKKKJKJKGJJHIIIKKLKIHIKIIIJJIJIKKJHGIJIIHILJHGIIGIJHIJHGJKIIJKJHHIGGHDGGHGGGIJHGHHKFJLGEFIGGDB??<:500*//.+--+))+%)&+%&.&()&)+&+*-&&(&)+$%&(+&-)*)++(%)()&)++)*&)(&$()%.-)&+-&&$!+.2)+).-01*10//85.1287:FIHMPUWY]ZZ]^VY\]]^]^]\^^]^^Z^^\^]^]^^]^^\]]^^`\ZZ]Z\]\Z\Z\Z\\ZV\\ZZZZ\]\ZWZY\YZZZZWWWWYWWWWWWVVVUUVVWWWVVUSUTTVTWWTTUSRUSRRTTUSSTSPSRPSRSTSRRRRRSRRPRRRPTPPPRRRPPPPPMPOPPPOPMROOOMMPPMPMOOMMOMMMOKOMMMOOMMMLLJLMMOOMOLMMMJLMMMMMMMLMMMMLMMMMMMMMMILKLKLLKLMKLKJKKKKMMIIKKJKJLKKLJJLKKLLJGIIJJKMJKIJHIJMIHJIIKHHJIIHHJHHIJKFFJIEHHFGGHFEILGHHHIJHIIIGIHIGFGEJFHGIFHJGHGFGFGEGGGGFGEFBAA<8530/0//-(.0++-*())&)(*+)+)-(((&&()*"&&*&.".#)(*)%)+//)0(++&#*+(()**/.*%$&(!&#(-+0//)*+-/.2/0(+*/23?:DKPSVZY\\\]\ZZ]]]\^]]^^^Z^Z^]\^^`^`]]^^\\^^]^^^\\]]\ZZZZ]\ZZZZZZZZZZZZWZZZZZZZYYWWWWVZZYYZWWWWWWWWYUVWWWVWWUUUUVVUTTSTTUSSRSSUTRRSRRRRRTSSSSSTPSRRPRPRPPRSSPPPPPPPORPPOOPOOPOPPPPPOMPOOMOMMOPOOOPMMMOOMMOMMOMMMMLKMOMMMMKMMLMMMJJLMOMMMLKMMMMMLMLKJMLMLLLMJKLLKKKJKJJJKKJKKKKKKKJKKJKKJKJJJLIKJKJIJKKIIKKJKLIJIMKGLIJJHHIIIIKKHHKIKIFHGIJHKHHFHIGGJIJHJHGFHJJGFLIGGHIFGGGHGDJIIGFFFC??<<2210+++-.-+++-++-.+&*((**%%&*%)+((*++*++)(+&(+/+&))/-)%*&)+*(*+)-))&&&*!-&)&&&((&%)+%*--/+.*50101*/.01:?EDPUUWWZ^]]]Z\`^^]]^\]^\\]aZ]\^]^^]\^^]\\^^Z]Z\\Z]^\^]\Z]W\ZZYZZZZWZZZZZZYWYZWYYYWWVVWWYTVVXWYWVVWZVUVWTSWVTSUUUTVTSRTSSRSSRQUSQQSSSSSPRPSSPSRTRPPRRRPRSSRPPPMPPPPPOPPPPPPPPMMOOPPPOOPPMMOPOMOKMMMKMOPMMMMOOOMMOOROMMMMMLKLKMJLMMMLMMMLKLMHMLLMMMKMMKLKMMKLKKJLKLKKJKKLIKILHJKJJJJHLJJKIIKKLHIHIJJJKJJIJJJKHHHIHGJJIIKHHGHIFIJGIIJJJIGHIEEHGHHEIMKHIGHJHIIKIJHHIIEHHHKIIHHGIIIGHGGBACB><7-1+-.-.+.&-+.1++/.(&))*&)*&)))%-+(+)&$&)+0&"%(&#/(*)))+*-*+&(.*$(&(&%%-*)!$"(&%)1+./0//0--/220))*23<735-++.-/++-+(*&&+-()**$))$(*"&&*/*-+&+))&.(&%+)+)$&+&&**(&$&%&$()))&(%&(*&"$%*)-/3/-.&2001+*+(+.085335*.++.+)+*+*1))&(&*&)*++.+)&&+"&*&$%++*+-)+1+&*%&)+%"+&&&(-/%(.*+.$.++*(#&#))-+))/+0+.0/.+*-+&+*/::DIOPSVZ\Y]^^]Z\^]Z^\Z\]^\\\^ZZ]^^\\\Z\\\\\]ZWWZZZ\ZYZZYYZYYYYZZWZVYWYWWYWYWWWWWWWWYYZWWVVVYYWVVUWVWWVWWVUUUUVUTTTSUTTUSTRSRRRRRRPRRPSSPPPSRSPRRPPRPPRRPPPPOPPPOMPMPPOOMOOOPOPOPOMMOMMOOMMMPOOMMMMMLOMMMMOOOMMOMMMMMMMMMMMLMMKLLMMKMMLMMMLLMLLMLKKMMLLKIJJMLLLLMJJLLJLJILJLKKLMLJGIKJHKLJIIILMJJJLLMJJJJJIGIJJJHJJJIIIHHIGGHGKJIHHHIHHHHHGJHHJHJHGIHIJGHGJJHHGHGHIHGIGEIIIHIGIIIIHHIFED?>:7850//+.0++++&()(+*+++)+(*&"&&&+(((*)(++*$$&&$&(&())$(***))-$$+!$$)++)#)-#)&%&+*++-)%./)$(+)*++*)01<:350.1.+..+*+%*+).+()#&+*)(&&&&*()*(*)**-*+&*(&(+&*$%-+#+($")++.&*%+&&$)&%)$&&-)#*!++-(/./0+-.&(*+-&<:?FEMSYY\]^]^\]]]^]^\]\\^Z\]\]\ZZZ\YZY\\]ZZ\ZZZZZZZWVYYWWYZWYWYWYWYWVWWWWWWWWWWWWUWUUWWWVWVSUSVWUUTUUTRTSQSWTTTUTRVVSSTRRSSOQPSSSQPRPPRRSSPPPPPPPPSRPPPPRPOPPPRMPPPPRPOOPPPOOMPPOPOMMOPMLMMMMMMMLMMMOOMMMMMMOOOMMMMMOLMMMMMMMMKKKLLMMMLLMMMMLMLKJKJKJMMLHLLKKKLMMLKJKKKKLJKJKKJJILKKKJLKLJKLLIJKLKMIIIJIJJIIKIHHHIGIJHHKIJIHHHIKKJIIJHIHHJJJFGGHIIIIHHHICHHFFIHGGGHKJGGKHHKJIIHIHHIHHFDA?<:32001-+.+*+++-+(&(+&)+((*&((%(+*)&*+&((&(%(&.*&%%.&)(&%*+*#/#+)&))1.$&**+&(%$(&"&&#(-+00../&&.+*++288FKOPTV^]]``^]^^^^]\\ZZ\]\\Z\\WZZZZYZ\\ZZZZ\]YZWZYZYZZWYYWZYWUWWWWWWYWYYWYWVWWWYVWVUWZWVWTVVUUVWVUUUTUSTVUVUTRPTRRRSTSSRSTPPPSSPPRRSPPORPRPPPPPPRPPPOPPOPPOPSRPPPPPRMPPOPOPPMMLMPOPLPOPMMMOOPMMMLLOPPOOPMLMOOOPOOMMOOLMMMMMMMLMMKMMMMMMMMKKLLMMLLMLKKJLMLKLLKJIKKKKJLKKJKKJMLKKIKIKIKHJKKJHHKKMIJLKIJKJHKKJJJHHIJHHHIDIIKJIIIJGHIGJGHILGHGIIGHIJJIIIGFHIHIGHEJGFHHHGGHIGHJHIIKFIIHJHJFD?A?:5210-/2++.+..)++&&)+*&&()+(()&(&%++&&)+")((+)%&0+*$&&(+&(!#(-&$-*&#(*)%$!&%"$%&(+&(*-)2-(&.*())+*7<ADHPSW^]]Z^^^^\\]]\^Z]\Z\ZZZZZ\ZZZZYZ\ZWYZZYZZWYZZWWUWWYZWYTWWVVWWUWWWVWWWWWYVWVUSVTVWUSUVVTVWTTWVUTPPQQTURSTRQSSSTRSRPRRRQQRPQQSPRRSRRRPRPRPRPPPPOPPPPPPPPMOPPPPPPOOPPOOOOOOMOOOPOMMOPOMMOJKMLKPOPMKMLOOOMMLMMMMMMMMMMMLMMLMLOLMLLMMJJKLMMMMOLMKKMKLLKLKJKMKKJLLMKJJKLILLJJJKLJHGJHJHIHJMJIKIIKIIIHIKIIJHGJJHHJIHIIIJIIIIIJGJFDIGCHFFJIIHIGHJLJFFIGHIJGGHKJGILIIIGFHHJIHFHJJIHHJLGDDEE??:80310.+/-+**&)*+-&%()+&)&&+&&#(&)&(*(+&)"")*++&%&&&+-++)%%.+&&&(*%#/&$+0%%%)()*&%+...)-+((-(/13<:751+.1/**-+*-&&+(**)+&())$&%&(%((&))++*&%))(&%&+&&-+(&($%)(%*#*())&&*&#%$"")(%(*++)&.++*+()0*&-55CFHMMUZZZZZ]ZZZZ\ZZZZYZYZYYZYWWZWZ\YZWWWWZZZWYYYYWWWWYWWWWWWWWVTVWVWWVVWWWVWTSTVTUUWSUWVUUSUUUSTTSRUUTRVMQSPPRPSPRRSSQPRRPPPPPRSPOQSPOPMTPMRRPPPOPMPPPPPPRPMOPPPOPMMPPPPOMPOMMMPOMMKMMMMOMMMKLKLMMMMMLOMMOMMMKMMMKKMMKMMOLMLMLKMKLLKKKLKIKKLLMKKLLKILLJJIJIJLKMKJMJLKKIKIKMLJJKJIJHHJIIIJHHKJKJIKIHJJLFHHEGJHJHIEJHGIJHFGJHHKHIIIGIHJIIIHIBIIIGIHFHIIKIEGHJGFGKGHGIIEGJIIIHHIGEFIJGHICEF:8/122.++00+*-*.%.*+--+.)+())%)&+*%$+()&)&*+(&+)-)+#()%%.*+*.&+)!(&&(&$##$&.)&&%#+$/+(02$(")(!&/58885000-/1-+-++)&%&+.)*&+&&$&)+(%(&+&"&&)*(&+)+%$!&+-+*-&&**(.+&#*"(%%&)+./&(*+))#$)&(*+)18>:57/+./-*+*-2**((.0(+)+-$)(&)*&$#%&*()((&)"+&+#&)%&)%#%&+(%%*&($%&&#%%!#$$!%+(+&&++)-%.+#&!&+5:?<831.++/+*+%&-+***)++(%%)+(%$#(++(+%&))*.()&((%(0)&(&!%%&+++.%"+1$$&$%)+++*-%)))(&%+*&!&0::882110++**)+0*+)"&+()+&&&$()#)**)-((("!)$&&+%$%&&&/*#&&&&)(&((%((("")$"&%!#&"&+++&$+--&)&&&-138?EDKMRVVVZZWWWVVWZW\WWTWWWWTUTSSUVTUWUVUUVVUUVUUSSSTSTTUUSTSUSSTSSTTTURUUPTSTRUUUTRRRPSSTTRPSPPPRRPPPPPPOPRSPTRRPRPPPPPSPOOOOPRPPPMMMMPPPSPPPMMPPOMPLMMMOMMOMMMMOMMOMMMPLMMLMMLMMMOMOMLLLOMMOMMMMMKLLLMLLLMJJJKMJLMKLMMKLKMJILMKKLJIIKLIKJKKKILMJIJJKKLGIIIJKJHLIIJJHIIIIIHHFIIIHICIIIFDGIHHJHHKHLKIJJJHHJGHJIIIIJFHGGJGHFIHIKIFGHFHHGJHJJGIIHGGFGHFHHGKJIHGHIMLIIGJJJGGIGHHGHHGIJKIGJKHFEBC::<7/-5+(()-+/-*+.++)&!&%(-)*-"(+++&(*(*()+&+((+++"(&&%*)%+&"%%##""#(&+&"&"+%)++(+)&&(&+&37A?GHMRUUVWZWWVWVVUWWWWVTVWWUUUTUVTUVUVVUUUTUSSVVUWVSSTUTVUTVSTRSTUSUTSRSSTTTUTRTRRTSSSRTSSPOPSSSRPPPRRPMOPRRPPRPPOPPPPOPOPPOPPPPPOOPOPMOPPPOOOMMOOMMPMMMMOOMMOMLMMOLLOMOMOLOMMMMMLJKMMMKKKKJKMJLOMLMLLKMMKLLKKMKLMMLMKMKLLLKLIJKLIILMLKKKJJILIJJJJJKKJLKIGIJGIIJJIIIIIJIIJHJHHHGGHHIJIJJIIJHHIGFIFIIJHIGGFGGHFHJHHFHJIIIIHIHJJEFIHHGHGGHJHGGHGGIIHHIHHGGIHIILMIFIHGKKJHJEHIJIIGIIKJJJJJJFECA><882/.(.2.0+--*)&)&()))&%*)%(&((*))(.+(*))*&+)%%%&-+&*&#$#&&+%"(&!$$&"#&&)$*0(++)+&+)-+(&(&$+02:EIKMOUVWZZWWZWYZWYYUWWTTWVVVWTVVUSTUORUTTUUTUTRURVVURRSUSRPSTTRTSSPPSUSSSUVRPRSRMRRPRPOQRRPPSPRROPPOOPMROOPOOPPOLPPPNOPNNPOPPMONOPPMMMMMMOOPOMPOMPOOKMOPOMLMMMLMKMPMMMMMMMLLMMJMMMOMMMLMMKMLLKMLLKMLMKLLKMLMLLJKJKKJLKMLKLMLMLMKKJJKHJJHIKLLJKLKKJIHIJLHFHKILJGJIFFHIHFHHHIKIHGHHIIIJIHIKGGHFHHJHFJIIJHKHGFHHIIGGEDHFIGFHHGFDFKKHGKIIHIHHGGHJJHIEKHFGJIHFHJJKIKHGGJIFGIMIJIKIHHLJHHHHIKABCB??7550//+/+++///)%-(#)*+)#-)&+&&+)*)**%&!(++)-&&-*--)&&&%*&#&$&/%&!"#&(())"!&*$****./(&*%$(**35758//0-/-%*0)-+-*&++&)+++#&&*).++++%&$+&((*)**-)&#("$%-(%)&&*(("+$+$$&)**+)*()+*$&*&*&-($():8?BEJPPUWWYZWWWWWZVWWSWWUUTTUVTWVWWTUTTUUVSUVTUUTRTSVUTVWUSTTRSRUTTVSSSSSSRTSTRRRTPRPPRPPSRUSPPOPPPPPPPPPPPPPORPPRPPPOPMOPOOPOOOPOMOOPOOOOOPMPPOOPPMPPMMOMOMMMKKMPMMMJOMMLMLMMMLMMPOMMMKKLLKMLLMLLLKKHJLLJKLMMIJJLMKJKKLMIIJMKKLLKKJJJLKLKJMLIJJFKKLIJIIJJLLKLFILJKIIJKLKHHHIIJIIIIGHIIJHIJIIHIJJKKIHGGFHGHIIIIHIHFIIGGHGJJIHHHIHJJGFFHLKKJJFEIGFJIEHJJIIHJGHHJKGIEHJJGFEHJJGIHKGJJMKHIJFFDCCB<25-00+0)1.&$+-+++*(**#)#++*(+&++-*#(*-.-(.&+*)($&*$(*#)*.+&*+#&##$&!)#)&&&++*&)(&+&&+&*+)*+<:CGMOSUUWWWWWVTWWTUWUTVWUVVURPUUVTWTSUTUVTUUUVTTTTTTTPTSPSTSPSTSRSRTSTUTSTPPPPRPSSRPROPPORSPPOPPSOMPPMPPPRPRPPOOOOPMPPPPPPOPOMOPOPOOMMMOPOMOOKMMOOOOOMMMOMLLMMMMMOOMMMLMKMMKKLMMKKMMMKKKLLLKKJKMMLKLMKLMLLKMKMLKJKIKJKKKKLJIKJIJKJJJIMMLJKKJKIKHLKLKKLKJIIHJJJLLJJKJJIHKJIFHIIIHIJIJHHHLKIJIIHHJKIDGGHFFDGHIIHGHGHGHGGIIEHIHHEFIHGFFIIGIIJGJGGHGGGHHIHHIIIGHJIJJHJKJHIHJJGKIHGIJJJHJHGFHGGBCB?352/01/+++*)*++++*&)+++++*+)&&&+("&%%+&**)+)(&&$)((+*)#&$$-)%()$$(%$&+&%&*+/-)*)#"&&&%("%+)*()85?FEMOTSWWTWYWWUWVUUWWVWWWVTSSTUSTUTPUTSVSUSRVRTTTVTSTTURTTUOPRTTUPSTSVTPSRPRPRSPPPOOPRPPRRQPOOOPRPOQSOMOPPPOPPROPOMNMOONPPNQOOPNPPMMOMPPOMPPMOMMMOMOMLMMMMMMJMMMMMPOLMMIMOKJLLKKMMLMMKKLLLKLJKMLLLKIKMLMMMLLIIIIKKLMLKJKMMMMJLJJIIHLIJIJIHKKHIHIHJKKLLLMJGFIKLKJKMLIJIJIIJJJHHGFHIHJHHFFIIJJIIGHHHIGIHJKHIHIIHIIIDGIJIIFHIIKJJHGGEGHHHJMIIIHGJGIIHHGGGHHHHFKIJJJKHFFJHJJHGGIGIJGHFGKLKIFCBECC88:51225++++.+&&..+*+/&&&(&&"&(%+++&&&(&&&$+++)*(+$&*+-+)%&%&&#(%!%*%#(+"&+&&+(&**)(#%(&*+*2*8AFILOSTWWVWWYWWWVVUTSWUUUTWWVUVUUVUTUUTSURTSRSTTTPTVSURSSRSSSRRTSSTRPPPPRTRRPPPPPSPRRPORRRQQOOOOPPOPPPOPPPPOPMMOPPNMPONPPPNPMOPPMOLMOOMOOMOPMMMOOMMMLMMMMMMJLMMLMMMMMMMMPMMLLLJOMMLMLKKKLLLMLMMKKJMJJMLMMLLMKKJILMOMLLKKKIHJKKJLIJIKLJKKKKIIJIJKLJIKJJIJJHILKHIIKLGIJJJKIGHHFIIHJHIIJKIIJHGJIIJKGGIJIIGHHFGGHGGGFEIIJKHGIHHIJHIHGIGGIHHEHHHHHHHHIJIKGHKGFHHHIJHJEGGFEHHIEFIGHGIHGHFLIEGFGFCDB?<:52/*-//+.)*)++%%--**(*&(&&++#&-%(&((&&**$$&($$%&+%&&&&&+.*&)*&*(+(&+-*(&()!++.+++.*&&"%!*0/<252-&**)--.)#&&++**&($(++&("#**)-+$#&((&+%).&$&(&$%&"&!*(.$&+*&$+$%*)%$&+%*$++&&%(*)+!%"&*.3<>JKLMUVWUVVVSWWRSWUTTUTVVVVUSSRUTSTUSUTTRSSTTSSUTSRPTRSSPTRRSPRPRPPRPPORPPPRRPRRMOSPOPRPPPOPPPRPPPPMMMPPOOMPSPOMOMOMPOMOOMPSUOMMMMKMMPMMLLLMMOMMLLOMOOOMOMMMLKKKMMMMOMMOMMOPMLLKLLKKJIJJMMLMJKLKKMLIIJLLJLLKLJLIJKJIJKKKLLIJJJKLKIJHJJJIJJIJIHIKIJKJKJJGJGIHHJFIKJIIGGGCIGHHJIJIIHGJHGIIIIJHHHIJHHEJHGGFFFHGFJIIGFGGFHHGHJHIHGEJIJHGHJKGIGEEHGHFGHHHHFFGIHIHFHJIIHHGGIHGEIGHJIJLHIJGGHIHKJIDC>>:78120.-+++1.-*++-+((&&++++(()&)*#+(%&)+#&$(-&%$*$#&-)&&&&&)1/0--)+&(+&22+))$(-$++((-(+(#&%$(22>BEKMPRVUUWVSTTSUSTSUUVVTVWVSRTSPSTTSTTSTTRUPTRTUTUUSURRSSRRPRRTROPPPPRPOPPPTTPRPPPPPPMMOPOPPQSRPOOPPPPRONMPOPMOPOOMMMNOMPLPPLMPMMOPPMOMMMLLMMMKKLLLMMMMMJKMMMMOKLKMLKMLMLJJLMLKLMMIILLKLLJMMLLKLLMMMLLMLHKMKMMKLKLIKJIIKLKJKIJJMLHJJHJKJJKIJJIFJJIKIIGGHIIIGHJIIJHJGHIGEJFHIHGGFKHJIJJIIJLJJJHKKGIHDIGEFHIGIHIIHHHGGHHIDDEGGIKIHIIHGHHGHHFHHIHFGGIHEIECCIHIJLLIHHJJLIGHHHJGHGLIJIJKJJKKJHEEFBB?:5211/0+++)*++(+-+++++%#+&&&&+&)(("(+++&+)&(*&)+&##&$&$()&(1%(*&)(&+*"#($*&&$&(#%%%$%&&!&(+25<:8210-+1+*.1*(*)(&#()&%%*#)&)%(&&$%(+$+*$!*$+(&+&)/+%(#-))&!%+)(+%&(#())$&+&&#(&+&&!&*/::721.-++.+..***&%*)%0+&&(**)*+(&&(++)$**#+*(+%*$&%&+(&&(&/&&+*")(%&))$&(!%$&&)&%&"&#(()01:EIJLSSUWWUUTSUUTWVUSVRSSSTWRSSPUPPSUVTTSPTPRRPPUTSPPPRPPRSOMSSRSSSSMPRRROPPTPOPRPPPRPPPPRPPONQOOOQPPOOOPNOMMLNMMOLPMKLMMJLOPNMOOKKMMKIOMOLMLMMMMLMMMKMKKMMLKOJMMKMLLKKKLKMLKKKJMLKKIJHJMLKMJGKLHLLLJLKLKKJIHIJJJLKKKJIHIKIJKKIIKKJKKKIIJIKIHIKJKLKHHHIIIHJHJKJJKJJKJHIKIIJJHIKIHIHGFHHHDGJHJJGGHJIKHHHGGGIHDIJJIGIIJIJHGIIIGGHIIIHHFGHKIDFHJGHGJFIHKIHHLJFFIJIIGHIHHHGHJGHJLHIHJKFEJJIIJLIKHGGHHIHED??<:3522/-1-().*/*(+)*(&(&&+&)&+%&&$(&&)+&%.)+**%"%&-+1*(&&)*&(&)*"$&&$((&$&""!.12:?BJLOPUVUWVUUTTVSTRSTYVSTSSRSSSTSTUPUSTRSPSSRSSSPRPPRPSRSTRRRRPPPPRPRRRPPPPPPPPRPOPRPPPPOOPPPOLMOONMPPMKMONOMMNMMPMNPMMMMONNPOMLMMLNMLLLOMOOMMMMLMMOOMMOMMKLLMMLMLMMKIKMKOMLMLKMJKLMLMLMKJJJKLLKIGKJLKJMLLJJIHHHHHHJHHIJIHIJIGJIIIIJJHHIIIIJJHJJIGIIIJJJIJJJHIGGHHHJIFKHHIJHJIGHJJJHHGGHIIHIHHFGGHHGFGIIIGEIHJIIIIJHGGIIHFGIHEKHGHHIIHHEGGGGHHIFHJIIJKIIHHJJIHHHIGHIHIJHHIGGHGIGIHHHFEHIJGGHIIHIHHHGCDEB?83550*)+*)&-0%(+(&+$&**&%&-&&()$&*%&(*+$&""$&&&!%($&)$)%*&)(*-)+*++&+**!&!#%./2:?DKMLRVVUUUVSRTVTTVUSUVWWVSSSVPSSUTSPSSRSTRSPSURSSSSTURRMPUTPRTRRPSSOPOOPMOPMPRPPPOPPPPOPMOPPMMOMOOOLMMMPPOPOMLOMMOMMPOMMPMPOOOJLLPMOMMMMMLOJLMMOMMMMMKLKJMLMMMMMMMMMKKLLKOLLLMMMLJJLLKJMLLJKLJJKJMLKKKKKIIKIKKJIJIHEGJMFHGIJIJJLHIIKMJKJIJJFJKHJKGFGJIIIGLKIIIGIIHGJJIHIGGJHIIJHJJJIIIILJGGGJHIGGHIFIJIIIIHGHHGHIJIJHJEFGHHIHIDGIHFHJHGEGGHHIGGHKHHMHIGEHJJJIEHIIICIHIIGIHGKFHGJHGHHLIGJIDFEGHIJHJIGEEGB?<:5025/(02-+).++)$++&+(")*(&)*3/%-((""&"$(%&#&&$*)&#$(&*&$&)++(&(&&$!&)"#&*&2:BGJOPPSVVVVUUVVVTUSSSTUVVTRUPTSTSSSUUSPPPURRRRRSRRPSRRPTPSSSRSPPPSOPPPPMRPPRPPPOPPPOPPPPPPOMPOMPMMMOMMOPMKOOPOPPPPOOOMKMOMMMOMMLMOMOMMMMOMLMLMMMOMMKKMMLKMMMLLMKLMMLMKMLKMMKLLLLMLKKKJMLMLMMLLKLKIKKLJJGKMLJKJJJKLJKLJIGLKGKJJJLKLIIIKKHIJGIJHIJKIJJHFHIGGHKIJGIJIJJGJGJJJIGHHGIKJJJIIIHIGIIHHIHIIJIHFHFGJHHIHGIHHIIHJJGGFHHHKIHGHHGIFGHKIIHJHILHEHHFGIIHHHIJHEHGHJHHHGHHGIFIJHFHJIIHKIIIFGGIGHIKHHIKDFDE??>:721+1.()-+&)*+-+&)+***$&)*$%"*%*%&(&(!$"&&(&%&)&&))-$($*+$-$++)(-*&&&##$&"#*)-08AEJHPSVUUWUUWUTSTVWTSSRURUVVROSRSPSSSPRTSSPSPRRPRSRMPMPUTSSSPRRRPRPPSPPPRPPPRRPTPPRPPMRPPPPPPOPPMMMNMONNMMNPOMNNKPMOPONNMRNMMMOMMLLNMMMMMMKLMMMMLMLKMMLMOMLKMMLMJKKKLLMMKMMLMMKKJKMILKJKLJJKIKKIKJIKKJJHJKKLIIKJJIJKIKKIJKJLKLKKKIKJLKJGIGIHHFKHIIIHHGGEHJJJIHIHHHLJIDFIJKIKHHJJIHIFFIIIHKIHHHIIHHIJIDKHJFHIHGIGJIIEJIHJIGDJIIIKJIIHIGIEFHGIJHFGHHIIJJJHHIJGHDGKHHHIIIHGEIGGGGIIIIEGHGHJJHGJMIFEFJHJHGKJGGDF?><>:222/1+-0/0/-+-+*&&%&+*(&/+&()-&#&)*%(*#+)*%"&%$!-&"*))&&(+))*&&&!$"(%+/8?DGHPPPWVTVVVVWTSVTUUPSTSTSVUUUSTSSTSSRSPSUTPRRRPRURPPURPRTPOPPPTSPPPPPPPRRPPPPPPPRPPPOPPPPPOPPMPRROMMMLNOOMLMPNOOLMNOONMOPMLMMMMMOMMMOLNMLNNOMMMMMLMMMMOMLMMLKMMLLMLKJLKLMLLMMMMKIKKLLJILJJJJJLJLIJJLMIJJKKIKKMLJJJKIKKJKIJJKJJGJKHJKJIHIIJJHHIJJIIHJJJFJJHJGHGHHIJHGJGIFJJJJJHIIHJIHGGIKJIHIHHIFFGIHIHGJIHHHHIIHHJKKJHGJHHHHHGHIHIIHIIDGFHIHIIHEHJGHJGHHHGHHJFHHHHIIHFFGHIHGHIHHFJHHHJIIJKIJIJDHHHHFIIIHHGD??:::01-+//**-+++(%--*(#%)&*%+.+&(+&$%&%-(%#%*(%(&$%&#)$+1.+-+**.$%+"&"#++.3>>:7/0+1*10----()+&++*-&(*&&&*%+!+&%$$#&%((#&&(%&$$%#)&$$-(&+%&(#%""%").28?FGJRUUTVWWTVWVVTSTTTVUUUURRURUURTSRRRTSRPRSRRUSRTRSROTRSRTPSPPRRRPPRTUPPPPORRPPOPPOPPPRPOPOPOOOOMMOPPOMMMMMLPMOKOOMMOMOMMLLMOMMOMOOOKLMMMMMOMMMMLMMKMMMKMOMKKMMMOMMMMKMMMMJMLJKKKKLLLLIKMMJKKLJHJMKMLKLIGIJJKGIKJKLKJJJKIKKIKIHGKKHIIJIIJJIGIFGIJHHKGIIIJIIIHJJJIIJIHHJKJFIIHIIIHGIHJIIIJKGFHGIIIIHGGKGHFGGHIGHGGJIHHGGEHIHGHGGGHGIJIIFGHFHHHIFGIFIJHGGGIHKGGIIIHHIGHHHJHFGHGGGIJKHFHFGHHIKHFIJHKJJJHILLHJJIEGGC?<<<.-...*-++--*(-)*)&&+*$%+&&&+&)++&&&((#!"#)&+(#&$%/"&&/&#&+##%##&&+(7>AGFPPTTWUUVWWTVUWYWTUVTUVPTTVVUUSRUUUUTRRPRPPURPSPSSTPPRRPPPPPORSPRRRTSSRPRSPOPRSRORPRSPPPPMMPPPPOOOMPOMMPNMMPOPPMKNOPNNMPMNMMOPMLLJMMKLPMNJLMJMLMKOOLMMLKMKLMLMMKMMMILKMMKKMKILJLKKKIKMHJMKMKJKHIKLKLJLKIIJKKIIKIHGLMLKKKIKKJJJLIJIJIKJIKIIHJKJKIIGIHIJJIIHGHHHHFIHJGGIIGILJIJJJHGHIGEFGKFHJIGHIIHKIGLIHKFILJJIHFIIHIHJGHIIHJIJIFHGHFFIHCKKJJKIGIJGEDIKIECHFGEJHIGFGJJHFIIGHFFIGIGGJGHCIIFIKDEJIHHIIIHHHJKGHJGHEB?<:?:.3//.+++/++(+/-&((0**+/+.)#(0)%#&*&(-)()"&($$#+#!!()+$%&##%$"#).)5:BGKPSSTUUWUTVWVTWUTUTTPSVUTVVVWPRUSSPPPRSSSROSRPSRSSRRSSPOPRRRSRPPPPRTSPPPPPPPPPSPOPPPRPOOPMOPMPPMMMOMPOPMLNMMMOJMOOPPMMNPPMNOMMMMMOMMMMLMPLMMMLJKMLMMLMMOMMLLMLJLMMMKMJLLMLJLMLKJKKKLJKMMMMLKLKIKLKMJJLKJLKKJJJJKHGLJLKJHJIJJIHJJIHJHJGLKIJIIHIIIJJIIHIIJIJIHGJJIHKIJGGJJJJGIILGIHGIJIHFFIHIIIIIIIHIIIIFIJKJJJHHJKHJIIHHHGHHIHGIIIGFGGHJIGHHHHHIIJHIGHIJHJKIHFGFHGIHHHHGHHHHJKIFGHJIIJJEHGFJGGIIIGGIIJKHIJJFIIGEEEC<::8521--++*&*.(+*)-.*&)*+)($)(.)#!""&&$(0"-%(*$+**"(*2*&&%*(#%!$*&-+3?<8330/-.--+1+-0+(**)()+++#"&()&+-#))%&+(%&(%#$!(%%&$#%-!$#&+-+3IJPPSWWUWVVYVYUSWVVWUTTSSTUUUVTTMMSVVTVPUSPRPPTPRSRRSPPRPPOMRRRTRSTPOOPRRPPOPSRPPRSPRPRPOPPPPPPOLMMPOOOMPMPPLMPPMPRPLOPMOOMMOOMOMMMMLMMMMMMMMLLMOMMLLMKKOOLKKLLLLKMLLKLKJKKKLKMKKKJKJJLLKJLMMMMKHKLLKKMLJJJIKKJLKIHKIHEIKKJHIKLJJJKJJIJKJJJIIHKJIJIJJIJHJIHIKJHHEHEGHHJJIHHIJIEHEIIILIHJHFEIJIJIJIKGGGGHHIIGHHKHJHIGIHFIGIHHHGHHIJIHFGFIIKGIGIKHFFEEIGHHFHFGHJFIHHIGFFCIKHIJKGHHGCFGHHHIIJGJHHHFJHHFMKGIJIIJJHHIKKLJIJJKIIIJKIEEDC??>72520.+++-.)*+(()&("**)(*+-*#(*##%$+-")(.&&&##&-/)>FDJROPTUSVUUVVSUVUVTVUUUSSTURSSTURVWTRSTTSRSTSOPPPOTSPRRSSRSRRSRRSTRSRPPRPPRPPRPRPRRPPMPPPPPMOPPORMOPOOOPMMOMMOOMMMMMOPMMMMMMMMMLLOMMMMMOMOMMLLMMMMMMPMMKMMMLLMLLLJKLKMLMMMMKJIMLKKKKJLJKKKLMJJLILMKKKKKIJKHJLIJKKKKIJKKJKJKGIHKLJIIGIIKKJKKLLJJKJIIJJHIJIJIGIIHIIHKIGHHHGGGGIKGGHHHIIIHIIHHGGFHIGGIHHGGHHJGGHGIIJIHIGJHHIJGHIIJHIICFHIIGGGHIHHGHGFGHIHIIHJFFIIKJJHHHFFGHHHIHGIIIGIJEIIKHEHHIHJGGHIGHJJIIKKIJJJJIJJJJKJIJIHIJIHFHEGBA?<:52.+31-+.+%))(*)+&-+-%&+#$++!#(($&&#%)&&%!)&#%&)0.3<72**0---.+*(++*%&"+()++#+%%"*&&(#"&"&&#)%"%&%875?IMPOPUSUTTWWSWUWTTWSPRPPTUTSTURSVRPSSSTTSRORRRRSPTSSTPPSRPPSRTSRORRUVTPPRRPPRRRRRPPPPPPPPPMMOMPOTPOPPMRMROPPPPOMMOOPPOOPMMPPOPMMOMMMMKMMOMMOOMMMMLJPPMMMLLLKLLMMLMMKOMKKJKMMLLJKMKKKOMOILMMMKJKJKLKJLLIHILJIIIHKJKKFJIKIJJJJIKIIJIHIJIEIDHJJHKIHHKJHHIHHJJKJIHIIIIIHJJHIJJGIIJJLGJHHIHGDHHJEEHIDGHELGJGIIKJIHHIIJHEIGIHIHIKFEEHIDHHHFFHIFFHIHJHHGHJHFIHJIHDGGGHGHGFGGHIGHHGGIHHHHIIJJGIKGJHHFFGFFJHHIIIHHHJGIHHHFJJKIJEKGHKJIJIJEHJGFECBC<71131.//(+++)%*-(*+*(&&++/-(&""&&(./!%(&$!$+.75830/.-.-+.+&%+-++-(((&#(%(#**#+"&&")%%(.$&"(/2383251021.0)"&&(**&(+&(++)+$$&$+)#(%"(#+&$)$<:DGLMPMRSWVSSUUYUUPVUVSTSSRRPTPPPSRSRPPURSSRPSPPMOPRPPRPOPRPPPRRSTRSRSSPSTSTPRRPRPOPPRRPOPROPPPPOPORPOOMOOOLMSRRMPMPMMMMMMPOMMMMLLMMMLKPPMMMMLKLMMMJILLOMMMMMOMLJILMKMIKLMMLJLLLKJLLKIJIJMKKGJLIJJJGLJLKLFJLKMKKMMKHIIIGIJKJIFKJIJIIJKJIIKGHIHHEKKIHJJJJIIIJIIFJGIFFHHHHGHFGIHHJFEFHEGFJGJHFGFHHGGHGHEIJFJIIJJJKGIIHGJJKHFIIGGHJHIHGGHGGHHIHFHHEFGIHGGGGEHHIIIIGHJFFHHHIIFHHGHHGGGHHHIHGHHHHGHHHGIHFHGKIHJIEFIIGDIFEIIHGILJIJJIHJJEJHGILGFDGE?AC?<:5222..+-0/./()$)&++*+*)&$&+*+)&$(&&+%&22?EKOMTSTTTUVSUUWVUUUTWVUVTTPTVTPTPPRRSTRRSTRPPRSPPRPRRPPOPRSPSPMPTRPPPPPPRPPRPTVMPPRPPROPOPRPPOPPROIOPPOPPOLKOPPPMOMOMMPMMMOOOOMMMMMMLLMOLMMMOOMMMMMPMKLKLMJLMMMKMKLLKLLKLLKKKMMKLMMLKJKKKKLKLKKJJLIIIJMMLLKKIKKLMKLJJLJIJIJIJGLJEJKJHJJIIKHIHKJHLKKIKKIHIHHGIHIIHIHIIIIGJJJJEIHHDGGIGIHJJJHIIHKIHIHGGEIEEGHGGIJFHHGHHILIIGIHHHHIIHIFGIIHJIHGIHEFGHIIFGHIHIHHIIIHIKHGJHGIEIIHGHHHDGHHIDFHEGHFEHHGHHJJHGIFFFDIIIIHIKJHGKIFIKIIIKIHKKHHJHIJDHJHEDC??::852.0++*+2-.++++(0+*(%&!%$)-+&&&#$(+**((#$:IAGKPPPWTPRUUVUTWUTUWVTSUSTWPPURTPTRSROPSPRSSSSRTORRTPPMRPMKPOPSPRRPSSRPRPSPRPPRPRSRRPMPROOPOPRRMPKORRPMPMPPPPOOPLFMOMMMMMPOMMMOMMMMMMNMMNMMMLJMONKLMLNJINJMOLJKMLLLOILMMJKLIKKFHLKMMMLMMMJKMKKJLKKJMKIKJHJLJKLKKLGIJKIJGJJHHHHGJJKIJIIIHJIIJKKJJGJLIJIJJKKIIGJIIIIKHIJGHJIGGHHHKHGHFHKJFJHGIIKJGHFFGHFJIJGJIIFGHKGEEGKJDFHGGIHFIKHGIHFHFGFHFFIFGGIGHHHHIHGHHFGCHHFIFFGFHIHHIIIIIIGGHJIIIHHGFHCFHHFFGGHHHEEJIGGIFFIHIFHGGKIILGFHJHJMIGHHGGJKJFHGFBD>5:255+0++./($&-&#(*+$$*+%"&/)#)1++&$&)&#?FJIPPSUTTSTTVUWTWTTTUTUUUWVTUSTPTRRPPPURRSPRPSPSPSSSPSPPPPTRPRPPRSROOPSPSOPPPPPPPROPPPOPRRPPOPPMOMMMPPPPPOOOPPPOPOMMMMPMMMOMMMMMOLMMMMLMMLLOLKLLMMLMMMLMJJMLOLLLMMNJMLKIMKIKLKKKLLKKIKJJKIJJKLKLKJKKIKJIIIJJLKJJJHIIKKLKKIJJIKJHIJJIJJJLKIGGIILJIHIIIHHJIIIJGHHIHHIIHHHHHJJGHHGIIGGGFFGFGFHHIGKLHGIHHGIGGJHIGIJHHHEIFHHHFFEHHIHGHJHIHHJEFHFGIGFGEJIFFHIHFIEEGHHGEGHFGGGHFGHGGIFGGJGHHFDFHHIGEIIFGFDIGGHHDJIEGIGFIIIIIIIGFJFIHIHHHFGKEHJKJJJHHHHF?A><8:305///+++)(&-*&"%&%.&&+&(*&%&+&!%%$(&$JMOPRPOTVRTWUTTRSPRVUUUYVTWVRSSSSPPTTSPRRPROPRPPPRPPRPPUPSRTSSPPPPOPPPRLPRPPRPPPPPRPPPPMPRPPPPOORPOPRMRMMPPMMMOPMPMMLOMPOOMPMMOLMMMOMPOOMMOMKOMMOMOOMMMMMMMMLKLMLGIKKIMLMIHKMMIKLKLLKLKKMLJJKKLLLJKLJLMKJJKKJIJHHKKIIIKIJIJLJJKJKHKIIIHIJJIHHJKJIHHEHIHHIJHHJHIHFHJJHHIHGJJEGHIHHHJHGHGHHGFHHIIGHGHIGHKHGHHHGHJHHGHJGFIIGHJFFGIJIHIFIIIHHGFEHFGEGIIHGHIDHJIJHGFIIHHEGGFGFHGHGGFFHHGGGJFHGFGJGGGGIFFIIFHHIJEIGHGIIIIJIKGHILHDKJIJGGEFIIIHHGIGIHGEBEB7782--010++++%-.)).%&/)&(&&++-+)&&/0$$$#!MPTSRRVUSVUTTTUTSSVSRTSTVSSTPPRSURTSSPRRRPROPPPPPRRRSTRPRPSRSMPPRPPPPMPPSOPPPPPRMMRSPPMOPPPPOMOROOOOPOPMLMPMMMRMMLKMMOOPPOMMMMLMMLOMOMMMOOKLOMMNOOMKMLLMMMMKMMLKLMMLKLLKMLIIMHJLLMJIHLKJLKIJLKLLJKJKJKJKLJJLKIKKLKJKHGIIKJJJIHIHHIKKHJJJHHHJIJIIHHJIJJGHIHHIIHFGIJJJHHIIIIHGGGIIGHGGJFGFIJIHIIHGIHIKHHHEHHJIHJHHGHJJKHGIGFHIIHGHHHGHHFHFGIJHGFFEHHHHHIHHGHIHHIJHGIIIFEIHGHIFIHGGHHEGHIGHFEGGGIGFJGHHHIHGEFKFHGFGHGFGIIJJFE?IIHIHHIIGHGFEHHIIIHEFFFDFAA<77551/..0-(+(*+++)$(#++&&!$))!+&((&(&$"PPTPPPSTTPTTSVUVUUTWSSRTSTURTTTSSUSSPPPPSSRPRPRPPPRRRPRRRPRPOMPPPPRRRSPPPPRPSPPPPPPMPPPORPPMOMPOMMOPPLOPPOMMMPOMLKLMMOOMMJKMOKOOMMMMOMMLMMLMMOMMOOMKMMOOLMMKMLMLMMKMMLMMKIMMLLKLJLKKJLMMMLLJKKJKLJJKIJHJKKMKJJJMJJJKIKIJLJHKKIGLJJJKFJHGIFIIJJHJIIJIKJKJHIIIHJIIIJHIJIIIGGHIGHIJHJIHIHGHHIGHGJIIHJJKIJHGHKIIHKIHGHGIIJFHFGIKIIGIIGFHGCFHGIDIGGFJJIFIJIHHIJKHIEGIIIHIJHIHHGHGGGGFIIIIHJDIHHHGHGFHFKHFIECGHHIIIFHGHEGGHFGIIIKLHBIGFGGJJIGEJHIHGHFGGICDE?>:8<80..&++-(+*))-)&"&(%))((&&"*)&($$%#!+MPTTSRRRTUUUTSPTSTUSPPSTUSUVUSRTTPSSPTSSSRTUSRPOPORRSORSRPPSSRRRRPPSRPPOOPPOPPRPPPOPPPOPPMMOOPPPMMMPPOOPPOPPPOOMMMOOMOMMMMPOMOMMMOOJLMMMMMMLJLLLLMLOMMMMMOMKLMLMMMMKMMLMLLKLLMLKKKKLJJKMKKKKKKLLMIJGKHJKKKJJJKHGIJKJKJJJJLJJIIGHJKILKJIIIIHIIHHIHJIIIGLJIGGHHJIGJIJKKHJIHFJIIIHIJIIHHGGIHFFIIIHIHHGKGGJHIHGHHHIGHIEIHHIIHIIKIGHGFHGJIIGIGIEGHHGFIGGHIGJHHIIGHIGGIHIHIIHFGHGGHIFIFHHFGHIGDHJJIGGIIJGGHFFFHGFIFIIHGGHFHGHDGHGJKIIEJJIHHFFGFHHIGBCFHIHFC??<<85250..10*&+($&&)&*+*%"+#$%"&$*+!&#LRSRUPUUTRWWPMRUPRSRSPSVTTUTURRRRSPSUTPPPPRPSVPOPOPPRPRPOSRPPPRMPPPRPPRRROPOTPOOPPPPPPPPPRPOPPPPPPOOPMMPPMOOPPMMMLLJLMMLMMRMMMOOMMMROMNMMOMLLKLNOOMKMMKLMMJJKLJLOLJKMLOHLMHKMJMMLKHLJKJKLPKKJGJLLLHJIKKJILKJKKIKIJMJJJHGHIKIJIHIKIJJIJIJGIHGJJHHKKIIKIHHGIJIJHJJIKKIHKHIJIHIIFHIIGGHIHIIJIIFHIFIJGIKKKFFGIHIHIIIIGEGFGHIGHIJKJHIIHHIGFHHIGHFGHFGHIHHIHJIHGEHEHHHGHFGFHHGHIHEJLIHHHEEHIIFHHHIHHGHHIDEFGHHHHHGGFIIHHJFIIIJGHGGIGHFHHHGFDECHHKIFFEFIIIGE??A::83530-.1)*(+&%((%$&+*%""$#"&%$%%+&(++POSSPPPRUSPTPSSTSRTSUUPSSSPTSSTTSPSRSRPRRSSTRPPPRPRRRRPPPPPSPPRPPPPPPPOSPOMSRPPMOOPOPOPROPOPOPOOOOOOOOMOMOPPOPOMOLMKMMMOOMOMMMMMOMMMMOLKMPMMMMLJMMKMMMLJMOLMMMKLMOMKMOLLMMJIMMLLJIKJMKKLKIMLIKMMKJKLKJIHJKKLMJKKJHIIKJIHIKJHHKJKJKJIIIKHIMHHJKJHJJHHIJHIIJIJKKIIJHKFJJIJIIHIJGIIJHIKHHGHHJJJHJJJIHHIIHHHIGHIIJIIJJJIGHGHGHIHHGFHHFFHGDGHGIHGHIHHGHGHIFHHGEHIHHGFGHHHIHHHGHFGHFDDHHIGDGEHEHGHJGGHFGHFGIHHHFGHHGFGHGIJHGHIGFGHHIGGEHIGGHGIIHJGIIHIHEEFCBC??:852+++/+++*.+().)+%"("#*-+&&&/$&"$)*$RRPSOSMRUWWUTUVTRUSRRSTRSUPRPTTSPSPOTPRPPSTRPPRPPMPRTOOPPPSPPMOPPPPOPPPPPMPPPPRRPOOOOPPPPPOMMPOMMMPOPOOOPPLPMOMOPOPOOMMLMOMMMMMMMPMMMPMMKMMMMMMMMKMMOPMMMJKKLMMLJLKKMKJMLKLLMLMMMKIMJGMMKKKJJJKLLLKILKJIKLMMLIHFIGIFJJHIFHHJIKJIGEHIIIKHIIJJHLIJIKIJJJHGHJHIJJJKIIGGIJJHHIEHIGGIIFJIHJFEGJLIHIIKKHGIFFIIHFBHHJFHIIIIHHHHIGHHEHHFHIHFGFHIFHHGHGHHIGIHFHHGGFGCGIIIGIFFIKKFFHJIHGJLIHHFFFIHHHHGFHEHFDFEHEFGGFHGHHGHHHIIIHFGGGGGFJCIFHEFFCFIHIFGHIGEFFEEEE?>?87532..(+.+++()&*)&&)++)&(#%#&!&")PSPOPTRSRPUTRPPSTTSUPTSRUSUOPUVSRPPRRRSPPPPPPORSRUROPPOPPPPPPSRTROPMOOPOMPOPOOORPPPOPPMPOOPMORMOOPMMMOMOPMMOMMMMMOMOOMMOMPOMMMMLMOMMMMMOMMOMMMMMMLOMLKMMMKMMLMMMMMKKJKKLLLLLKLLLKKKJJKLMILKMLLLKHLIKHIIIIKJIIJHILKJIIHJJIIEIJIJJGHIHHIHJIIJKHGIIGHHHIIIGIHGJGHJHHJIJHJIHIIMKJHGHIFHIIIIHHIIJHIHFEHJIIHHHIIHGGIHHHGHIFFIGFGEGHEGIHHJKHHHHGGGHHIIEHFGHHHGHIGGGFCGIHIHGGFHHHFHGFHHIFJFKHFEEGHFGIFGGIFFFGGGHHIHGGEFHGHEGFGHEIHHHFGHEFDGFGEIHHGFGEGDGIEEFDE??CA:5532.1-)*&*-+&"&+(#%#"$($!)&!(%%&&)RROROPPUTRPTURTTSRRSRTRRTSPPTTSPPMPPMMPPPPPPPPRPPPSRPPPPPKPPOOPPMPMRPPPMMPPPPTPOOMPPROPMMOOMPSPPMOOOROPPPOOMMOMMOMMOMOMMMMMOOMMMMMMOLMMKMLKOMMNKKMMKKLLKLMLKIKILMMIJKKJMLKIHIKJJKKKILLKJLKLMKMJHJKJJKIHKKKJHKHIIJIJIIIJIHIHIGHHHJIIGIIJKHJJJJKHFGIIGIHHIHJJIHJIGHDGIIIJHCGHHFJIFEEHHHGIHJIIIHJHIGFJHJFHGJGIHGJHHEHJJJGGFHLIHGEFIHIGEFFGGEGGGGFHDHFFJIHFGGGIHHHGGEGFJHFKJKJIGFFFGFHGGHHGGGCCFGHEHJJEDHEGHGFFIJHHFGGFFFHGFGGIFFFIDFDJGFFIGFFFFEIGHGEEGG?CBE?5882201.+-.00%%++&#-+(&##++*.+**PPMPOPOPRPRRMMRPSTVUSSPRTPPRRTRPRTPPRPPSPPRRRPRSPPPTPPPOMPPTTOPSRPRPPRPOPMMPOLROMMMOPPPPMPPPMPMPPOMMOMMPPPPMPRPMMMMOOOOMMLMOMMMMMMMMMONMMMNNMMMKMPMLLJIILLLLMIHLJKILLKJLOKJKKJKLLKKJJKLMLLMJKKILLIJIHGKKJJJLLILHIIIJJIJGIIKHFGJKIIIHJJJIIIIIJGIJIHHFIIIJIFHHGJJHGHHEHGIIFGHHGGIHGHHIHFFIFGJHJIHHHHGHIGHHIHHIGIHGIHHFIFEEEGEFGIIHGIHFGIIEFGGIHHEDFGHCHGHIHHGEFEGGJGGGFFEGFIHIJIIEDFGGGHHIFEFFGFGFEEEGGFGFGGGDFIIJGEFGFGHFFFHGEFFAFDGDIHHGIGGGGIDHHFFGAADE><<5571..+.-++*)%).+%"*&&&&)$%&%$+)%($PSPPSURPSTTMRPTPSSOPTRPMSWRRPRSSPRPPOPSMOPRPMOOMPPPPROPRPROPSSOPPRPPOPPPPPPRORPPOPPPPRMOPPPPRMMMPPOMOMPPOPPMKMMPMMLMPPMMMOMPMLMMMMMLKJMOLMMLMMMPMPLMLLMLLMMKMMLKLKKLMKLKKLLKHIIIKJIGIJLLILMMKKKJLIJJIHKJKIHIKLJIJKHJKHHHIHKIHJKIHGGIGHIHJGIJJJIIHIJIHGGKKKHHIIJIJJIHIFJIGHIGIGHJFFGGHHIIGIIHEIIHGHIIHHIGGGFFFHGJGHHJIGFIIGFGFHHGFGIHFFFHIEFHHHHJHHGEHFGAEGGHFGGIGGKHGDDGIIHDGIHFFHGGGFGGHJFGFBCFJGIIHEDFDGFGHIGGFHICFFHEDHDCHHHFGBFDEHHFHGGHFHFDFGGGCFEC??>:<712*0.--++)&*%&++%&"(--$&(*"&.($!%MPSPRSSTSRTRPPSRRRRPTRPRSSPRRPPMPPPRPPRPRPOMRPPPPORPOPPRPPPMOPPPPPPOPPPPPPPPRRPOMOPMOMMMOMOMLPMROPPPOOOLMOOMPPPOOMMOOMMMMLMLMMOMOPMMMMLMLMLKMMMMMMOMMLLIOMILKIKMOLIKLMMMLLKLLKKLJKLKMMLLJLKGKLMKIKJLJJKKJIKJKKKHGIJJGKGGHGILIKIHGIJHJIIJHIHIHIGHGHHIIGGHGIGJJIJJIJHIIJIGHGIHGHIIHIIKHGFGIHJIIIGFFHIIGGHHFHJIFHHEIHJIGKIIFHHHIIGGGFJGFBIJIFHEFGHEGFFGHLIJEGHIFFHGFIHGGHGIIHGHGFFIGGGGFHHHHIGHHIFFDEIFGEFFFFFHJHGGGEHFFGEEEHFEGEFGFDGGGIIEDGFGFGFCEGFDGGGGD<<:557(.20.)*+**/&++)+-+((&*+%&&#%!&*"#PPRSPPSRMPPSSPPPSTPSSUPSOPTPPMPPRPSOPPRPSRRRPPPPPUPPRRPSSPPRPORPPPPPPMOOPPOORSOMRKTPMPMPMMOORPPKMPPOPMMMMOPMOMMMMOMRPPMMLOSPMLMMOPMKMMMMLMLKMMLMMMLLMMMMMMLIKMLNMJJNMOIJJIJKMKIKJLJJKIILKLLKJLLJLJJKKIKJIIJIIIJIHIIKIJIHHIIJIIHJKIJIIJIHHJJIKHFFIHFIHJHGJJJIJJHHIHHKJIILIFHIIJGGIIHFJGIHGJJJGHHGIIHKHIJIHHIHEEHJHJGEEEHJGJJGGGGGGKHFDHEEHJFGFGHHGHGDIGHJIHEGGEDHIIHGGHHHJGFHHEGDDJIGJGFGGHGFHHEIEGEEEEHHGHEIIFFFGFGGEEGFFFGFFCGDEEFIEGGGGFFDGFHGFEDEFHED:FC><<550+//+*.+++)*-#**%&((&!(%%)&2-&!)PSPPSPPRPROOPPPSSSPUPOPUTSMPPPTRPRSRSPPOPPMPPPRMPPRSPOOMOPOOPPRSPRRPPOPPPPOMMPPOPMMPRPOPOOPMPPRPPLMMROMMLMOMMKJMMMOMKLMMOMOPMKLPOOMLLMMMKMLMMJKLMMLLMKLLKMLLLJKLKMNIIIJJLMKKLKIIKMMKJIKKLMMMLIIKILLIKKJIHJHIKJKHHLHIHGJKIIIIIIIJIJHIJHKHJIIFIIHHHIGGIJIHIJJHFIHHIIJHHFEHHHGGHHELHFGGHHJIKHHFGHFIIJIGHIIJHGGEGGHHGHHIHIIHGGHFDHHIHHHIGFGGGGGGGFGIGJEEGGFHHFIHGGIHGJHEGHFFFIDFFIHGGGGIEHGEGDDGFGHEFEEGFEGFFFGEGEFGEGHFHFCFHFGCDFHGIIGGEEFCDEDEHGGGFGC?EFDDAA?<8:3122/+*)(+-**+&&*&)%+()+((&##&&##PMMMOOMTPPRPSPRSSRPTSSPPPPPOTURMRRPRRPPMPOMRPOOOMMPRPPPPOPPRPPOMPRSRPOOPPOPMPPLMOMMOOLMPPMPPPPPMOPMOOMOPOPMMLPPOMOOOOOLMMLKLMPOPPMMMMMMMKLLMMOMMOLKMLLMMKLKKLKKLMMMKJJLOKKLJLLLLJLIILKPKIFJMKIIIJJIJKJJJJIIKIJJIFEEIGGEGJHHGGIIIHIJIJIIFHJHHIGJIHHHHIIJJHGIGHJIGIIIJGHIHJIHHFKHHHIFGHJHIJFIHHJHIHGHIIHHHIGFFGHIFFFJHGJGFFIGHHGIFIHFFEHFHIGIEGFHGGGIEGHHEFGIHHGFFGGGHGEGCIHFJGHGGFEBEFGHHFFEFFFGHHCFFFGEEEFGFFEEHDHGDFEFFIGDEGFCECHJGDEEFGDFGCEHHGFGFEDCDEBAD>?55230..1-+(+**%-!$+$$*&+%))%&%)$"LPPRPPSOPOOOMPPPPORRRPRPPTPRMLSTPPSPPPMPPPOROOPSPOPPPPPPPRRRPOPMPPMPPPPPPPPMMOPPPOOPOMPPOMMOMMMMOMMOMOOOOMMOMMPOMOOPMMOOMMMLLMOLMLMLLLMLMMMMMJLIJKKKMMMMLLKKKJJLLLHLLKLOPJKKKKIJJJKKJKIIKLJLKJKIKJLJKKKJJKIIHJIHKJKIHHGIGHHGGHKIGIHFHHIJIGGIHGFHIIJHIHIIGHHHHHFGGGHHJFHHIIHIGIHHGIIIIIGGHGHJIIIHIGIIGGGHGIJEIHGGHGFEGGFFGHHHIHGFEFGJFFGFIIIFEFHHHGHCEHFGFGFHIEIHIFGGGHFHFHIGGECEFHHGFHIGHHFGEGGFGFFEEFHHECEFEDEHFGGDGEBGEHGEGFEDDGFFDEEFGEFFFDFHGEEFDFGBFC?<<:855++/...+*+(++%%!&+$$%"($$-)&%%!!SPPMOTORPPMPRRSPRPURRPPPPPSRPPRPOPMSOOOURRPPMPRRPRRROOMPRPPOMPPRMMMPRPOOPOLMPPPOPPPMOPPMOPMMMLOSORPOMOPPOOMMOOMMLOMOOMMOMPMMOOPOMOMMPMMLMMKMLKKJLKJMMMMJLOLMLMLIKMNLMMKLJMMKLHJLLKIJJJKIIKLLJKMKJJIJIHKLLFGJIIHJJJJMIIJJHHFFJIIHIIILJGHFHHHDGGHGHJIHGJIGHIIJJHIIHJIGGIJIGIJKHIIFGHILJGFFHHGGGHHHIHHHGFFHHKKJHGIHHLFGGHIFFIHHFHGEHEJFHGGGHJHJGGGFGEFFFHEGHEGHHEEFHHGGHAGIKEFEDHGFGIHGDFFFFFEHDHGDFGFEEHBGECFHGEHGEB?FHHJHFFE?CGGCEFEHGFBFEEHGFGEDEEF?EDAACCAA:>853/++)+*+&&+((&(++$)*)%()+&%*(*#&LPPMOOOMOOPPOPPPPOOPMMPTTRRPPORPPPRPPPOPPPPOOPMLPPPPOPPRRPPOROPPPOPMOPOMPPOOMMMKPOPSTPMMPOMPOOMMPPOOOOMMOOOOLOMKMMMMMMKMOOMMOMMKMMOMMMLKLMJMLLLKMMLNMLMJKMMLJJKMMLLKKMKLKMKLMLJJJLKKMJJKIKKIKLKKJJJJIJKIJIJLHJKHIJHFKIHIJIHJIHIJJIIGFGHFGIFEIIHJKKGGIIIIHHHIHGIJJJFJIJHFGJJEJHIIDGGEGGHGJJHIGGHIIHGHHHHHFHGGFFGHHHHEGHIIGGGGGHGEGJHFGEFEFEGIGGFFFFEHHGGHHIGGIJGEFHGHGEEFFGGFHHEFFIFGBCEFEDGGGGDDGFIGGEEGFGGBBHHEFFEHGDEGDCCGEFFFBDEECEFEECFCEDCBCBCBCFEDECAB?>:8738*)--**+)**&+*((%&*#(%%##"%&&"OKMOMMPOOOPRPPPPRPPRSRPOTROMRROTLMRPPPSOPPOPPOPPPMPPPMMOPPPPPOPKMPMOOPPPOMOOMPPMPOPPMOOMOPPPPPKMMOOPOMOOJJMMMLPPMMMMOMMMPMMKLOMMOOLLMMMMKIMMKLMJLMOKMKMMKKMMLKLKIKJJJLJKMLLJJLIJKIILLIJKJIKJJMLKJIKKJJIKKILKMJJIKMJILJGGIJLKHIGGIIIJIIIKGGGKFEHHIHFIHIHIHJIIHIGEGGGGHFGHDGHIFEEJFFIEHGGIHJEIFGFEHGGIGGGFGHHIGGGJFGHIEEHHHHIHHGGGEIIFEDFHGGIGEFFEFFEEGHEFAFGGHKGFFFGFCHFFIHDGFEGFHDEECGHDFHGFGFEEGGGEEFFGFHFEGGGIFEEEFCFFBGEFFEFHCEEEECBHEADEEIFCCBCEFIDCADEBC<<<782++1*+&(()&+$+-++#%$(%+(("#!KPMOMKLPMMMPTOMROPPPPPSVPPPMRSPRPROLLOPPPOPMPPRPOPOPPOPPPRPOPOOPPOMOPOPMKMPPOPRPMLMMOOPPOMMOOOPOOOMOMMMMMLLMMOMOMLPMMPPOLMLMMMMMMLLMLLLMMMLLIMOMMKKLKJMLKMMLMIJJMLKKLMLIMKKLKLKHKKKLKIKKLLKIIHJIJKIJJKHIKJJIHJJJJFHIHIJIFIIJHIHIHJIJGIHGGFFGIJIDJIHIGHIHIFGGHJIHHGGGGIGGHEHFGGFHHIHIJHFIGGIFFFHEGHGGIGFIHJIFFFIJGEFHFIHHIIGFHHHGHKFGEEEGGGGHHGGEGFEFHHFHFEHFFJFFGIHEEDIGGHDEEEGGFFCDDDCHEGCCEFCBADFAFFFEFFEGFEEFEEDCDEDDEBDHFDFDEFDEDDCFGHAEHGDIGCDGACCAECC??<<:7201++++)&)+++)(&%#&!%%+&(/#"PMSPKOPJPMMPOPORPPRMOMPRRSTPMTPPPPPPRMPRPMMPPPPSPPPTPOOPORPPPPPPMOOSRPPMPOPPMOMOOPPMPOMPPPPPMOPMPPOMPKLMOOMOMKMMKPMMMPKJMMMMLOMKMLMMJMMLMLLLMKJJMLILMMLJJLKMMLMKMKIIKIIKLJJJJHILKJJKHJKILMKJJJJJKJKJJIKIJIIHIHIHIGJJJFKKHHJIJJHJMJIHFHHHJIHIGDFEGGHHGGEDJIHGIIIHIIKHHIIJGKJGIIGFGEGDEGFGDEHGIEBHHIHGHJIIHIHGIFGFHGFGJIIGHGFGFGFFHLEEEEFGHIGGFHGHGGHHFFFDECGHEFCHEGDGHGFEGIEDHGGGFIDEDEEADDEFGHFFCHFFBFDFFGGCEFFDFDDDDDDFHFEGGFCBCGFEEBCBECFCABDFEBECFEDDFCACA?A?87/22../.*&0+**&#"+*(*-)"$(LKMMOLPMLOPSMPOPPSRRPSPPRSLOMOOLPMPPOPPRPPMPPPMORPOMPOPMOPPOPPPPPLMPMPPPMRMMPMMPPPPOOMOOOPOMLMMKLMMOOOPOMMLMMMPMLMMOMMMLMMLKMMMKMMPPLKMMKMMNMMKKMLJIMMLKMLKLKOMJKKJILLIHLJJJJHKKKIKKJIKJLJJLIJJJJKHHHJJIHIJIIIKJKIGGGDKJHIIIIJJFHIIHIJHFIKIIFHJIHGIHIHGIJFGGGHIJGIGGGHGGGIHIGHGIGGGGGHHHGGHIHGFFHHHGHFHHHIFHFEGHGGFGFIGFEIHHFGEGFHFHIGDDDDGEFFIGGGFFFEBGFFFIGGFFFFGFGFFGGHFGCDFFFFEEFFCGEDFDFGEFDEGEDEDFEGFBDDDEFFBACDDFDDEEEFCBDDDECDBABECCBHECEEDFEDDEEEDCA??8:<33/.22++)*)&&-&&(0%+()&%&%#%#KOPMPMMPPRMMPRPRMOOOSRSRRPPPROOPRMOOPSRIOPMSMOSSORMPPMOOMPMPRMPOPPPMPPRRPMMPOPMOPPMOMOOOMMMMPLMMOMKOPPMMMMMOKMMMLOMPMMMOMMLMLLMMMKJHKKKMLLMMKOMJLJKJMHLLJMLMMKKLIKMMMMMMMLKKLMJJLJKKJIJKIHJLKJJKIKILJILJKIJJJIHIKIHIJKJKHHJIKHEHGHIIFJHKIFEFEHJJIHJIGKGHHGIJJKHIGFGHJIHHGIFFHDIFGGGDHHHGGJIEJHGFFEEHGHGFGGFFGFJDFHGGFIDFJGGHDGFEHJHEGFFHIDECFGHFGGFFHHDCEEDFFGFBFGFFFHEFEDEFDFH?DGGFFGEFFEGFEECDECACFECDDEEECAAFECBCCBE?DCFHDBFED?AFCD??BC?CBDBBBEFCDBAFG?ADE??<:<57.)*++()%&%#((*%%&((&)&+&&MMPOPKMPOOPRPSPMMOPPMMOPSSPMSSTPPMPSMMORPOMMPPOMPPPPPPOPPOOPPOPRPLPPOMPOPPPPOMOOMPPPOMMLOMMPLOMMPMMOMPMPMMKLLPOMMMMOMOMMPMMLMMKJMLKMLJKKMMLKLLLLMMKLKLLLMLMMLKLKKHJLMMMKHLKLLIJLLKLKIKLKJIKJKJJLJIJJKIJIHJJJJJJJIIJJJKHJJIGJJHIGGHGHHIJHHGGFFGEFIHGGHFHIGHGHGIHGFGGFJIGHIIHHHHIGHGGHGHHGGHFDGGHIHHIGFFFFGGGFIJHFFGHCEFEGHHHFGDGGGEFEGHJHGIFFFFIFEFFHFFFDFFEGGGFEDHGGGEFDDFGFFFDFFGFDGDCGEDEEEBEDDEDFDDDFD>GFECDEGEFGEDEEDDFEDCECEEDFGCEFFEDDBBDEFDCBFCC>CDCCAA:<:::52//)1+0&&+()%&%$"%&$$%&*($##OMLMMMMOPPOOOMPOPOOORSPRSPRLMPOMPPOPOOLLPPOPOMMMMOPPLOMOMMPPOSPRPPPOOMPMOPPMOOPMOPPMMPPMMPOOOPLPMOMMOPMMJLOOPMLLMMMMPMMLKMKMMOMMLMOLLMMMMMINLLMMMMMILMIJMMLLKILJLMKKLLLLILJJILHIKIIIHLIHJJJKKKKGILKJIKLKJFIKKJIIJKIHKHFIIHIIGJIGIHIIGKIGFIIJJGFFIHIEGGGIIHHFFIKHHGFEFGJJEHHFEHIIEFHDEGHGGGGHGIHGFDHHEFEFFFGIIGHGECDGGFEEDGFHHHGDHHFDFGFEFJEEFHGBFFFHFGAGGFDHEEEEDFIHEGEDDFECCEDCEFFBFEDDEEFFEGECCCEEEDFEDADFEDBBCCGDDEDEC?EEDDEB?CBD?BECFACCBEECCCEEDEEFH?DFE?<88323232++.$0)$&&*$"$&++.$"%!+*TOJOOMORPOPLPPPPPOPPMOOOMPPURPSPPORMMPMMSPOMOMMPMMPPOMMPPOPOOOPPMMMPPOOPPOMLPOOPMOOMMOPPOOMOMMLMLOPMMOOOOPMMMOOMMLMOMMMJOMMMLMOOMMMLKLMMMMKKMMNLMOLKKKKMMMIHMLLJLMKMIKKJJJLKMKJJJHIMLJLHKJHIJKIGHIIHJIHHJJIIKIIGGJGIIJIIJIIHGIJIHIEEGHHHGHHGIFGHIIHHJHEFIHFHGJHHGIGHHIIHGGFHGHHGFGGHGIIHDGHEAIHHHFFDFGIGGGFGHHHGEEDHFEGGEEGGFGFGEDFGFDGHEIFEEEFGEDFFEGGFFFGHHEGEEFDFEEDGEEDDDEEEFEFEEFGFCAHDCDCEDCFCDBEFEDCCEFEAECB?FFECDADAFE?BADCEDFE?GEADBBCDECECCCEDBC??>?>><:225.00++--)+)!+%*+$&+)$("$MPPMPPMOMOPOORJMPSPMMPPRPOPOMPMMOOSPPMMLPLOPPPMOMPPMOPSPOKOMOPMOPMMRPOLPPOOMMOMMMMOMMMPPOMLMOMMMLOMLMMOLMMMPPOMMKKLMKMKLMLMMMMMMOMLLJMMMLLLLLGLMMMMILJKKMMMMMKLJKKHJMLLJJJHKKLJKLJIIJJJJJKJIKJJHKJHGHIIIJGIHHJIFIIIHGJKGGIHGGGIIHHGHHGIGIHIFIGFHGKGKKHGFEHIHGEGIFGIHFHIJHHGHHHGHGGEHFGFFFFGFGEIIFDDEIDCGFFGGHGFGGEEDGEGEEGCBFGGIGCDGEEHGFFDFHGGGFDFFCGFEEGFFCEHFDCCEGFE>CDDACDEGECEFGECADFDCCCBFFFFFCACCHABCCEDBEDC?CBFEDCCBBCBADB?CECA8BEAB??CECB<:5:122+++*-*$&#"&(&*$)**(%(&(&LMPPMRPKOPMMMOMMSPMMMROMPLSROMPPPPPPMMOPPOPPPOMMORMOOPRPOOSPMPOOMPPLMPOPPPOMPOMMPMPOMKMMMMMOOOMMMMMOMMPKMLOMKMOMLMMMLKLLMMMMOMKMMLMMMMMMMLMLLMMMMMOJKJLLLKKKKJKKKLKLLJJKKGKIJKKJLIIKJKLIJLIJJKLKKFJJHJKHJKJHHIGIJIGHHHIIJJIHIGHJGEGFIHGGHGHFIHFHGGIGIIIJIHGGIHIKJIHJGFFIHGHHHHHHFGFDHFGDFFGEGFHJHFFEEGGFEGGFGFHGGGHHFEGFGGEEFGEFFFFFFEEHDFFEFFFHEEEEGFFEDFEFGFCHEG?FFEBFGIDEEBEEEEEFFEECCDEBCEEDCDEEDCBCFHFBBDACBDBDCEDC?>?AEDACEABC?DBBBDEFD?B?CC?EDBADFCBBBCCB?>B>:852287+*&#"&/&++(%!)(&("$&&$$MMLMMLMPRMSSPMOOMOPPOORROPPPRPPPPRRPMOJMPPPMMOOPPPPPOKPOMPMOOMOMMOOOPPOPOOOPMMPPPOOMPMLMLKPORMMOPMMMLMMKMPOPMPKMMMMMOPKLMMMLMLKKLMMKLMLLLMMLLMKHLLKMPLIKMLKKLLJLKJLKKLJJLJKKKKKLKJGIKMKJHHJJKJKJIKJHJGGIJJKJHJIIHJIHHJIGHHGIFHJIIHHKHGFFFHGEHDHGGIGGGFHIGFGJKIHGFGHFHJIFHGEIHIGFFGHHEDHIHIFHFFFEDFHGFGIJFHGHFGFHFHEFHEFGFDFGGFFHGFFFCGGGGGGFDEDDFEFGFECEFCDEECDECFDFEDFEDEEDCEEDDCGFEFBEFGEDCCEDDDDECBCB?EGECCCA??CDCDDCBBABBB?AABBBBCAABBBABC>AE?B?B>CBCCCB?B?B:55552+%*++(*&%%(*($**"&$&MOMPMKMROMMMPSMMJMPPOSRPPLPPPRPPPSSPPMOOPOPPOPOOOMPPSTOMLMPPMPPRMMMLMPMOPPOMPLMMJPMMMOOPPOMPMMMKPOMJKOMOMMPPPOMMOOMOLIMLMMMMMMKLMOLMIKLOMMMLMLHLKMLKJJJMMMMIMKKLLLKMKKKKKJKIJJIHILJIKJKJILMJIKIGGIHKJEIIIHIHIHGHGLLKHHJIGGGJHGGHHGIJGGFIHKGGGGHHHFGHGIIIGHGHGHIIFFGFGJHIIIHJHEGIFHEDFFDGHIGIFECGEFGFHGGFFHDFCCDHFFFFGFFBFCFEDHFEFEFGFIEFGFGGCDFECFBFFFEDFBEDFFDDDGFDEFBFHEEEDEEBCEFEDEDBDF?DDAEBCB?DDECACACABBBABDDCCBCAACCBCBBCBDBCCEFBABDCDA>?C?BB:>?CBDA>BACD>??<8552.0.()$$*(#%#%))(1$$))#+JJMOORPMMMMPMSPMPPMOMPPOMOMPPMLPOOPPPPOOMMMLPPPOMJPPMMIOOPOMPLMOOPPMKLPMMPOMOMMOMMOMOOPOMOOMMMLKOMLLMMOOMKLMMMMPMOJMMMMMMMMKMLLMMMLMMMLMMKKKMJMKMLMLLJLLMMLJMKKLKMMLJLLKLKJJKJKKJJIHJLLJJKJIJJIJHLKKJEGJJKGHIIIHJJJJIHIHHEIHJJHHGIHIJGIIIFGIFHGGHGFFIHIIGJHHFHGIHJGHHFFFGHIGEFFFGGGFFFEIHHHGHIFGGGFFGGFGEFJHHEDFGGHGGHFFEDGDDEEEGFECFFDEHEEHFEEDFFDEFEFEDEEEEFFEHDDFEEFEACGFDEDCDCFCDDDEDECDCDEEEDBDECACCACDC?CCCDACAABCCCCCBAACA??AB?DABBBBBC?CD?AADCAAADABCBB>:AA?88:853.&++..(.+%&((#$$&&%$&*MMMOMOLHMMMLMPPOMPPOPPOMMMMPOMMMOOMOOMMMOPMOOPOPPMPRPPMPLMLMKMPOMMMMOOORLMMPPMPOOPMMPPPMPOMOPPOJMLLOMLMMMOOKMMMKMLMKKJOKKLMKMOMMMMMLKLKJKMKMMLMMJHIKLKJJKMMKLLLMLJIHLMLMLLIIKIKJKJKKKJHHJJHILJIIIIHFHJIHHHHGFIJIHGDFGHHGHIHGFIJHEFGGGHHGGFHHFFIJLIJHFFHGJIGGGHHIEIHFGFEGGGJDGHFFEEFHHEBGGDGFEDDGGGDDFGGEGEEFFEEFAEDGEEEDFEGFFEDEEEECCFGGEDGEFEEEHFBECEGCCDDCEEDFCCDDEDCEADFDBCABECBDDB?BEDDEFEDHC?DDDDCADA??BCA>?C>?EA>?A?BA:?B??BB?EBBDAAABCC?BB?>DBC?ADB?AAB??>??AAA??BAABB?ABA?A>???CA??A?????B?ABBCA>??<<>?A??>BBAGEDDDDEDBCEDBDDBCECDCDDEFA?EDDDDCC??CCBEEEDA?BBBCB?ACACE?BCA>BA?CBB?C<>CBA?A?A?BFA>??<:888332.+++(+)&&!#("+&")MPOPLOMMJMPOLMPPOPPMOOMMOMPMOOMMORPMLMRPOMOPPPPPRMMPMPOMKMOOOPMOOLOOPMLMMMOOOPOMMLOPPKOMMMMMPMMMMOPOMLMLPMLMMMOLLMMMIOMMLIMMOMMMLKKMMKLMLMOLLLMMKMLJIMMLIJMLLKJLMLJLJIJKKKKJLJIHJJKIGHIDJIJIJJJHHIIGHIJJIIIIJKIJHGHHGHIFGFGIFHIEFHGFGGGGFGEHHFHHFGHIFGGHGDDEFGEGFFECEHGFFGFFGFEDEHGFFHFEEEEHHEEEDEFGEHGCEEEHDEGFGDEECDEDFGEGEDEDDCCEACFCEFBDEGCDCBCCDDBCBDBCCDA?BCCCDDCDBDCDCBDCFBADCA?CAECAB?BC?>CDBBAA??B???AA??A?ABB??<>DBC??ABAAACA?>>??A?>???>>?A?><:87551+/*)$&(&(*($$%)*!"MHKOMLLHOOMPMMMHMGPPLOKMMROMMOJOLOPMMMPOOOOTPMOMMMMMMRPMLKOOLMOOOOMMLMOMMOLLMOLPOMMPMMMMMOLOMOMLMMLMOOMOOKLMOMOMMOLOLMKJMLMMMMJLMJJOOLMLMMOKMLGIIKLIHKJIKMJJLIHIKKIKJJJJHJIIKJGIJKJIKKKGIJIKLIHHKIIGHIJKJKILKIIJLFFGFFHEEGFIHGGFHHFGGHGHGHFAEEEFHGHFFGGHGFFFGGFHFDEFGGHHHFGEEHHFGGDCEFGEFGEEGFGEEFDCEEDEADGFFEEFCDEEDECFFBDGEDDEFFEDDCB?BBAADCDEDDCBBA??B?EBBACB??C?DCAB?AA?CDA?BB???>???B??E<>>?????BAB??<>?>8?><:?:??<>?A>??<>::8:23/./++%+/(&*)&((&KLFJMMMORPPMMMOMOOMOMMMMPPOPMLOOMPMPOMOPPOMMMMPMMPPPPLMLPPMMLMOMMOMLJMMLMMMKMPMMMLMMMOMMMMOMMMMMHOOOMMOOOPMMMMMOMMMMJLMJLLLMLKOMKMLKLMMLLLKLLMJJLLLKKKKJLMJJJLJJJIIJJLJKIKHJIIHIIKJJKKKJJHLIJIKJIIIHGIKKJHGHGGJMHIIIHHHGGHHIJGFFGGGGFHFFGFHEFGFFGFFGGHHGHGHGHEHEHGDEDGEBEDFFFGEEEEFDDEFGGGGEFFFGFCDDDCADFEDEFBDDDDDEEDADEDEFEDEEDEDADC?BBDDECDDBDFDCDDCBCC?CCDCA??CCCBCCD??ABBBAADFDCBCA?BCA??DA?A>BCCA>BB?????>A????AA?<<<<<AAABA???A>B?:???A?<<><<<>?<::57200/1-&&+)&)*&$!"#MMHLKMMKKOMMMIMMOMMOMLKPPOPLMLLMKKMPOMMLOOLPOLMMPMPMLLLMMOMLLOOMMMKGMMMMOOMMOOMLLMOMMMMKMMMMMMOPOMOMMMOMOPMMMMJMLMMLMMIJMOMKMMIOJMMKMMKMLHMLIOMMKMMMJMJJJMMLKKIILMKJLHFHKKMKIJJIIGLJKLJHGKJIIJKJHGIKIFJJKHIIGGIGGGHHHHGHFGHGEIGHEIGFGHDHHHGJHFFGGBFEGHGGGFHFEFFFGDDDCDDBEFGJFGDEEFDGCEEFGGGGCCFDEFHGDGCCDEDEECDFEGFEEE?CECFDDCCEDEDDBCEAC>DFDFCCE?ABDEBBBBCCCBCCC?CCBBDDBBACCBDAB?BCABA?BAA??CCBDCCDCAA>?B??A>?:?BCC:??DA??:??????<<>??>??AAAA?<>>>??:?<>:?<75821--0*++0&#(&&#&&(*!OLIMMMMMOGMMLKMMLOPOOPMKLMPOMOKLMMMMLMOMMPPMLPOMOMMMOPOMOMOOMLPMMMMMOOMMMKMMLMOMMMMMMKLMMMMMOMMMOOOMMMMMOMMIMOMMMKKMMILPOMLKLLMKOMMLLKKKKMLLMKLLLKJLKLJJMLLJKLJJKKKKJHKKHHIKGJJIJJKJJIHHIIJHIHIHHHGFHGHFGFJKIIHGIEGGEGJHFFHGGHFFJEFDGGFGGFFHHGGDHFEEFFFFFHGEEGGEDDDGFHGGDFHFGDFFFEEGGCEEGDEEEEFFCDEFFEEFDEEEEECEEDEDEFEHEDEEDEDEFHFDEGDDDFCDCDCDCBDABACEECBCCBCBBDDBDD?ABCBBCDBE?BABBBB???BCBBAAAA??A?:??AA??A????A>>?>>?<<8<>>>>?>?B??<<>>><>?B<5:<>?><??<><?><8?<?><:><<>?>>>>A???><<>><<<><<:<:<:<<:<:8:700//-).(+*((&&#%%+LJKMMKMMMPKOOOKMORLJMLOPPPPMOMMPOPKMKIMPMLPJKOMMLOKMMMMMRLMMMMMMKMMLMPMOOOLMPOMMLOMMMMMPOJOMMMKMMLMMMKMMJMMKHIJLMLKJLKKMMMMKKMMKMMMFLOMLLHJJLLJKMMKLMLKIKJKJJIJKHJLMMKKKKKIFJKJJKJHJJLKLJKIGHIHJKKJHFCFHHHJKJEHGGHHHHFFHFJFGFGHEGGJFFFFFDGEEGFEGFGFFDGFGGEEFDGEDEDEEDBAECBDDDCGEEGBAFFEDDDDEDFFDBBEEEFDBEFGBECECDEDGAED?DECEEFDDCCFCCEDB>BCC?BDBDB?B?CCCABCBBABCBBABABBBB?ACA>DBC?A?CA?ABB?BA::???A??B????B<<<><>A??A<<<:85:::71231+0++*+(&+./*&$&IOJMMMMKMKMMMOPMORMMLJOPMOMMMLRMMKMMMKMPMMMOMOMLLMPPOPLLHKOMLIOPMMMMMLMLMLMOMOMMMOLMLMMLPMMLMMJMJJMLMMOOMMMLLMLLMLKMMMMPLKLOMMMMLLMLKJLKLMMPMJKKJHLMMJKHJLKKJJJJJJIKJJKKKKJJIJIHIIHJKHJHJGHMJHGHHHIJIIIIHHGHFFGIHHEFGGFGGGGGFEFFGFDGGGDEEDEGGEDFFHGGGFEEGGEEGEEIDKFGFGGEDDGECCDEDFFDFFECBCEEDDCDCAECACDDCECCDFDEDBDDDBAADCDDCBDABBADCCCAAAEDBCB?ACB?D?AAB?AACBAC>?A?AB?BA?AAABAAAAACCBB?A?AC????<>A????A??>>:<>>8<>??:<><8:><<<:<:<>?A??CA??B?:>:<>8>?>??8<<<<<:?>::<<<<::<:?8:><>:?:8:7<871112+++&&("*&%&%MLKJJLLPMLLLMLMLLJPKMOOPOLMKORMJMJOKLLMLMLMMMOOMMMMJLMMMOMMMOOPOLMOMMOMOMKOMMMLMMJMMMLKOOMMJKMMMLMMMMLLMLMOLKKLMLMMMMMLKLKLMMMMLMOKKLKLMMMLLKIILLLKKKKJFKJKJHKHGLLJJLJIIJJIJJJIHJKJIHHHIJHIIIEIGHJFIJEIGJGGEHEGFEEFGIIAGGEFEEEHGEGGGCEFDDGFGFEEDEFHHFGFEEDFFDCCEEDCDBFHEEECEFEEEDFECCDBDECEDCCDCEEEECFFECFBCEDEECCDDBBBDDCCCBEDDDEBCCAAABDBDCBCCDBCA?BCCCBAA??>?<<<>???8<>>>?><>?<>>:><<::<:><8:?:8>:<::<><8>838<<<<::<::51121/..+++.+&!&$(&KKOLMKLJMOJLLPRPMMPMMMOMPPMJMPMPIGMOOMKMLMLLMOKMMLJLMMMOMKLGMOMMMMLLKKLMMLJJJMMLMOMIOMOPLHKKLKMLLLLMKIKGKKLMLLPLLMMLKJIJMMMKLMMKLILMKLLJKKKLMLKMLLJLMKKKKILLJKMLJKKJMKKKHIIHMKIKIIIHHHHKJGJGJHIIJGEBAFHHEGFHFFFFGGHGFFHHFHGGIEFGFEFFEDGEFEEFEHFDFEHEGGDGFDFEBCEBBDBFFFDDEGFACBDEEFD?BDD?DBBCCGDBBDEDECEEA?ADCBAFCCCCCBAACCBDC?BDC>BCBEDACCCCABCCDCCCDCAEADA?ABB>?AA????BA??A><>>?CBAAADB?AACA?A><>??<<<<>?<>??::8::<:??:?<<:<>8:<<:<>::<<<::?:><<<:::>:<8<312-+00.0+*$%%*#)&&ILLKMGJMOMOMLOMOOOOMMMMMOPOMMPMPIMMJMOOOMMKOKLOMMLLMMMMLLLMOMMKMMMMOMMMLMMMMMMMOKJMMLOMMKOOMMLKMLOMMMMMMMLKLMKLLLMLMMMJJKJMKMLLLKMKLLLLLLLJKMMMLLIHJMMKLIKKJKKLLIJJKILJIJIHIJKIGJJJKKJJKIIJFGJIJIGGKHIHGGHGFGHGEGHGEEDGGFFFEDGFGEEFFEFEFDFDEEEEFDCFDEDDFHCCEEFFCEFCDCEE?BBECCCEDECCCCCDCCDEDBBDFCACEC??DEEDCCCCDCBCBCCEDBBBBBBCCAAACABCDCB??BCBB?>B?CBBCCDABB?ABBAA>?CAFA?A?CA???BA?AC?AB??BA??A?B??<<>:>?><><:<>>><<>:<<<:<><<<<<::<:<:<<<:<<:>?:::8:<8:<557380./*).&#&+*!&MLMMLMMKJOKLLHLMMPOMMMKMLMMOMOLMPJLMMMOMLOJPLMPMLMMMOMMMMMLLMMLOOMMMMLKMKLMRKKMJKMLOLMMGLMJMLMMMMLKMOOMLJMLIJMKKMMMMMMMIKLMKKLILKKLKLLJMLIKJKMLMKJGIMMKKJLJIKLLKJJJKKGHIHKHGIKGGHGHJIHHGIIFIIGIMDGHEHJFHGGFHGFDGHIGGECGFEDEEDEHHEFFEGHGDDFGFCEEFBDCGDCCEEECDCCBDDEEFECDACGDBCBDECCBBDCAEFBBECDCBF?AAADBBEBCABADDCDDCAEABDEDBCCDDB?CCB?ACECCBCAA?CC???BC<:>A?A?CAB<AA<:??>???>><<888:>::>><<::><<:7<>><>8<<8::<<:<88<87:12221.*)2%&!&*)#&KLCJKMMOKKMHLLMMKMMMMMPMMTOLMPMMLMMKMOMKMLMLLMLMMMMMMKMMMMMKMOOMMLLLMLLMOMKJMMMLKMMLMLOKLMLMMMMMLMMMMLMMMKLLKJMMKJOOMKLLLLJMMKLKMMKLMMKLJKLKLKKJJKJJJMKILKIJKJIIKLIIHJIHJJJIJJJKIHGGFGGIGHHGIIFHFHHGHIHGHHHGGGEGGHGGHFFEFEEDFECDEFFECGFFEEEEFGGFFDDDFADFDEBCEEEDCCDEDEEDDECCCDCCBABACCDDEBDDBBCBBDECCCDCEBC?BBCBCCECACAAACDDCBBBC?EDCBB>??BB??A>>BB??ABBA>???BA?A>AA?><<??A<<<<><<><:8<<:<<<:<<<:8<<8<:<<8:<:8:88:85::<8<88:8<<<::><885877812233.*)+*)&))(%MJIMLJLMMMOJMMPLJMMMMLLPMJMMMMOPOMMJMPPMOMMPOMPOOKPLMKLMKMMMLMJMMLIMMLMLMMKJLLOMLMLMOMMLMMLMLKJLLMMMLMMLMLKJLKLKLHGKMHIJMLMKLMKLJKJKJHMJLKKHIIKLGJJMLJJKJLKJJJMKKJHHGKJKLHJJKJIHJIIHHIHGGGHIJIHHHHGGGGGIHGFGGHHFGEGFFEDDHHCFAEHFEFEHGIDEEEIGEGGDCDEEFFACCBFCDDFEDBCCECEAEBDBCCCCBA?BCCBDACBBEED?BBBCEBBCDC??>?>??A>>>>AA>??<>C?A<<>>>>><>>>A<:<:8:?<<:::<:8<:<7::<<<<<88<:8>8<?????A>><<<>???<<<<<>><888>:87282.-5530(&&&!&ILPLJMMMLJJMMLKKMMMMLMJKLJMMOMMMMKLPOMMMMMMMMMPMPMLMOMMLMLOPMPMLMLKOKKMLKMMLOJJLKMKLMJMMJJLLMKMMMMPPOKJKMLJKLIJMLLJKKMMLMLLMJKKKMLLJMKIKJKJLJKJILLHHKJLLIHIKLKKKKJJHHHIKLKGEHIHJHGFHJIGEHHJJFFFGGGHGFEGFFIGFJFCHEFFFFEDDBDECEGDHFDFDCDFEHDDDDDDFFDEDCBBCCFEEDACDCACDEGDEDBHFCDFDBBCAACBBCABB?B??D???AE?CCBCDCCBCB?ABCDCB???BBA?ABCBCCBCBA??BBBBAA?A?CAAABAB>???<>>A???<<<<<??>8<8:<>?<8:<8<:<8:58?A:<<:::<888788<<<8<<828:5<88::<<3758<?<??>>??>?:<88<><<><<<:7<:<:::87:8::?<::::8:>><85<:88<87::<7::8:<:<88:8:7755>2/--&-.))"+&)MJIELKMLHEIPOJIKMLMPKOPLLMLJLOPMLLMJMJIKLLLMPMMOLMMMLLMMMMLOOMMMKJLKLRMMLIKMLMJMMMKLLMMLJMMLLJLJKKJOLKMJKMMMLMKJKLJMLMLJKLHIJLLKLIKKIJJKKKLKLIHKHIIMHJHIIHKKJJIKIIHGHHGJGJHHGHJGIHGIHGGIHHFGEHIFCFFGFEGFEDEFFCECDDEGCHEBFEDEEGEEEEBCDEFDFEBBDGECCDEEEEDDBC?CBBCDCCACCCDABABDDBC??DCBABB??BA?BCEABBCB?BC>?A?CBDCBBECABCCA?B?A?A??A?>>ABB>A?>?B?>:>?<:<<<<<8<:<:<::<<<8<<<<:88788::8:<7::::::8:8<>::88:88:8>:888787:557885:725-&-+)(%&#%(&FIKHGKKMJIIMLPJKLLOHLMOMMMMKKKLKJMMIMLMMIJLKMMMMGMLMJMLOLMKJMMKMKLLMLMOOLLKOOMJLMMMMKKKLLMKKMKIMOKKLLKLMKLMJMMLJLMMKKLKLKKKMJIKLKLIIMMIJJJIJKJJKGJKKIHLKIEJJIJJJJIJHHIJHJFHHHJHHHGGHGGHGIFHGHFHGIEFHGDFGGFEFDEFEEEHECDCCECCFFFDEFEDCCCDCFDBBCCDBABEDCBCFDBABCCBCBBBDDCCCAC?BDEA?DDADCBBBCBCDCBC?ABAAB??AC?AACD??A???A??A?A?BC??CA<>??A?A?<??>?<<??>><>?<>>>><<>>???:><::><8<<::8<<8:88<::<5<:::825588<:8:885<57<:2232232)#)&$&$%)KJGFMMMIJKMJIMMOJMMMMOOKILMPLIJLLLMKOPLMLMMMMMLMKJMKMMKMJMKIJMMMJMLKLMMMOMLOMKMPLKKMMOLKLKKMLMIJLPLLLJMKKJIDKKIKMMMKLILMLIKELJKLMKGKKKHJJJHIJLMJIGHGJFHIEHGIKJBIIIIHIGGIJIIGGFGHFGLGHHDFIGHFGFGFFEFGGDFDGFGFGEFGEFDDEEDEFCBEFDEECECEECDDDC?C?BDDCDDD?BDEECBBBDDDCBDCAECBFDACABCCB?CBCCBBBA>DDABE?CCCDD?ACC???C>AA????AB?CCAA?A??BA????A?A?A?<>?B????>?A?????>?:>????<<::<>>>?><>>3>:::<<<<:<<>:<<<><<1:<<88><<:8<8:8:<:758<:<:?AD?BCCCCCCBAA?????>B>>???BB?AA????<><>?A<:><>A>><>>?????<<:???<8<>?><<?<><<><:::88:<:>8:7:::7<<:8::::8:<:7:::88:8:7::8887:<:587:8:8<788858878:7::::35710010.+*+%)./?IJHLMJKLLLBMJJIOLJMKLMMMLOKKMLJMOIOMFOLOMKLMHMMOJLMMMMLKMOMLJMMMMKLJKMLMKILMMKMMMLMMMLHMLKKMPMILLKKLMMHLIJKIJJJIKLIJLKKMLJJJHHIIJIJIJJLHIIJJIIIHJKLKKJIGLJLIGJKGGHIHIBIHIFFFJHFJHEFEEDEDGGGGIDGGFFEGFHHHHFDGGBEECHEEEDDCBBBDDADDDCDBBDCDDGDCCAG?BBCADECB??BBBB>?BC>BABBA?C?BA??B?AAB?ABBAAA??<<>A<<<<>???>?>><>A?<?<>?>A8:?>?<:::<<:<<8>::7:8:25<:8:<8<8>88:<887858:8:<8:883388:87875888787538758<1212..&+"!-#FHMMIKKKLKLMJKMOLHLOMLIMKILFJMMOJMLMMPPLMILMMKMLMKLMLILMPKLJMLOMLLHLMKKMKKLLJLLLMLOLMMLJKJLKKJKKJKLKMMLKLLKMLHKLLKKIJKOFMJJKKLKJGKIIGMJJJHIHJIJIJHFEGGFFJJFJGHDEFEFDHEGHGDDGIHJGFBEHFGHHFHFDEFFEGFFEFFEFFEDCFHFDBDECEGEECDCCFCCACCCDDCCDFFCBBCCECCBCDC?CBABADDABCABB?ACCCBAA?A>CA?CCCABA?CA???A???B????A?BC?????A?BA>C??>A?>??BB??AA?>A?>?A?>???A?>???>?<>?<>>><>??<>?B::?>>><<>>:<::88:::::8::8::85::8<<<<<:55377:8558:::8788:<<:8:77:88778<85:7777222312/+-+.)#!GHJIJHJGMTLOPKJGJLLMMJILPLJKMMLMLLKMMOLMKMLOIKMMLLJJOMMLKKKKMMJKMKLJJKIMMKLKKIJIJKKLLOLKMJHJIMIKLKMJJIIMLHJKKKLJJJJJIKLIJKIJJKGJKHKHLJKIJIHIHHJIIJEDGHEFGIFGGCEFFGHEFHHJGJIHFEGFGCDEGIFEGFHHHGEEFFEEGEFEFEDEEDEFFFEDEEDECADCDBBFFCCCDDCDAECCDDBCBBCABDBCADBF?EEC?>>>???B????BBAB>?7??<<:<<:><<:A<:<>>:><<8::::<::8:::::?:<<:8:<<:>?::88:::8:8888::5:358:8:358:5787887::3573830-++&*##"LJGIJHHIMMMJJLILMJKIKMLMMMHLLMMOKKMMMLMMLLKPJMLMLLMMLMLMMMLLMMMKMMKMOMKKMMMLLKLOLLLLLLMMLMOKLKLLMLMKKLHKKKJJJKKGJJJHKIJIJJKHIKJIHHIJJFHHEJLJHHJKIFGGFEFIHHGGGEFFFFFFGGHGHJGDEICGHIFHFFFEEFEHJGGFECFHEGDCCEFEEEDCEDCCCECCEDCEDDDBCDDBDABCDDDDBA>ACCDCDDB?BDBCBAC???AAA??B?????>A??<<???A>??>><>>>>???<>>>?<:<<<<><<<<><<<:8<><><>><<>><:<:<:7<:>8><:<88::5::<:<::8:>5<<:BDEFDEEEEEFDAECDCDDACEDEFE?CDA?BABCA?A?DCCBBCCCAA?AFC?CB???A?>?AAAAA?BAB??:BDB???>CCAAA??<BBAC???A?>?<><>A?A>><><:<8<>??????<<>>??>>>:<<8<<:<<<8<8855:<:<><:<<<:<>88::?:><:8<<<88::::><::3<:::<:<77878888:788:<:78888:::12788:5587787585857:8528:5757530120312../((-EKJHKJHIJIIOLMMPLMJJJIKKMMLLKMMILJKLKLJKLJKMLKMMKMMLKIMILKJLMLMLKGKKLLMMKKMLLILKGLLLHMIMLHHKKMLLLLIIIHKGKJKKJKLJHKLKJIILIJIIIIJIIHGIGEHGEFIJHIJHIIKKGIOMMLLJH?DBDEEFEGGFFHGHJFGBFEGIIGCCHIFEDHGEEDFECEDDEDDCBAEFDCEBDDCBCCCCCDCBC?DGBD?AB?ACA?B?BACAB?DCC?A??DB???A?ADABA???AA?BBABBBBAA???ABBAA?A?????<<:?>>A??<>>?<>???>??>>?<<<<><<::>::>A>:8788<<<<<<:<887378:::88:<88:::7:58::8::<888<887857<AABAACB??:?B>AA??A????B?A?>A??A????>?????A????:?<<<<<<<<>??:><::<>>>:<<<8:<:7:<8><:::88:::<8::::5:88:588878288::88:888277878878:58755:<853:8:8857<887788832/7223355552&0+--)&GJHIMPKIIMOKFFLMKKJEDMKKKLMKIGKIKMMMKKKLJJOMMKKMLPKHHKPOIKLMMIMMLJKMKIKKJLJKJMKLKIKMLMJIKILLKJGKLLJKJLJJKIHIJJHJIJIKJJIHFHGFJGIHIGGHGGGGEJIHGEJKHLPSSTRUVUVUMFDB?C?CDCIGFFCGIGDDFGEEFEDFFDCCHEFDDCDDFDCDFCECDEECDFDEACABB?BACEDCACBCAACEDAABA??ABAA>?ABAABBCBC?A?A??A?AAAAB????A??????AA??????>A?????>>??>??A>?>>?BAA>>?:<<::<8::<::<<<:<:::<:<:?::8<:::588:<:78778:5:8:<8::88:<55538887885587158:855512277575158888820:<8:2288717852/.55/228120+&"DJIMOMJGGJKJIMMLJKGGPLIGKOMIMMMHKKHGMKOHKLJLMMLMMIJLIKIIJJJKLJMJILKKLLFAHJJIJLLLILLLKLLHGLMKJJKIIGGHGGIJJJJIIHJIHJIHIIIJGHFFGHHHGFHIIHGFF?EFFGJKPPPTWY\Y]YWSMMF??DCAACFFGDEFDFDDHGDDCCDFFGEGGFECDBA?ADFCFDDEECBCEDCBBACDCDB?ECCCCE?BBBBCADCBB?AC??>BCAA?AAAA???>??AA???A??AA>??<>?>??C?>?AA><>??A????<>?>?A:>???<>:<<<8:<:8<8<<>><87<>::<>:8<:?>88588:878:5:::888::::8<:<:888:85:827887587255277:27878588<7:8133875:878::7570355388-02-0//2&%KHIJGJJHHHIHMKLMLLMLIPHOOLHMLLLKGMMKJJLJJKKKLMLLLJLMIKLKLJLKLKMLKLGJIJIJIJIIGLLKJFMMIJKKIKLLKIIJHHIJKJKIIIJHHIHFFIJHGEJIJIHHFIGGFFDGEGFEFEGFFFFJKLRTUZ]^^\WWPJE???AFFEEEFDFGFEEDCEEDDFEDGGIHBCEEBBCDEDEEEDFECDDCEB?ACABBBCDABDC>BCAACBBBA?A??A?B?AACAAB?????A?AA???B>?A>?A>??A???>>>??B><>??A<>?>>>?B<:<:<<<<::::<:<>><<<>???>?<<:888::::<8<<<<<:<878:3578:5535822888788888578588882753573377:55788558:887525713171275-/2..*/+$EEEHKHIIIOIGHMKHOLKMKKHHIJLMMFIKMLKMJHIGJMKLKLJLMJGIJJILIMLLMKJJJHJLKJJLKHJHKFKGKMKKKLFJGIEKJIJIJGGILFKIJIGHJIGGHKHGHFEGGGGDFHFFEDGHGCFDIGDFEDIIJLOTW^^Ya^VSLF@<@?DEDDDAACFBDDBCCCA?CB?C>?A???B?CCBAAB?AA>??<??>D??A?<???:?><>?<><>><???A??><:?>>><<>7::<>?:::>8?>>?<:<<>::::<::?:<<:::88?8<<::<:8:7887:8::<8588:::57:53<::::::58:838875:0558838:81387788773755<8572585588532258887:5/85212352013022/+EDFCFEHIJHJFJMKKJGKMJILJLIMLIKKKMMMKLKHMKJJKLLMKMLILLJMLJKKMMKFFIKILKFJJJLIKJLHHIJIJLKKKIHGGJJJKIIIKJJIEGIHJJLHIHJHGHDFGDHDDFGGEEEGGEEEEBDEDIGDLLJPYZ^d^`bYRKA@?>A@BFHCBDFDCFEDDCEDFDECCDFEDADCBCCABA?ABBCC?B?CDABAB?BA?BC?BBBA?CB?BA?A?BC??DAAB???B?AACA>A???????A???A?>??<>>?>A?><>?<:?<<>?<>>>>A<<<><::::<<::::755:<878:788:557:87588888:85785505785:8835:87375877225527558553575732555522322313+3535822/2+/HKIGGFGLFHJHLPHIGKMKIIKIJLJMKGIMPMMMKMMJLHJHLMLLMMMIMLMLHJKGHJKKKJLJMLKIMJJKKEJGIMKHFFKJJJIJIJIGIJHFFIHIGHGEIEGGDEDFGFFCEBCEDEFBDAFDFAEEECICA?CHLPRZ^dgjga\RKA<:<AD???BA???>????>>???????>?????>8<<????>><>><<><?>>><:<<8:<:<8:<<:::<>?>:<::<<78?<<:<<::::888<:::::5<<:<<:?>::::<::88::58::7::75888:887888885:2758277:757718::835255552:8:5382377777852358:>BACCDAD??CBACCCC?AACCB?ABABCABA>ABB?BAACAA>??>?B>>?C?A?:?>?AA?B?><>>>??A?>A??>??<<8?<:<:<<:<>?>??:<>?<><>???><>>>><<<:<:<:::8::88888><<:<:88:7:<:<::8:87:858<::888::888:55588857378:5833178877358223882:508877258285857822523555853325712.10/-*JGBGHIGIKJJIMJKMJJELKEJJHIIGHLJJLJHJHMKLJLJHLKIGHKIHJIKMKGJKKKHIJLLLJJGHIKJIGHMGGJMIFHJFFGHIJGIKKIIIFHHHIHGEFCCFEEFFFFFCAAB?CCADEEDDBCBBECCDCDGJMSW\cdghg`VM?:<9>CCB?CA>A???<>><>A?AB?????<>?><:?<8?>?>??>>>A><<<<><:8>:>??:>??:<:::><::<<>?<:88<<:<::<:85:::<<88::888888::87:<<<<<>:25:88778:::888:8587:877<<8<7787588:8:8353835535825588788752/2557551555575358/25555222325/.2.0..HJGHJJIJJKJKKHKKIJHEFIHJKMLIJLJIHHGJLKLKKIJKKHIIKMLLJHJJIGHJJFHIKIKFJIJKJJHIKGHJJJEHFFGHIIEEIGFEFGFEHFFIE?FGFCEDGCCB?CCA?B????ABBDCGEEDDDB?ABCAKMSW]bgegeYPG<84;:?BCCDAEEDDACCCBCEBBDCBB?ADCA?DDDCDECCD<>A?AB?A?A??A?AB??BA???>>?AA?BA??BCAA??????>????A?>???>????>???????>>?A>>??>>???????><<>:<<><><><>><:>>??<<:<<::><<:<<>::<<:<:8:<<<:8:<<:<8<<:7><:8:8<::<8::8::8<8<<::<88:8<787:<<78882878::8785:::77778888::87875857853535357388882227523725355327:32:255258:722355:3/33582251.)DFDKGEFHJJIGHKLMMJILDEHDEHJLHMJJLIJMIGIMJKKHHJHKJLHILKEDIIGGIHIGIKIFGGHFIDIHIKGHGDGGEIFCFGIGBFIHIFGDFGFFBAGFDCCDDBCCA?BGCAA?BD?BCACB>CAB?B?AA?>DFMOW^^cb^SHD8785???>????>???A?<>>?>??>>:???<>88?::<<><>>8:<><<::<8::<>::><:8:<::<::<:::8:<<<<::<><::88785>:5883:8:8::::85:<:::878:2758:7:8<8888:785288558588:87558388732/575575255252255028723555222855178883235757522305753155200-/&HIHFHFJKIIHKIIMMJJIKJIHIGHIIIGJCHHKIKJJKMGJJGILKIJHJGHKKIJGEHHJIGIFDGFFGADGHFDDCEEFHGEEEDDGIDEEBDHCEDCBDAABBDADE?BACB??A?>?ABC>BA?CABDBBA?CKRZ]]WTOGB588?>BADBCD??BDCCCCEBAC>BCBCBBABCAABDBBACE>ACBACDDA?B?A?ABA??A??A??>?>>?A?A?????>?><:??>>:?:>?<?<><<>><><><<>?<:?<<<<><::<::>>:::<:>::88:8<:8::::::8:<7<8::::87:8::::88<:88::5787838:<8:::7:8:858838:8835/5353552557577832515288773852555325752805253255825535335521352+-351.232BF?GFCFFGJIHGGIHIKJIHGJJFIHILLJJKHHJIHILKKGHHJLKHIIJMKKKJJKJIFGHGAFDDCEEDHFGEDECBDDB?DBCD??BDCAF??EBBFCBDCABC?D???><<:>>AB?BB????:AA>:8:35CA?ACFDC??B?????BBA>>A?<>><??>>:>?:><>>?<<<<<<>>?A>?>?AA>>?>><<>:8<:8:<>>>:<<:8::<:<<:::88>:<:::7<8<88<:5<::::8558:558878:5<835:8577788857557885232+3338821025275515253153730535--/278857223202/2122HFCHGEGEGIHHJIHGJGIJHHIIJJHIKKILIGGIIFGJIHIHFFGJKIKIJHKJGIIIHJGGGFCBCAEB??????<><?BC>><??A?A?AB?????<>????>??<>?>???<<>?:>><<<><:?<<<<<><<:??<:<<::><>>A<:<>?<<::<::<::>:88:::888:<<8<<<<8:888::::8:8578<8:8:::::8>8:878:<88::::885:8587:888787:885755:57:7587828878758885788733205233553827753755255775:15852375552-./237232251//220002+)ADFGGFDFIHKH?HHHFIKHIJJHIKIIHGGKGEJLCEIDGJJHFJGJILMIGGKHFEGGIHGDIA?B?>?<<><::>><:?AABEBD?>?BCA><>?????>:<:::<:???><><A?F>?DEFBEEEECDBB?ABBCCACACA??????A?A?BDBABAAAA>A?A???>BA???AAB???????B?:?>?>??A>??>????:>:>><>>?<><><<<<<<>?<>>?><<<:?>?A8<<:<<<<>?<:<<>?8:<<8:::?<::78<8:5<::<<:<:5585<77:::<:5:7788:<<:72::<:8558:5:::85582887878828888555:878:7757:855:2587.8835535522257558532255225782755725520528305725553/5.13788552220522/FFFFCFFFGIGHHAIBHGIJDHIFIGGIJLCJIHFEGKHHGJJLHFDHCKGGGJHDEGGHIEGDA?CA>8:::?<<::8::7:::<<::<>???<:>>>???CB???A?<>??A<>A?:>>?AA??>>??>?>??<<<>?<<<>:><<<>><<8:<<<88::?<:8:<><:::<<<::<<<:::<:8<<<:8:7<<::<8:8:<8::887<:58<88:::8::8?:827<:8:8:8<55887::58:888238878855788885:8:78583237753355525535235857557358522537222355878552532/5222550//02330/0/55320212FLBEFHHGIFGFHDD?IHJJFGELHKHIIEFJGIGKKIHGGIGKBHLLMHJJIEIHJGFD?DAB>8<5588>578538:::588:8:88:<:<<>B<<<<<8??<<8?>><>:8>A>><@?AAB?A?>A?AD?AA?A??AAA>>>>???>?><><<><>><>>>A??><><<<8:>?><8<<<:<><8888:::8:::8<<:>:8<::<<<7:73:8:>:88:88588<5:8:<787>:88888:8<>8:88::<<:8::8::7<:7535:<2::377878135:5<33:<25778585722758:<73353333/523258572355223:2-805573253558:/0323-/.2315312.*DFEBACCEFKBGGLJJGDGGKGDGIGGFEEBHLFGIGGIHIGHHJKIHFHHKGIHIGFGGDCCBA><<<:>::<:?::<:<887::8:<><::8::<<::<:<><<<::<32212553532451//3868?C@@?CBAA??@BBCBAC@9BC@@A?@@???AACA>?C?B>?>?>>>>?<><:>>><8<<<<>>>>?><<><<:>?><:<<:><><><<><<<::<<<:<::<<:88<:<<::<:87<<<::888:::::8:8:<:8<<:8778:::<8888:<:7:8778:8588:588::8::A:8:55888:8883788888883288752773:575553558525225821855558515357723255503223127771222/555330122751521/55)+5.*+DECAIIHBECIFHKHJFFGHEFGBHFGGKFLFBKIEGFJIFJFHGKLIGIIDHKKLEEHHDC???3280228+20)250.52)+-1/208::><<><<<>5<>><7:::A><3<<5<>::88:<:><BAAB?BCB?DEBDBC?CACCCBCCD?A??A?AA????A>B?>>:>???<:>???>8>>>>><<<<:<<<<>?<>??<<>?A:::8::<<<<:<<>8>::::?8:<:::8??<::855<:8:8:8:::85::7778::88<7887:<8:7278::8:8:857>888:8888:8855588:1?5<855<85351:888858812:75525:857512780225515557218022125252551/157321/5101552727235582+.572...271DCGCFIBAEFECGC?C?KEJEGJHJEFGIKGEFGIFGGHGFHGHHIIGHGIIDKHIFGFAD?::2275/20.01--*/./..0/22035:::<88:::<>:?<:<::::88><:>:::7::<>:<<<<>?><:BAA?>:??>A??????<<<>>>???<:<<>?>>:<:<<<<<<><<<<>:<<<><<:>>?><<<<<<<<<>><<<<:<:::<<::<>::<::<::8<:::8:7<<:::8:78:<8<8:8:<7:::<::8<::78<:8::::::85787775887<77:788885<8552588527753:52878577285:727758:552783555555555812553557533215511225233502535355732/7252352-1103.12575..2-02110KJHDJDFHCBDEJHEHLBCHDCDLGGFJDFFGCDGHFCBIEFIIHIGFHEFHGGDEEIFBB:5202**+22+1+*)-)+0+-+2//.37<:7:?:<7::::7::575::>88:828::8<>>8<:?<<8<<:2/21011././0-.-.-038<>C@@?C>AD?B>?B@A?AB??A@@A>?AAA>?A?A?A???A?AA???><:>????>>>?<:<<>>:<::<><<<<<:>>8<<<<><8<<>::::<:::<:>8<>>:8><<<:7222+232++0./-*.-7<<??AAB>AB?>A@A?>@B>????>>?A??<?:><<<:<><<<<<::<:><<>:<8:<<<<::::8<<<:::<888:75<:8<<<<<<8:88:8::85:88:8<788:::8877555888:::855888888888:88:355558888788357835:8757775555721588222213828532750231355323222215851321273228235523222231352./035252752*/*EEEJDDFBCFEHDFIHGFDFHBHEHEGHIGDEIIGHCHHFIDHEGHHJHHFFGGDCDC??<:2"*++&*--+*&*+#+&&(*&+2273527:8<:58:5:85::82::::8::<:<>:88:<>?:5><:<<:<<>8:327521+10+-+/++0+*588?A>A>CB??ABABBABB>?B>ACC????B??>A>A???:<>???A>>?><:<><<<><:<<>?<<<<<::<>?<><8<:<<<7<:::?<>A<8<<<::::<<:<<>::<8888:::5:<<:<:7858::88<:88:8::<:<<:87::8::8:::<8:838<88778:128558885:588887:88878878777885::833557555887723575752525238852525871558220222533287532252+.03373023722328+.2::020/52002232.220021521>EDFE?EHHHEDGDCFEDHDGFGHHGFIEEGBIGGJEDEFGHFHHEDIHEEGGFECCDF?<53(/.++*-)&+++).+*-&)..025578<<<>::<:8:88<8:88:<<8:::<<:<:<<:<:?<<8<8:<<:?<>?AB?AACC?B>?AA?BAAAB??AA?<?A??B<>??>:BAA??<<:88<:<<<><>>><>:<<>>><><<:8:<:><::<<><::<<>8<><<<:::::<888:<:8<<<<:::::888::77><<:8:88:<><<<8:<8:87::88:778:::78<:775578825:::8::8:8787::55878858255825585878852555585355525323277288758758552535205551275252233235253152252.32731/-0222382375200/5521227021022./5CA?CBEAACDEHFBEBDEBCEGCHFEFCFGDED?DHDFFJDEDHFEHHIFDHFFDEB?31++)(%)(**+-+/-)**.*-+0175:<<85:<:::575878::88:::><<8<<:::??::5<?@?>>>?C@@??BC>CABBA>=??=A??<>?::???<<:><:?:<::<<:<<<<:?><>><<:<:<>><<<8:788:<:::8::8::::8:::<<:<<:::8:88><:878:578::<88::5887788:::8::85:58::87:758:<758877525787557887:8825757:7557523585538888855852558558722103572/2/5221553//1/723/./2075---22.052232323233+20132311.1203735++(CABEDEGBCFGDEHEFEEDDHHEGHCDGJCBCGFGGFEHEFCFEDGDDCEEGCDACD<:731-+++)..+*/*++*/.-.2)*/12358:8888:88:78:888:88:88<<:88>:<<5<><<:><<<:>><<<>:8511-22.)-.&++++-057>@>??@>A?@CAB>>?B@>??;<<A?@??>@?>B?A<<>?>?>:::<:<<:8:<><>?<<<>?<><<<><<:8:<>:8:<<:<<8::<<:<<<<88:8<:::::88::<::::8<::>:::88<<88:88::8:8:::<::7:788787888857783758753557788:88:8788585537578:::8:72888835288:757355555575/858:71353352.35555585537325535522/122235832220.25502523/2310325531/.2005852221231+*0/122032<>C?GECHFECCADHDFHCCFEFCF?<>?><>8:?<853852+**1+**++++*+/3887?A>>??BA?A??????C?><>B?ABA<<<::<>>A::>><<>???<<>::<:::<<<::8:<<:888<<:::<<:<888<88<::::8888:7587>:8::::88::8785::88877885555888888:?7:8:<88878887875:85838825::83777788883538:83555:5235:575272285553::73:/.5725288553.3025:1053125328711512521-2232))13.132135213/25320.3/1/.81/2-+B??EBC?FBECEBEFECDA>DHBBEEGFFFEGDFHCEFFEFFICFEECCCDEFC?BB:250.)..(--*++)++-//++*/-+12578:8:8::78:77:8888:8<:<:8::<:?>><<<:8B???????>>>?<>?>>:>B<<:><8:<:?>:>><:<<>><<::<><<:><<<::8<<:<<::8:<>:8::<><:<8<8:77::<8:877:<<8<<>8:8:::::878:88:::888775287::88:::88885887888:8828857:<:77:825885858:7288837:555::05855787537783558855778515285875387532258833352575735202.223.322212221252025255033221320113.2521128713+/003120.12)-1.25FEBEEBACABBGE?BDCAFCAC?DCCCG??FECEBHFD?BGEFADGDDFGHD??<>>:0110///+--..../&/0//++.88-5:888:::<:7::<:<8888:88<:8<:?<8<>?::7>>?@>>A>>>CB@@?A@>>?<<8<<>?>>><<<<<:?>?<>>>::<8::<8::8::<<>::>:<:888::::888<:8::88::8<:85:88888888778873888888:88:8888787758785:5:88857::::3513583778723878758827555558753775:77:758278235:753558:52555522/3253237753+0232571535/22513222332552+/575..0022/1.50)00/521133210/-1+1+&//3+0+)DAEBABBDBGDCF?BBHFGGD>CADBCDDFEEEHHFGBDBCIFECDCGCCDCA>>A@BA?>=:<>=??=><<;;::>><>?<><>>><::><>?><<<<:<<>:>>>?><<<<><:<<<>:<:?<:::<<:8:::::<<<>:8::<::::87::::88:8:::8:::888888885:88887575:8788778887887885778553022:827577558858877<77538:878887777555585257357585355553278872275258751332287535-782275353587232.570553555322225122322020)(/20)/232/-15./30/301./2(+-+220+A??FCDCCDEB?<<732)/.2))--0.+0112/(1532-12:8<755:<88.:<:878785:88::5:<:8::7:728858888878:8-28232./0+)(*(&*)/&$+/25<<8A>?BBAA??:>:??A<><>>?><<8:8:<>??>:<:8::8<<588:<:::<:<88<<888:::<<<::::388:::<:::>88888::::7588::<88788578758:8:8:7587:8787857:78:78557:887758557577327252855588358885:58878873:70337888875527218723335228782355:2572:522723:52521&211021203215222320/520553..2352/111+52.23*0.2.*3-2.+0221/.)FBDEB?GCBGHIFFHFEDDE???A<?AB?>>??A?>BA?<<<?<>??<>>A<:<:><<<<>:<<<<:<::<<>:<<:::<>8:::>8::78<::<<::::><:::8<:78:::::5::8::778:88778::::87:88:87:8:8585::758858:8::8558:587888587788877:5788:7788775755553525558757788557888753:7532257532078885523323557:550/122751/.25212338-202110/-23251321022050121102221+2212122+71--0225+11-+../.-.)2+)??A?BECFFABAG??AA:CDEEEEBDB??>?>??9>??>=@?<9==><:<<<:>>:??:78:>8:::8::<:8:<<:8:::><:>:88:::888::::8:8:8:<88878:8:8:::88:::8537887871:8::78885585::857888858:58855758:88577887.58583353782552553588725523883232277555535887523257/75:22:882721.202022..2373-7220371.2.0225130120225/-022030/..52-02+/22/-2+*+170200+..0/2))5?BACACBA?:>A>DCACCCFCGFA?AC?DA?DCFCADDCBDD>?DDB>?DB<<8:25)2-)+-*&//$/(*/(!.(+/2+/327<8523725:55/21888212535257-2552222022++-2/221.33/..*)-).+-&%$)%(&&(.02177?9=>>==?<>=:<=>>==::8=?>>=><>?>:?>><:::?<:88<::?>>::><::<:<><::8><:88::7<<8::<<<<::::88888::8<<88<::<88:5778<<8888:8:87:8887:88<:7855558:588857387538373573877788885875558872877:885555537775518582558585555333357333285353553/220358752255+571752251+.2-325551//2182252-02222.1//1//1+-2/02-222/11/..25221/03.3233*-/1.1/>8B?C>???IFED?BEGD?ABDFBEDBDD?FDCE???G?DCBDDECC?>?ED<>3/1*$%)*$-*0+-/++.%+//.-2/2131.+3858508722553102/58555-2--.1+$-0.//322.++(1/-+-1)**-**(&$$(*(&(&(+(523::<?>AA?>>??>><:?A:?:::<<>5:<<::>A<:<::<778::::88<:88:::<<<::5:8878:88:83:<:::8752887<88888::87858:888:87588553:85877:72787558::38811578832778283:7288888872352255555335303587*58888555755552:225:22532::58757227251355+/32222:52-12332222./2302/.5/151512223.+0-/8.55221220-2-15/101///0/2550+./.0.?B??D???CEDA>BADBA?E>>>8C?<<>:?>??<<>>>?<>?><<:<<><<:?:::8:<<:::<:8:<<<<:<<::8<<<<<<<::88:::<8:>:8778:8:787<::88787:8:88:888:88::::8775885218778538857578855:357785883335377533578855878525773852335535325535-5535302:5355327823577551.232822551352123212505121.20275-/2/522/-0250/0.322320+/7-)22/.33320-.&.2/02223*/1+..1&)113%0151.1/D?AC???98?=>>>::<<<;:<<9><9=<8=@<:>>:<988:<<::<><><:8<8:58?:7><:8:8<8:::<8:8:58::82<:::::<8:5:88::::577857888:58:35882785578:57:87575555575875573:2588855838758538525315255355:5:555557258522355057373253575535228523753521355782555>80355575255303872/2/11351022/12.25/232.1.*3+02.15223/).1010(37112251222/1223512+-../+0.++021-30):?<::BAEAAC?C?C?BDFACCCDDDEBBHHBDFDE?D?BA?C>CCD8C>5:80+*+-+(++%.)&*2/*&*+0*0+.(.).%--.0-0/+//.0/0/2.-+-+/-+/++)++(++++$%+&&()$)*(()*(*(&)&&+((($(+!+*(+-.1228>><>><<<<;;<<<>??=<<:;=<<>;<:;=<<99:?8><<<<<<:8:<:8:<<:<:<<<:::<<<::<8<88:>88:8::<8788:8:88:35:<::887778:8:8878888888:75588885258357887778:::8273735755528828785753532557557835555585725378837315:555885727755855555223115/18532535533022220/53252855323332222-23/5/21.1..0+2121202221/51.2322502021022++/-02-+255.22./1/01010&-+(.EECC>DA?A?>?5:?BCBDBBEECDDEA??:BGA5870002-&&+)&)+#+*+)+1..(+11&+*)..-%/+*+*./3-+**++-&+&++0-.++1.*)++.+(&)!%(&(&%%)+.##&+$*+-!&+)$&$$)-1.2857<:5:::?>>::<<:??<<>:?<8>?:<<<<:<:<::<::8:8:5:<:8:2888388885::77588:87758:8857575::7757388285882238728887525887785832:52558778755585582238338525:88555:75531.552373505315512123355252521752225223352253125321/5/222.15/-31.021.1/.832212257--52.-08212/---1)5220+/502.02+/-++%0.*/272C<>B?8C?DDFDBB>B?<C?8>A<87/-+&(++*)&)+&)+%&&)++(*.)&(0.1-((+.+$&()&(&).0+++*$)//-)++-.*)+**)&%%+%(&#&(%&$(+*+(**+&+#)$"))(+*(.-17888<<><>?<8>><>?><>:>>?A::<7><:<<8<<88:?><::<<>88:<7:<<<:88<538::8:88:5888:<<::::::888<<<888::8<:78<:7887:57887288887588555587787:88:28:5557852585555752573375588588872587552187527355325857127238533322532155125225233205301212535202351-2-532252022-22/311330/521822100/.1131.5.2100+1-/+/++..*2/53+++(2-.+/5-+.22+//++-*1A?><8<::?>8C8BD>B?B?81:/0++#%&%**&&&)*+%(31)-0*.0.(*(.)&+)+++/20-/+&+&&/&*-*-+%&)(0$&.&%&&+)"++&&*&*-&&(&#++)+(+"%(&&&)&#%+0/+28:;>:7:<::8>:9<>?>:7:<;<<:9<>;;<:9><<;;<<<<><8><77:<><<:<:>:8:38:888::8:<::::8::::<85587:88751388:<8:7558782588877388735583578757355552:85355515557355555278178755277722333.258551232303721537832552/5555-855835285522222+3223572222121003325135(1222107030011.2+5771-115211220++.0+-+-*2011225/2./500++)0+0+1/.*1.(+52+/+&%++3/+(+?<<><<BA?DD>B>?E>??BC>?FCBC?BCC<<:<>:21)+)()#(+".))+*&&%(+)+*+0+//)(+)*-+++%..)++)&)0*%*+-.-*(/*-+#*)%)++(++*)*)&+#%&+*)()*(&)&(!)(&%++"$$#%*/0/88<:>;9<<<<>><>?<:=<<<;:8;::<7<:8:;<:;98<<>:?8<<78::855<::<:878:8:<83:8<:75<<8588:8:887885587552::::88575:8785587558878877872323883853575583233537:85585555253557353/58525735887852577852203372/223525552/533011830353780125023202525321122115221/57531/255202512/2-.223-0110220-0223022201/0+03+0.-1.051/10*0+.//./1$001-.0(0+/+52B>?:>AAC?>C?>G??>?D8A??<>?A???7A?BE:<:<<<:8?:<<><::>8<:<88:77::8888::88:3855588587:5855557787:55:83578355377333883552:7555873350352278337555355505535713535250122.3575:778872223323525535150238:2377112385585232222/111+32270.1202/0152+37//1/2131232+15.++.0+1.05220202++/+.+13.7)&0//++2-%-32-0/01+-.+-%$07?>??B>:??A?A<>C?B??>??>8+)&.))&&$(&#*(.*%)*-+//-//2002+-+-.-++-+(+-*00&.+)++.22/10/+./.2/.)#+*-/.%+$&()&$&$"((&%##()&#%((%"%&&+(12255:<><<>:::<<>?<<><:8<<<>>8::<:?D8:A?>7>::????>?A?8581&)$&&*)($($"&*()&)+-..&(--/02+.2/*+02).-/+.+)0./+*)/+&0/1-+1.-+-3++12*++-*&)*)%*$-+))&)%$((*&%#$%(%&&%()**1353:<<;4<:8;:<:<<::98::97<4888<::<<:<<::<<:88<:<<8883787:8880037::5:::8::8::788<5<<88:8:85:78778::5787533758723187388:73323752/555578535772381258382223213252552520213215558523533053572252355/+8112252127720122525/20.221752135223251253.12252.+/.00/2/.*/111/2/.2.+3+20/7101+(0(1121++*/+10(01+(/+**0122-0+/-*2/+-012/)/0*8:><>:8??:??8:?<72.*&!"(+"%$%&(%(%+--***100+/..0*1+3.//*%)+01-1-0+-)11--.100*-.*)00221..%+.)++((&(&((%&+)(&%))(()&%(""&&%&$+502373:<<::<;<<86:888::;;<:;;:<;;:889::9<::<<:<:::88:8<<7:::8<<:8:75<:885:88888::8:8<8885:5555:877177785<87753358::8557582283255535835.375735855722321753:350222532/27557755553521232513122572522355522112//0252833031/255/22.21522252212132.00.05//100/.2)/13/..00210/1*/021+722.5/++*1+.//..-/2-01/*&.13&+-/++*+../.+-.)0+)//-++)21?A:8<:><<>7787+))%*#)"&+"$%(!$*22.-*(+/1/1/2*-++.2..0/++//20.--&0./0--+2201/0-0//-+++-/()+)*%+1.)&&*(&%-(&&#&&&(&""&&11788::8:::55:885:8<<>?8><<:<<<<<:>8<8:8<::28::<<87:88<88>:78:8<58:587::8:<8:8885::77:557888885735853778877888552538575587238555532551525225822252537212525827721/555+735527723235552552215/3532252.2/252.53552-1225122/215525:3202032//12010+025.-)11/2.1-25011*1/2+.00025/+./0/-010./...022/522010001+2--.02230.23+1+-++.*...+001+:<:88<<>A<<:>??5>8??::?>?<8B???<?A<<<>330-(#()#"%$!(&$+&)#+!(0/011-2+/-222)/13/--(+0++21-0&/02220*/2.1/--+2+.001.*2*.0+0)*+-(.+.**%*&&%#&%%$!%*+++22/557:87::8588732::8<<5<::88:::8:::888<8:7::8:8:<::::8:877:78:8788778:5588758358:8:5277887575253785577585122115535525337553555331573332533222535532523232232321305302022258705232221332153720222.5552553500.352235.355335232&.122025.0/./.0012230.100001//.2.-3.+/.30.2-20+...2201-22-+/*+/-0-.1/+--+*//)222/-(*-12/+)-+/+./+.0<5:>:?A?<:A>A?<:E<7CB??>?:<<:<;<:85::888<::5<<:<::825888<8:8827778:8855<:88:85325571:527725::37:835257588758555355222535127535352325501222221/132713022223/1725528-/052275305000321231+/223110535.055+212535/15252*1-1/32022-02.1/.-23230//0/20///1/3253251).++0++./20..0-10/0..05&.2//1/02.2-(-*&50.+*++050*-+*(-.0)0*(/3+/&$*/2?<???B5B<7<<<A:A?AAA??B>8::><><:>?::::2.+($!&))"&&(&*(*&&+.+-02.*)1.00-1.--+-0/+/++&.230--++21/0-210*0131/-(1338310/23200*/+/-&$)+)+&#&""!&"%(&)/.1-+1255.*0253027285788::<:7:88<<::<8:8:887::<8857+552<::8888:8788:5:28838<8<5:87378557778722857557855878:88753553/5372321555135555221222232002323355522.35257553573055330-231835511325.3255*-5112510150200023352112/0022./20///+2+/121022.-20*./0/052)/223.(1+./+).2-...+//1-+*)+.230.+-++&+-/+0-./0/+*-*+&//++�+&-++.+(0/0%&!-8258:<:<88::<<:>:<::?:>>A::?<7?<:A?<<>?<<::3/2+&#$%"+%&&((&&(((/-&//*(+2--021/-01//-(*(+/.-+/-.*-*.-.1-.--+-+./10/-2.0/+12-1012.110./---&&&#&##%&&&$%*#%)+-/0111(-.++0/../555::888:58<888737:888<<855782888753788:8557855:2887775878888835:757777555858527577855255155873225852522582552733523222103525532122223011201203020./232/23/3+-+7322215225555121-1)31510021335+2522//.2012211222272520/122/-/0100/0251///112//10/...+0/01.2..1-++0222..//-*.*+/&+)+(/3-1+()++(+*).-..*.0.)+&*(++*$&):>?<8:>?>?:88<8:38<:<:>8?B<::?><5?:8::88:3501*&!"%###"&&$--+&%%-2+/-+*+2++*/-.-110&*--10.+.3//+++1.+-+1-0(/.)20+/1-21/2011253052--.321.(%&&+)&%)#!&&%!&$$"***0---,+.*'-.--..24::59<:89<::7<<9;::67<::<::885<858::<::52::7:5585288888788855:857775555525715855252531277537327223:5/323517221352/21222322232532112221/0102332215+5+1312251../551+21/11535522+2/02-2003233501030/173/0132.&+12+22.*22005022120--(.11-02*+2+//.0+1211-+2.(-1+*.0+$/-*+((+++/013//22..-*&-3202-+00*/((.1-0.(-.*&++.588:528:8:<88<<:75:<>?<>5A?><758?<::>785212+)&$(#&%#$"))#*-$+/.+.+.-*/+.-+-00.1+-*-*&)-0.)-++2-.++++*++-+5*)/22257212322102230723+.1/+*"&&#&&%%#"#&$&&&.()(&.1+(**+&&+!)1048:<==::8958:8<:3/55875775:8877::::<738:8855:::8:88:8585787825588853555233757353755855758585020325211251252122352222325223210+.2233220112022222220/3222212/002221125/0010232//002220/5-213/21/./03323202/20112+.120112)/1022*/5.//20..-/0./+/1/1./)(-/++*1-//0*1/.++*+/0.+.-+++-/.))+++-10+&)/$++--)+*&($&)$++++$:?71:>:87<::<:?>5:88<><5??8<<:<:<87:73&0%+"&+("!+-!)(-()+-0-++0-/..(1/0--+/*-/..-(2-**(&+*/+//-.01-//+0.-/.3-*&.//135.182123/57/&+0+**%(%$%%&(*""%"!&&)+&%)&$%&")(013388::5:785858578::81<78:883755887288887::88:55:888775888275777735523557558533755803228525257251232531332225501253522222852/35/+1222.232352503202225211.5228322012520/1-125552152201-2-53+121*/3-532512-5.+2200-/210120+-0/2-15+2+-+.+*1/+-./0-20%/*!-1+0//0.+.-*&+*&$++-./*32+)%-&+0.)-.+(2.&))++0+%$**)-+)&+.+&3378:8?5:7:::2:<588:<8<:8<::?::::8::<::855++*#$%(%!!$#%&#"&(+++.)+.*++++/..21+)+//*0++*-*!*&&++-+0.//1(/.00+*120++///003312201530/212-))&(%%&%#"##%%)%&))%##$$%"---557288757:788875888:755:8785777858888:7558857758888555327757:8553535522585253757585525570235223325312323322135202252212010122/2/20/202./120021/3720023122./*.10/.12/-310102+0112+200/--02/-/52/5/21/-+../0-..10/1+&2-20-0+/00.+.-+*.0503/1+/000++/++000/+0++(1/-/-2.-/.*(.-2-))()(+&$++0+)(+&+)+%+(#-/0-)+)*%)*--/258(5<2:?:<5:<7:8:78?88858>78.7833:85/0*(#&)"(&)$(+%+*&-./*-/)02(+/+.+&++1+&0/-.-02.*()5#-+*.+*+-/..2).++.*0+-/0/135202512002+(0/1+*&$$$$$%"&*$$!"$(%(#&&%""" (##)0.280555:8175832:8158557885:878:88775:5537758882558355535527582377855:78855025127375023327770532235872+1222222-/-112-./100+3222572133325-.210023/*)0233522525-101121302*221/05502/+-30221/.++2211125/-020...2//)+035.07000+/..+0&+./.1&10+*12+-+-0.---1/--/-*&).***%&%)+#%.-)/1&#+.&***+&-&0+&0(/)0+&&$/)(()(#"*+(528375:5:>>0:885:58?<<:<72<5::::<:8><5:::?>:8<8>A>55/)(!%""$&&*-+*#1)+-+++0/-+*0110.()1%//---+&).-)&-+*.+)-++%.02//)+112.0-(22.-.150&2.231--&-)(***%#)&#%""&"&+)&!((*)*!!"01/88:87837553235758888:5873322388573555557757:527320.58852152522752155773555721553277802522353522225311/112222/520//2+21111.0/2220/1022.235222+00-.32003+1/22525/253-12323/-000+221.1--.00023201155+12/202/2223/.-001*.0/.32--&$+/2--20-2++0(-)/02+&()1+(/-(*+.0)2*.&+.(+++.++%..**..)$)+&22*$+)*&#-+$)++&)&&+&0+35238:8>8:2<558<:587<7887:><87:><:8882-52/**&&%#%+(*)++*----*-1-)*/1.+1*++*0---+.*(&")++-.*10++/-+/2/+++/101.(.-..12-2.110/1-*521-0++%("##"%##"%%$%&((&%%"&!#"#(/.553587872838255757771573:857:87537775777755378<815252723388352/5853555533353233720/2353322153222522.2/.3/222/3/022/22222120.2220+.002/-+1/200./32222-120-112///010.20/022./210-22++0*.-0+111.10220002/2111/0/+*/.+$-/+.+.--...)/-/++/)*+-0+-(--+"&*--2+&+0+.*..0)&+(--/-)**)+.&&&*++%.*)++&&&+%(*&)&&))&+*&*+))++383223:8::88:58::>A8588288<:885<5:<28:8303&%&(!&#$&+01&&-*)+.-&%32.2+-/0/2&+*&/&+&)&*-$+)-22.-++++*+0.0+&&+.*.222-2/1523(0/2320120--%$&&$!!"&"#"$#&%)*!&%&+"'#$#+/32862898:320272688258563:87557588873527555558532555232558233722575213205252221532.2355513251323222201502522/+00221.02132.002211/010211-/11022/--122013020.222+.+00+/11012/13222/30///330000.0./(-22/1-202/.232&+-.0.-.2++/0020+./22-2./1.++++--/0221-+()-100*.0*200++%(-.+.+*!&."2+0()*)$(((--+1(%%0)%+%&(++#-+::5:5822525::85:<:<8288:<8>755523252><8?8:8<:8:852212&*$#$#$%$"%%(-+)2+&)/2+)(*10&--/--..&(.0/*&-))+-2+++./+)-.(+&0..+10/2/+-02////.32.0./01+.0*$&#%%!&$%#%#&$"&%%%&&)&&!!!!$𛇏/088872.5587873555822555383223737755885752555303577:5255225352517322212107325221220130./25132.00113015--+-.1120/12--1112)202.22.//0-+001/1022.150.00.12-212/12-+.*2..//3120120-0-/0-.*0+01/1.221/-/-10-(.10.*/*2++-0+2)/-0+*/)/+++.023-2&&)//-)*)(+++++++-.+#)-)*#*.*.+++%.(-+*&&-*&!#%%$#1*/+&($&(&$#&%)" \ No newline at end of file diff --git a/FactoryTestTool/frontBoardImage/20240903_152616.jpg b/FactoryTestTool/frontBoardImage/20240903_152616.jpg new file mode 100644 index 0000000..b4cadd1 Binary files /dev/null and b/FactoryTestTool/frontBoardImage/20240903_152616.jpg differ diff --git a/FactoryTestTool/frontBoardImage/20240903_152616.yuv b/FactoryTestTool/frontBoardImage/20240903_152616.yuv new file mode 100644 index 0000000..6438489 Binary files /dev/null and b/FactoryTestTool/frontBoardImage/20240903_152616.yuv differ diff --git a/FactoryTestTool/frontBoardImage/20240903_152644.jpg b/FactoryTestTool/frontBoardImage/20240903_152644.jpg new file mode 100644 index 0000000..0c9813d Binary files /dev/null and b/FactoryTestTool/frontBoardImage/20240903_152644.jpg differ diff --git a/FactoryTestTool/frontBoardImage/20240903_152644.yuv b/FactoryTestTool/frontBoardImage/20240903_152644.yuv new file mode 100644 index 0000000..8c3143c --- /dev/null +++ b/FactoryTestTool/frontBoardImage/20240903_152644.yuv @@ -0,0 +1,1802 @@ +.55/..!&7*/*03005?<:A8>?:<)8:>MpƟ~\?<-&&(&$%#%#'((##%!"!&%$#*&!! +#"%%+#"#!(#( +(#&!($* + +")%#$)""!!%(! !$1 +"#$!  #!.:gɶtdE1&*$%$!-!)0+755?:<:+"22:1+&&+++0&2!((5+)0<8AF:2/12571803&2%.+$ň<52# + "!.-+>??EB85-7557-.01#/((/.5-3:>7AC?I??><<8270.7/2+2%&($*)(&8?77>:?MFII>DA5758HUnˣi?$"&&$!!##1% %+/!*)(!#)&."*"""#&%#! ""$ &!&.#!&!+ + !%$"(!$##!  + ! +   +!!+*&8d|޿kR."%(0<<7:+-(-02/).-/.78<?5818:ASuʡcG5*&&#$# #&"!#$ !$"(&"$#"##!!#"&!"$#!!!! "#    )%-57*78#/52+2/*++2D18I]yСbI+&/###$"$$ "%-$"&$""#$$$"$!!"$ !!%!"!%"#!&(!&&$"! + +  +"#&!-2Feүy^:#"! "&/8<:0205/&210&*+)$52?<>CJGEH?B?AC:>7G^uҨgC2%%"$%)#"#%$#%!()!$")(&+#)(!#!!"!"" $!"!!""##!!!)"  #%#+:Pkϱ|a3.!**0353::253*8/2.-1-#0):33:<>DHKKDHBC<<::M\xЭiL:)+&)!!$)%!(&)(+ #& (##"#&& "##"&&(!&$""! "!"!$!#%"%""" +%!%!!"#"%! !" + +!#& %##"# %$:Ic{ģjJ/ !#&#-35B<888:.8/1/.)+*2))?ACHJKMOJIFG<:<5>IZ|ήkG>2!!"#$"%$&$'#*""$$!!%&)")##!!!( +"""(!"#$&$%"%"!"!!!! !&   +  "%"%.0?Wrβw^8+%!"#!!08/1/18.3/2"/.A/1:>LKFJLLGB::<88LVyҮgI>)0&##"!!#*&"!&%!+&+#()##%&$"#"&!$ !%!%!#%("&!$)"$-"" !&#"!!!&#!!%" +!!$ !(" +#!"  $ +! +-&%*Pa¡eF8# +$!!!"228?:B83%)-++//25/75??BEMLGIFIKGG>::8F^wԫgM2.&#(#(%!%%$!!+&!#$&##")&%!$#!!!&#"&(#!"&""$&"&#!&)&!! !#  "&+>\xׯy`<.%!$!-+-07:<8DG\|ӬnD?+$&(%&.#$"%#!.$"!%,$"#"$"(##!#$"&%&+!"# # !#!"%"%&*&#"") "! !&""  +! + +       ##&20?JkݽaH+.! &!-%+5813+./133+-2+/22<1<8?F>HOMKEC?<>:?JayӬoJ8*&"&&*"#!!"" #!&!! ""$"&"&%#""!!!"& +!!%$% " !!%" +    "!!#$8J`|ͭuM<&!!%(237-018/".03:2&2285ACFEOLPLLFFCA>>7J`yӭgG2-/!"")($"$0!*%&$*%("&&&!#&!#!$(!!!!!$)"&$ +!+!*"%!  ""  +! ! !!"&$"3>DCALKMIID???<8D]xӭkO33(&##"$#!#$%)!!%(!$$"!!&#&$#!&$"("#&$#!"&$#"!"##%""#" !!!! + ! +  +%*&)3/Mk­qL8%!##"+8<:55530/0+)2727<23?HCBJIKILG:A?B:GZuիiKC+-#&& &#"!&"'"%%####&!%)#!*%$&%#"$$ "!#$!"%""!!$&$&%!!!!!("! +  +! + "! + +%"  +  &&&$.?^u׼~^D2.!!#$3/80-*/2571-225:AEFDHOMPBEMEF]wϦgJ8()((!%&)& "#$"""%#!##!!##(!!#!!#%##$"!%#  ! $+18Vr«qM+!!%&++/87+(...-$&)%.222CJEMFJJIPBC>B<:>K^uġgI2/%%)$(%"""!#!!#!$$!!!"!#!##(%&!"!!##!"("!$!""   !"&"&&0?\u¥oO3&"*1-)188222/%+.+)25:87DFIRJKKDGGD:7<8AUjί~dA7&%!+(#'&"&-!" #(!###&*%%!"!!" !"$ !%#"!#! +!$ + +  +   +!!!#"&&)&1Lc}۽dA>)#&!&""3:3:1*12+152:::05G>DJMDHOFEIEAC7HVg{Ͻ~`77.+!.$!"$!#(!!&!!&"%%$&""!*&&""&!#)!#!!!# #"#& &!!%&#!"#" +"   $&%# #  + +  +)"(!   "".-+:WwʮqY7!#!%"55551?2500-255+:C?EFFMOOJKGEB<5:CRbqǵ{a>:-&)""&$"!"""#!""!!!"&" +*$)$""&!!#)% "!$+/:Gk׶^E.&75--888237/3->2A?JGGHLOPLMH?:8<5??GHMSLMRHEC::2?BM^rŮwc<:&#)*$(!#"#$($#%#)(!#"&!$)$%%$#" $$" + )!&#!#""!$) +$""!  +  !  &+8Og㽠gH+&&$(0(52285-13(23.5?DJJKPRFKC??>BRkɬcK3-)!**" +!!$!%%!"!.$%"$!$"" $ "$$!$"#! *"! +! $ + +   + +"#%*0CSmٺa?0#8:82<++5#.(+/887:8AEYu׹kP2-%"$!##!  ("$"$#-!"!!#$! +""!##""     !!  !"$55OeǨkO2&(#&!5710/25<:&20.<02A:><7Ldگ~W>($(%)$"#&%&*"&$#!" #&!"& #%#!!# +!" +    +   #!$)%#(!&(522)&$/2-:-328A>EIHMJLLPGHC???AUj⸛~]C0-*!"%#""!"" ")!#!#&(!!""&!!#"!#     "$(./D]{ӻbD0)!#$><525/55+3.%#38>>?KDFJOILEHEDC?>FPieE/0(#&!&!!!"#&&"%""%!!"#( &!  &!*#"!!#!% +  +  !!#(!     + !!$+08:ECAGIKMPMMJFDB:HMkƨiK30%+"#"("## !#$$!%#& '#$$$!##& &!# %$&($"&" #! + ""  #&   #"#$(27W{pM5&!7-/2:70&*.5:2/5C?DCFIHOJMGLCD:>8?JmʭpM5*&%!#"$ "&"")$!#$!#&$!"!"    + $$%2:VpǭuO8$#!:&2*+-382(2(.8288?DBLLMLROLDED?BGPjвqJ:3)*$&%!&$(#!##$"$!)&!!"#"#!#"#!#!   +&# + (  +% "!1*DLgܵuWA0($#%&$&!$%"$%!"!+$%")%&&!"%)%$%! + + +  +"# +  +    "! !+.5UqʮtW>*)#5/18..8.1+-.152<>B?CJLMMKMLKD??BBMb~޺{Z<()$%"$#"! ""# & !$"(!!#"&"!!$!! !! & +   !"%-8Jdնd>%%#$2:053.30:/**225???CIFLKPRMH??>DFPd~޻|Z?5.+"!"#"%%#"!"$$ " + +!!! +  !!  !    + + !&8B^|ŦrP5&"0(/)+230+0+.+.07BMbxǥ`K5*)#+!%$&!!$!"$""!##%$ +!&"" $$ +    +  + + !# + !&08Ld׹g:.$"5010+20102.2-+75A>AegG.!%!+//7031-..0#0228:FTqܶyW88)$#"#!!$#!#""!" #!!!%!! +      +!-+1H^|ɪqM15/-.25(/2((.1388::HJHGLOOJIIKICC:KSj޶}]H8+*+#$ + ""$$"&!#%"##! %#   ! !$    " +   + +   +!*+0EYrж}^:00/.1%13-+.(*1+38<:BGHBMMLMLHDD??IRgໞ^>2++)$%#%#""""  $ "!    +   +  + +0+Jg~ɯqW7 7.11+/./2/*&2-..>8Lc~ŨkL:0.+&&"!"!%!#!""!$"&!!!  +   +!  +   + + +  + $"%++>Tk¤dJ+*-/*72/1.+*--.25.8BF?EHPMMMLGFGAADMb~ȫpL51*""!!&##!  !#"#!   + +         +  !$/ALd{ȮrJ.$+03++11)*)(&1.0/:A?CJFIOKPMLKE?EDEO^{ͱqL<8+%#)#""!$!!"#! +    +!    +& +  +     &  ! + (+5<`uֹZ5+$!2.-+*3+$2(*)-0128BBHIOMMLOHEACGKUnĥdF8.$"&&!!%%"&$""!#"!! # +       " &*5Mb|׵|Z2-! 053..&1.+1(+&++13<:?FKJJIKKPMFCAEGKWpɫkO7/%%$####!$! !!#!   +  +   &+7D`u¡eI-055.-2+&+.+*0/1532>?CHIHLPRLMJICBDLZqͮpP85+&"!# +  +       *(+5G`|dG+++5/7030++)1&*22.(2???ABGKMMPLIGHA?FLWoЮrP?2-%&!#!%#"  +  +     +  "#%&(+:YuˮqF2+++..11.01+20(/*&328AGMKJKLOJGDBDBO^yťnM?5%%&&&!""$#&%"! !!  +      !   +  "!"%&%28Kgħa?18-11.1)220*11&-0788BACCHKLKLMIIDBDGP^uͦpP32*$+$"&""!!" $   + + +  +  !$"(5BZxˮnP+HHHKPMLOMHGDGGMVqбrR:)---%"!(& #"! !!"" +!   +  +   + +  +    + + +   !!!$1:PrֵwP/)/../27*/32-2./20:8CBBCJLKMPOMKDEFFJWq֯tY82((#%%""##!  + +  + + +  +  !&/3PkܽP2)/&-3.&/2--0/031:<:?EHIMKMLMJFFDACLe~㿡cL80"$&&&""#!&&!!(""      +#%*+8Rju*+/3+11-/53&*0%2/2-5::EFIFLLMOMLHFEBGSi޸~aD3+&((&!&%!!#"(!"!!!!!    + +  +  +    +%$1:Stɛ+11317017.0.--/0-*5755BDIMHKLPMMMFGFHGLe彟dD32&"$)##!" "" # #!%#!!    +    +  +#""&/8Pmס0)3.-/+5231)2/1&.+58<<:?GJMMMRMMOEEEEDMb{gM7-.-$)#&$" !      +  + +$$-:Hdڣ&2.+002//20.0+(++)/-8?GIJMLOMMKHGCFFGOc}£gM:20"&*$$%#!!  ""!!    +   + #05Ld+*.2**(1.+38*1!%.21785:??GJLMMMMPMJFFEFPay¨qM>.(-%##!$#!!   !     +     + +    + +#*2H^~2-*+2&-1.))#*202+13557?DGEHLLLOOOMKHFGGKZwɬqP<2*+*&%!"!!"$!   + +    + + + +     $&!1AZr((/80311.2.+-)++1+*/28?>FHHMMKOMMLJHEFFDYrЮx\B2-)&!%#!"!!!"!  !   +  + +   +   +! + +"$$%/DDEGLRKMMKMGEBFKYnϴ{ZB11*+"""!&!!! " "  + +  +   +     +!#&*5Mg)/0.+.++01++++*(.2123<+)&)$!!"## ! +        + + $&1Fa/(+#+-00)&.*-.2..*+212??GKHMLMMMMIGDDCPc}kO2.+*($*%$ ! "#"  !"   +      + +  +  +" "%$&5Yu&*$/.20(00051.+..+0**5<:>:?ELJJOMMLJIFEFIM^{¦rR?5-&(+"! #!     + +   !&1:Mm$&+0/0-.12.$/1-.2(322.8:>EEGGMMPLLMLJHBCCLZuɬuS?2++++&$!$"#""#"!"&"# +    ! +   + + +  +  +   +!#$#-?H`y-0--++-/2-310.//++-22/578B>IIKMLLMLKIIGCEJYqϯy\<7-+)&(!#&#!&$ +        +  " +$&$-C^y)++-%.-&**+112+-1++///37?BDLMMMMJJJGEEEFRcgK?5-**(#!!###!$$  +      +! +#2E\q-)&&(./0/20-2/2002-21378<Vny/)002/32252(++105110.2038>\u-".+0/.32/-(12/*/-..+-/-:::BAEHJMMMMIHGFFFGPe忡kM:0-++(&&)%!!" !"   +  +    +    "!2?]y.++-#2-*211.&2.22-)-+$537:?DEDIJHLLKJHGDDAGM^}ƨoS>2+)))&#"$#!$!#$!#""!     +      "*2>d{+&/-*+)1+2.+.31+0/..+0.33:?:?IHGMMMRMFEEDBFOZyȬqR>:0-+%%$"%#"&!"!       !*+Eb|0+-+-3.501/12302-2/-085178:>AFIKLJKLKIHFDBELWuίxY<2/)+(&&&&$!!"%""    + "   + + +  ""$$+Da|+00/.02.-/00+-..0..+/+025:?>B?HLKLJJMIEEDCCFZqϳ|\C71&+*&&"( # ""   + $!-CVy+..020//&+./02+&+01++181/?AEFHLLLKKJFDCBHPa޻gK<20&&&(*&!!!!""#     +  +   %0:Rr+.2312+2+523+/-2-./+/$3587::BEEIKKLMJJEGDBCJO]⿣kP<.+++)&$" #" $$! +   + + + +  ""&*:On-10+)0.2+/.+00//010-0/+237:><?>AAIFHKKIHIGFBDGJVkԯ}^E25+-*&&*(&#"#"#%  +     +   +  +   #"$&1:\u0//++-1085/0/-11.-+/..-2237>?CBIGFLKJKHGECADGRg۵aH82.-%&(& !$!!%%   + +  ##$-.>Rq/&5/.(&3*.25232..-.+-01.7::>8EGCGKLKLJJEGCCBHPd޵gE81-+*$&"$&)#!!!          +   +###*0:Tn--&-)+2+221++///535-/20*18:<>A?EFHIMJIIHECCBDI`}⿣mM<8.*+(%!#&#$   +  +  $+5Jk~)*2017+.1-2211/232++++1.2225>AB?EFIMKLILG?CCIIYyĦrPA2-+-+)%#%$! !#!!"#!   +   + +   +  +   )$)*BBCGIJMLIJGDCEDOWrɫwSC:-&-+&&&$%#%&$! "         "*&3A^x5+.&-1+20.../3/27*2.0-0./535A<?BDCBHGJHJKEDDDDI^yjP87/+.++%((##"!"!  + !  + + +     +        ./5/2&(&&"&&#""!"$!   +    +    +!""&&&3CZu.50+(17--5522232001--2535/25<8??DGCHFIJGEECA?DHMn˭|ZA870++(%$#%%#%# ! !"#!"# +      +     +  $!2?Vq-22-.501222212231022110223283??>ADDFGEIGGDABCCGMdֳ}^E85++)('$)(&"#(#"! +   + +  + +  !!("$%+-:ABBDEHFB?>?<::B??C?BA><<<<::<<<88:<>CPjʫuW>81++*()(&&&$!#$% + +    + + +       +  +"  + + +$$"-35Rk210-.+1222107032/352512.28255<:::<<:<>::::8288??Kdͮ|`C5-+**()%"!!##(! +      +    !#"(/5Jm7:/1)11/20.252237253/30+153555<88:::>::?<:<:::::KdҲ}]G>1++&%)+&$""&$$%"!   + +  " "! #+7Ke{0:2*-50/0228535.1222215201//37288::<8<<:<<:8::520-((&($&!%""$"  +      ! !$!%&.5B^w5/1.1551012383582532210*0/11/83525:88:<>:<<:8<>>BRq⿡oP<2+*+-*&(&&!$$%&$%%#""" + +   +  +!!!!%-7?Rr753/225:502007551355132/.50222215:88:<>?<:<:<<:BJPjǦuRA521+) &%"%%"&$!##!"    +     + !"  !$!('+:Jp130.1+3220812511//.2011.0311111-:87::<<<>>>IcɫyWB53*-)'&%%#%&%#!&!!  "  +   +!!%"%%#!! !%%%-????>>?AEO^Ϯ}aG>2))+&"&&&&($!(&%)$" +  +  + + + +   + +!%&&#$$&%%#! """"%08Gc~7230/-/0-0521523752000231221/3535578>:>A?AB??>?ADG^|ҴcH5-.+()()%&(&&%$"&#$   +    "##$("#%$#$!#"#!"#"""%&(->?AB>BCABB>BCFTu׸gF>80-()&)('&%%")#"""!!        +     +  + "#!(&)&%""!#+-2HZo351//7312252522210:52100-1221322578?BCEDECBCCDB?EPd޽rM>22+&++(+(&$!%&&""#"#"#  +      +  !%$$$%)&*(((!$$&!#!$/08Pi782558522222735325-22231112535558<BLbyɮkK:0.+&(&&%$"" !%'$!!!!!%!    + +    + + +       %##!#&!%"#"!"!&!##&"""$$##!!"!$&)1:F+2:8822150.23-2235752/522225535:<>A?CDFIIJJIIGF?AAEFWtkM>0+++&&'')*##($# #%!! #    +  + +  + + +  !!%#"!"$%&&$&%#!!"!$!#$%###"%#$#!"##!"!!!"$!#-/?D7820+322.853373575:587-215.+7788<:?BCCFGHHJJHGEBA?BBEFFGHLKKGFED>>A?ERiwºt`K:2-)+*&$$#%'%&%#!&" !!"      +    +   #!!!#%"!%#"$#"#$#&$#%!&"""#$!!#$!!"$!#%(!&#%#"!!$#)0480<:2112++3225887877135151120+1888<>?EFHIFIKIJGGDCA???HWgy~nWA8.+&+**(#"$$#"$#$"! #!"   +     "!#""&#$$&&$#!$$$&$&&$("%&%!!%&$!"#!!!$#$$$!!"!""#!##!!#!$$**268533521/030135285583252-3831252:8<CObpykV<51++)++(&&&&%&%)"$!"$$$!##$!     "%$#"#&(($"#"&$$&!&)%&""&%$!###$"#!!$!#&""!"&((#!"$!#"!"!&&%.50585771331.-138125522.52221227788>ATiy~q\K:21))*&&&*((&%#&#%%#!#""       #"""&&)%%%&&%"$%"%$)#%#"""!#$"!&$!#!!!!!"%!#"%#"!!!!!"!(+2.011251:.150/25887535:52/21212788?Urɺ|jZA502*()'%(%&%"%"&"&#%!"!!!%!$ + + +    + + +  + + +  +%%&!$%#"%##%$"$&"!"%&$&$!#"#"#!!!#!#""##!%"!#%#####!"&)((357552528855.8332732557:535535558BGYxŮrVB0--$$%&$)#%(%"&%"&#"!!&!$" +       + + +     ""&&#&#(&%$*%"(&##&%$&!!""##"!"&#"##!"&#%$$!#&!$%##($%%&(585233120/+113882553751178235357:<ABCFHJKKKMMHHIHBEGKWtϯjF8+.(()&%%&#%%#%""#!$ "#%! "!! +   +  +  #""&(!&%%&&%$")&!$&&#"#"$!"!!""!!&""#"#"%!&!#!" #!!# #*-(515:0012222525553555212/527527812::2*++(%&$&(((&&"&&"#!!#"!" +       +  "!"$##$$#&#$%)%%%$$!"$"&&$#!#%""$#!!""&!$!$"!$%$#&%&%#!%!871253115:32202/21/885/2352552333850++&$%(%&)(#%!(&(%&&"!"   + +   +  !"%#!"#$$%&%&$&$##!%$&!!"#!#!"$"%$($##$&&"!"!"#%#&&%%#8:28227:/058233?225258223522223573:<>EDDHIJMMLMKJGEBDHKcյgD5010(&&((&$#"%(%$"%!$%&&"  +  +   "!#&&$%&!#&&&(#%!$&#"$%!"#!#$!#!!$#"!&%&! )&$"%$&' &"&"&2?583305325/2381235522:83531052587:BBAEEHJLMMMLKJHDDDFO^~޽kM?2/+&')(&!%$%'#&##"&"$!! ! +   +   + +  + + + !$#$()($%&&&&&(&!$$"""$#$$#!"!!#!!"!"!% %!%!!"!!$"%!!!#$ "%"#)3575-220822002527787317//5//2312:3::??EFGLMMLJKKJECBBDJZ|qR<71*)%&)**%&+)&##"&"!%   +       +  +    + &&&$%#%#%(&&#$#%$!$"&"!$&!!"!#!!!#!!!$#!##$&#!""##(*)(&)5272.25322331752775<532712833275:<::?CDFDILKLMMLJIEDGFJVuɯwZA5...-&(&$&!!#"!"#%#""!! +  + +    + +   +    !&%!%&$#%&$!%&%$$##$""!&#$$$!$""##!!"!!$%"!#+%$(%)&+($"#(+1832102<32.+5158.+585235:85-25558::12.)+*)%)"&&%%$#"!""!!#        +  +      + +!$%$)&%#!"%$%$&%%#!$"#""!""!!!!"!"!"#"&&%&$$$()&:5258121.1118855357555013:5522812888>ABBHIJMKMLKMKJDFGJMYxȮwW?22/*()$%)*!&"%"%)#!#&! !#"#        +  + "!!&+)+()"$$#$%&$%&%"%#"#"!!$"!#&"!!"!"$"#! '&"%'$!&*&.&*+25175335831522153125835503722233327<>AADHIKLMMMMMJHIFIHOc༣iJ870-+*&))*(%&&!#&%$"!&"#"%    + +  +    +  +#$$&&$&&&($#$!"$$&%&((%%""##%!!$%!!!!&###%%)(&"&&&%+(28?2115553557.2-13352555:312235027825<>AFLLLKOMMMKJIFGFKM\ΨmO<52.-.+&)&&'&&'((%%$& ##!%&% !     +  + +  +   + +$$$"&)&(&&(&&$&"!$&(&&$!"!!"!!!!*%%"$%$$$)'&3373887/37325005553858585:5757325878:?DFIJLMOOMMMLJHHGGPd޽gL<2.++*)*+(%$&()"#%$#!"!     + +      +  +    + %%#$%!"%%!#&%&&&#%+!&&#&$%!"!!!!!$!"!! "##!!$#& 55225:532023525222287230853873322558::>?ADGIILMMMMKKJIGEJMaǧjO820-+))((&)&)()%#&$#"""%"#  +          + ##"%#%!$#$#&&$%&($&$&(($!"$"&#$!$!"#!!" !""$% "!!!""%5577-23255/3327522/7:<:7552235551258<<>>CFGJLMMMPOKKKIGFFHUtӯyVC71.*/++&)))&&)"$$!$$"#"""#           +  + + +  !#%#)&!&&#$"$$!#(*&!$&$&%&$&!$""!!"##"""!#"#7::58530833-203/13575:<:78:52512283857GHKLMMOPPMMJIGGGJRk׸}^E:2-+*,(+&&$&$#&#"$ $#!"!## !!  +       +   +  + !&%%"%#!###%*&&%!$(&&*&&&"$"!!#"##&"!"!"#215738<52523053/52385375275:5555555375BACGIKLOPOOILJHHHIMZyɬqS<8/..++*+*($$%%%$!"%#!$!!         + +  +$*&$$$)&%&#%%!!%&#$%&"$!#$!!!!%$%%)&!#!!7:258:0752+000/.2855388552518575/2351>>BBDHFKLMOOPKMKKGEGGKWr˱uT<:50/-)+&&&&'%($""$$!!!!!!!!!!  + + +    +        +  $!!&&$"#%#&&&&%%%&"&%&!!!#!&"!&&&""!"$22885257-23585528555535875587275581778<KE<3-+*"""$"   #%302757/2813)020.85/883875::<5552332257:>?ADFGMKMPPPPMKKIHFIIWtҲuU<87.-*-)*(($&(&$$# "$#$!!#      + +  +  + +  + + +$$(&&(&&*(%$#%%%&(&$$$###"07:IUPI<0))))(&$"! 88785:82585355517335:885<:5838:335:2358:>?AFIJLPPMOOLMKJFHGMRoָ{W?83-)+*-*&)$($"$&&"!"!#"#"!#!#      + + +    + +      +  !))+&%&$###$!&&&&$##%#$".<?CFHHJE220(&%$%$      155/:<7558855355532838825887:5377213585::<>CFIKMOOPPMMJIHFGHM\|ɫmM<5/-+"',(&(&&&&##!!##!#!!  + +   +      + +   +  +%&+&$&&%&$%$"!%&!!""$#!"!&78>BBDH?05*%&""! +    #/28:::57357232.275858802325578535875758><>?DFFLMMOPRPMKIHGDDJWtϮrO?82.*++-+&&-)%%%#$#&"""!#     +    +  + +   +  +&+)%&($"$"&&#!#"!$#"#%%%15?CABD:3+$&#    +  +  +  27552825::55.252378555585558583553555257:555722085555235557:3725852553575:??>GFFKMMMMMOMJHGHFGLa£dI:4,.-+)*($%%%'!%$$# !" !"  +     +  + + +    #+&)&%)&&%"!%%&#&#&#"#!##&)&0.%&   1275557377855/2558358:>:35785858582115575A??BDEIJMMMMKPMMJHCGGMZqͲpPC822.+*+*&*&%&$$&!$"$%!#!%"""          + +       +   "(&&)+*&)$%%$#$&"$&$&&#$"##"#  !22-8557388878255022:55558277588525375138>:B?>CDEHLMMMMMMLGFHFFKUrήmM?510.))(%'&& %%$#%##"$!"!   +      +  +  +  !#(+**(+*)$%&#(&!!&!$#&&!! + !##"(#&!"##&((#&&$#!!!235851775557358532213877:<11:855555555555:>?ACDHHKMKPLOMLHGEGHJTj׵uV?8300**(&&(&$##%"##&&&&! ! #!! !     +  +    +  +   "&(()$*+&($&&&(&"!##$$ !!!"!!!&*!"&$%$"&(%($*&$&#"!222252578585723573285857::7285558855551/7:<>ECEGKMMPOMLMLKIEDHIOd۽y\C51/0-++*+&(&&%%#!$("#"##("$      + + +    + +   +##&&+("!*&%&&#%#$%$%#   #!&##")&$(&#%$#&%$$&$!&"%&$!!"5218552282375228/575288758588857535352578:8>CEEDGJLMMPOMMKGFDGJM]~aF:22.*+**+&*%&"!$&#&"#$!!##$"!!  +   + + + + + +   +   "$&(&$(&&%&($((&)($&""  )!!#!$!$!&"#!%&))&(&(&&%(&(*+&!!%!#"%23/308::722155<-310118553533<>553325255555<<>AEJIIMMOMOLLLJEGFGKY{ɦeH<8/*++**(&&%$%"" !"$ " #$!!!"   +    + +     +  + + "&(&&%&)$&$$#"&""!  + +#$###%&$%&!#%"%&&+($&&)&(&%%$&#"00532375855325225:5228882<:87752523812535588?CEEIJKKMOPMKKGGFGGKWqЫoM>:8,.+*('*%$"&#&"#%#"!" #"##!      +     + +  + + + + +  + + $(&%&$&%%%#$$%$%#%! ""&&##"!""#"&"&$**)&&)*)&&%&+"%"#%!3105222252.2558555158:7572237:752572823583:>>?AEHJMMOMMPPKJHEFGKSgٵqWA81/1.+)&&/(#&%$%%%&&%!!$##"  +         +  +   +  #(&&&&&%%&&&&%$!$!"   + #"#"!"#&&&(%%$(%)(+(*&&(%$#)%&("#&"25383551872252232/552.275:77:7777255282258::??CCJIKMMOMOPLLGGFGKOaݻxW?:130-*+)&%((&%$#%%#%##$$!#"  +    +           + + +    +  &%&&(&)&&%&(&%&%&#    +!$#&%%!&%%!$(&%(*"&+*&))($(%#&(&$!$0.27558553135322227:58853>8358522588885555:8>?CFHHKMMPOMMMIJHFHKOa~応ZG:72.++*&*&"#%"&$$%"! !%!"" + +   + +    +   + +  +  + +  !$&)((&&&%&)&&&##""   "%##"&#""%*%(&&(#($%+))$$++$)**()++*$#!#""3558273258723882225*55887888588753252322557:?FGIMPOMOMMKKFHGDGT^޶wUC:1*/+)())%$"#$&$%"!"!""&%!"$ " + +            + + + +  +  %%(&&&(%!#!%""    %($#"$&#"#!#%&%#$&)()""*"(&))))(&#&+&)*(**)*'%&""$"'00053335555522581115225532588571588555307228::?BEFIHKPOPOMMLIGGIJM^~\C?320+*)()'%%%$%"!!$#"!       + + + +  +  +     + + #$%(((&%&()$$$""  ##%"$&%"##!$$&)#"&"$%&%&)&(&&)#)+)))%&)$*&&)'&+(&$! 2032257-55555321223/32528788555582555:3328:::552++&)()%%&#"%!!$%"!%"!!""       +   +    +  +  +     +#&*)+%&&&((&!!  +##%&%&(&$$#!"(%&"&%%$()"$&%"&&(%#(%&*&&+1+#)&)*(++&".102152712577557375355337878788775553225335:8:?ABBHILMMOPPPMJHHFGLSn˫gO:72/+++(&))($"!!"$$!#$"!""!       +     + + +  +   + "$(+*&%&%&%""   + #"%$!&&%$###%$&!"%$&#"%&&$$$%)!&#(+(%(&#+*((%$"$(+)(&)&.#022131352:75737557330255788::7878585532557858?DEHHJLMLOLMMOKKIGGKSmΪgM832//+(*('("#%$#!##!! +  +         + +  + + + "#!$#$##$$*&%%!$""#   + + + !#!#%#&!"&##$!!$&%+&$#!%$&%!&#&#%#&&#!(+&&-(%$&(+(&)&(.!&)(,'032/222/8512585852-557575252552558555228555888:FFEJIMMPPPLLKIEHHIM`⹙xS?832+-.**(&!#$!&""%$)#"!$! +    +   +  +       + + +  + +  $%&&%#$&#"$"&&"&%  + +!"!!#$$%""!$%$())+$&##%$)%##!!!!$*+%*$)&#%#&+&((((((!(%"#%&%/2/8231222852228733755375587837255525255572287<>BBDFFKMMPOPMLIIHGHKK\x罡|ZG<72/--(+&&&&%%#$$&#$#&#  + +     + +   +    + + + + +#&&%($##!""%"(&&#%!  $#%$!$!$$%##$%$"$!##$#$%"$%!"$&$*&&&%$*(+##(!!)$$&&$&$%&(&&%+.+%++213121*:3:387252382(3328328882::82:788755128::51,+-*+*(&$$&%#&$$"!"##" "#! +  + + +   +  + + + + +  + + + + +  + +   +#&%&)&&#&##!$((%%#$! "$#!"$#!!$$&%#%!"&(($(&$$!%&&&&&##$$")(+&$"&&*%&&"!"&&(%&*"&#')"! 0322+/20153387558557757537888<:387875525325557:>>>DDIJJMMPMMMLLHGGIMTiϭjK=501-+-,)&%%#&#! && "#!"          + + +       + + + !$&#(%#!#$$%&&%$ $#"#"#&""$"%$%$%%%$&(%&$$!&($$#$&%%""(&&#!%&!%#)($%%$&"#%&!("%#/)(!+(&.0535:222321::78:5512375888878:388822350500/388<8BAHGIMMOPOPKKKLHIHJRdٵqPB:32..-+*&&##$!$"!!"$$"!!!! + + +       +    +      %"$$"$$%#($$$" !%"""""!#"%&##%&&%%)%##$##$&&%(""&"!%%#"$$$#&&())#)&&$$%)%)$&2+232.2323758338333332252357587855888755877727::83001-(((%$#$##$%$%"%#""#!"   +      +  +     "#""&"!$#"!# "#!%#"!&$"!&%&%#%$#""$###(&%#%%$-&$!$%!%)#$$&(&&%&&$)+&*(%$&&%&)+1/231225582557853555152223888:83358755573883287:>???CGJLMMPOPOMKLHFHKRdڵqLA82.01-*())&&$#%##!$&"!!      + + +       +  + +"#&&!!#" +  %#"#&#"%%#$"!%)&&#"&##$(($%$"$)%#(*!%"&&!$&""%%$####%!%$#$()#&"&(!"&#%".+./2255212783378575227222888758:778857783553-7:<:?CDGJKMOMOOOOLJJJHJM^|໚yUF:7./+''()',&&!"%%#("     +    +  +   +  +  +  + !"#"$#!&%""%$  ###"$"!&"#$#"#"#"%&$#"&$&&!"%"&%!$$&+&#($#(#"&&)$+*$&%"#'(&$ "&$-//2-52+22525888:553322252585587757783557333137788ABEFHMLOPMPOMKKJJIKOWu¡~ZD>541-)')*$#%%%&%%#!        +     + +  + +      !%!#$##!&$   #$"!#"$!&"##$$""%#$$%%&%!!&&&%%&#$&&##&"#""##(#%%&&#((&!&)#$!$"!"#&)).152131775>::885353155235-2758:75272822555512758>CFFIKMMPPMMLKLLHHPSeұjL?:71/--*)()()$&!&##$#&"!"     +     +  + +     +#!""&!!#"""!""!"!!"$!!#$$$!!&%#!%#($&$#%#!%%&!(##$&%"""&&##"%"&"!"&(&%"$$)$%(%$%/-0-**0+1022&/53755755551/315555775232:20375575587<>BHGKLMMPOMMMJJFHILR\ܵoM<742--*()(&&&%("#"#"!!   +    + +     + + +    "%!!!##"$!!%%$!! +"!!$#$%!!#%$"%&!#"""$###"&$%%&"%"$$!&#&""%##&(%&##$)$$&%$ !&##&'&(-/-2233357578325511555330577855:532858775775555:<ADGGKLMMPPPMMKKHIKLP^~׵pP@951/.++()&$##%$!"%%   +   +   + + + + ##%"$#$$"$%!!   !!!!#!%$##"!#$"$$!&)#!&#%&#"%#!$%%$)"%$!&%&!%##%!$$"&$&&!"&!#% ##!+0/*.-(+.7553535522052353532877587:8377:5555238778<>?DHILMLOPMMMMLIIIFJMYx弙xSA<8221+-+**""&$$###"#!"!"   +        + + +    + + +#!""%"" "!&"#&#"&"!%!%"#"!!!&&%&&$&%#!$#!!#$""!%$#$%##"$!(&)&$""$"%&$&&!%(%)+1.22251057/5875552505332233575:77588575583302288::>?FIJKLMMPOPMMLHIIKRVq~ZC<821/.+-)(&)&$$$#%"#"        + +    +  +    + "#"##"!#"!!""!"!$""$"#$$%#&%"!&%%&$&$&&!%#&$&#"$&&!#"!!##"%&#%&((%((&#$%&#"&!"&+00/-221228:875358221/35222257582182557555755588::B?>EGIMMMRPOMMKKHIJLRkƴ^G?:32.0+,(&*$%" !#!"#!#     +  +  +  + + +  + +    "!!""! !$&$"#!$#"%&#$""&(%#!!#$(!$%$!!#!""#$"#"!!%%"$"""""#&&(&"&"##$ &-**+&.00+2323232335:52-222153:75557858:875557552588?ADGFIJLMMOPPMMMIJJMM]u㻚ySC<721.--)()(&&$""#""      +    +    +#"!!"$!!"$$##""##"!#&%##!%#"&%&$$!%#!!#!$#&"!$#"&##&%&#%"#"#&&(&#("##%&!!%+(2*+*.022820523125531/2222577853888:3.85355503588::CBDGGHKMMPRPLLKJIJIMTn£YJ?:2220)*++&)$&##$#&        + +! %!#%$"%#!!$!$##!%##$#!"#!!"!$#%%&!#"!!##"%$#"$&%#"#$%$"#"$%&&&(# "'/$.52230/00575235<777525735223355225875787557885578:?ABDGKLOMOOOOOLLIIIJOUkĥZG?7321-))*+'(('##"       + +    #!!$$!$#%!&"#&"!#"$#%"$#%#!"!"$#$%$%!!!$$"$""#"%#%"#%%"&!$#$&%"$#!#$(" $"")-+120./212+287232572552-55235578825885277533505:77:?CFGJKMPOMMOMKMIHFMPYu޹tPD;532/-)(&&(&%)&(!%  +  +   + + + + + + $%"!!"!"!#"!#""&!"$"!"#"!"##&$#$#$!"""$&#!$##"&&&(#)!"&"""#"%%""(*././2-151/223783322222125335585815758225525353358:<5320/++))&%%'%"!"    + +  +"#"!!!!!#$#"&""!"###!&$!#%%$!$##!(&!$$%!&&$&&!"$!!!!$!&$$!"!&%$"%$ $++$+&$+1235.23255552251133525:35535525755555555533158<ACEHKLMPPPOMMMKHIJMTaήgI><53/-/(+-)&%!$%!         + $"!!#!&##"%$$"##"!!""!"%"$%#!!""%"$#"#!#&"!!!(%"#%$&%"%!"$&#"!#$%%%$!#"#"*+"*+1+22502572731331/1550/5223053783:8<88887855552358::5201-++(&*)&!$""" + ! +  +    !#!"!"!!!"""$#!$%"%#$#""#&(%$$$$"!&#!%&$$#$%&"&$#!&%#"%$&$#%%(#&!*!#"#%&&!./&02-((/-2-1703212388530201-5351588578878857352255388:>?CEEJKKIMPMMMOMLKHJOUgȧ`H:83530-++&)(&&"%&""       ""!!""%!"$"!"$$"("&#!&&%"!!!"%"!!$$%#!!&%!##$%!#"$""%"&!"%%$!#*.0/.-/:7002-5222315253312-72558758585585785853333558:<:>?CEFLILMPPMOPKLJHJLP`ЭgK><7212/&())&(%#!#!#     +   !(&"#""!"!""#&%$"#!!$$"!$#""!$&"!"!&"!###%%%&$$#$#$$!!!%&"#)!%&#"#! ""("&(+(++02112552513585252553.5223137858775577258138555778<>ABEFGJMMMOPOMMKJHJMPWx׳nN?<:41/0+*+(&#$$#!!    + !"!!$"!$%"!"!!!!$"!#!%%"%%!&#"""&#""!#%$!#"$%&!"&&"$#%"&$%""!"#%*0./++/).+08532355118558521132377788257858857855./585<8<:>CBGKJMMPPPOOMLLJLLLWq⹛uT?<7531+*+*)+**#$$&!       + +!!"!"#$$"&#"&&!"$$$(#!"$#""$"!&#!+$$##"###!$$%"&$"$&()&!$&!!"$!!&!%&&"$"&+%*.+&*0//.1275225215325//255255753378853852357575383:DBDHIJLKOOPPOKIKIJMPZϭiHD:902.-*%)&&&$"#!    + + #$"$#"!!#%!"$#"#!#"#%&!$""#"#!#!!%#!!"#"###!%$$%$#!##&$##$#$"%!%!!&#"!+-/-&)..*11+2222257352/252050/071127:553585525575533578:?CCGHJJJLMMMLMLGHGKKUk޻yPD<72110*&(&(#&$$##"!!    + + "!!#!""#$"#$"#%!!"##%"!""$##$$%!#!!""!#"%"#""#%#!"&$$"#$*)&#&/.(+210/002102.52222523072215878<:55:7555557538727<5:>CBEGJJPOMOMMMMHHGJMVd[G?78510+&)(%!!"!!!  + +  + "!!&#"!""$$#"#!!$!!""$!"##""!!%%"!#!#"##&(#"*##$&&%##!#"""#"/*&++#--01000223.53552/321023223355:30353575115373523/58:<5210+&(*$$#%#!"!     +   + +  """%!"##$!#"!$"!!"$##$$"!""#$#!"#""%%!##!"&%$!""!$&#!$"%&!%!"#)&)++.+..02525505582855232+(.*25775578325558:58557105575<>ABBGHKMOOPMMLKKIHHHLWq޸qP:<510--*)&&%$%#!"!  +  + + ##"#""####!!#!#!!#&!%!"#"!"!$#!!!!$""$"&#$#"$!"&"""!"#&&!"!&+&!+")0+/0+/312537/232/331552122200553738857:382551257388:FDCHHLMMMPOMMIHIHHMTo޻wLA:850,+)!$#!""   + +  + + +  +  !#!!#""!#&!$%""!!$"%!##"(!#$#!"%"!"%!""!"!"$%#%$"#!%""&(&+++)*+)/3/122212371531-12-1213528513828753385552527323:<:?ADJJJKMMMOMLIIGGHIPWwϮkG853...)()!"!  !###!"    + "#!!##%$#&$"&!$""#"#"&!"%"!#$!"!!&!#"#(&"# *+*+)())*+-02-/22023253222/02211553855732775588835/202525578<>?CDHLMLPRRMILKJHHHHJUoڶsMA71/+)'*%($"!" "!$%%!!!! +    ""%##"""#$!!!%####$#!"##!#)!($"#"$$!"#"%###$"!#!+&**-/.))*-005+3112*05223025130555357875735375558852155335878:>AEFHKMMOPPPOLJIHJIJMi꽛yP>852-+*+%%%$"!" !!!#""%!  +   + + +  +%$!"#"&""&#""!%"$!!"%!"$%!"!&%"##$##"!#$&&""$%&$"*())$*%)+..-12.23222312113/3/2103155535552775555751331.5258:53+-&(*#$!$""#!!#!! ""!!   !!!#!!"!"!""!"$!"!!#"!!!$!$"&#!$&"!!!$!"""!"&"###"!#&&(+*%$"&+#)+7-.2.202/2+0-20152012.58553315587523533253332358::>?DGIJMMMPMMJKJGHHJJPj㺙qL?3.+(&+&%#"!#!!!!!  !"# + +#"##"!#!"$""%!!$&!""#!!!#"!""#$"#""!"$"$"&&!)&$&++((+-&-+011210232/00022322555755588355775553823555522257881-,)&%'' %$$"" !!   + "!!$!"%(""!$$$#"#"%##$!!###"!!#!""#"$!%##%!!%#.(-(+"%#$&(****+.2.1/0252.012+0112322228538:855528302552201327:BDFIKMMMMMLKIHGEGGKSdݺ{R930,)*&$%&($ "$ """"$ #""!#!$!" %%""!$"!####!$#"!"!!!$"!!$$"#""!$#!!%$$"!##!""$$$-+&+)%%())()(.-0021210--.+.00/22/11/5222252152222322255223222887:6-+*$$" #%&&)++*&)+./0.112535335555535125553355350355//-/(&(&"# +  + + + + + +  +  + + +   +!""!!!"$""$""!""##"%""+&))%$###!%)+%(*+.-*(&+*&1/-0+0.../0-/+//+0.*+1//.-/1.....+./1355788?>AFHJJLMMKIHGGFDHLPe彡iD0.-) $#!&&((++(&+--/2/2.225221253555558355255357537777523520+*(&#!%"  + + + +  +   + +""!!&!"!"!#!"!"$!$"!!"($#!%##)&!%&$%%)"!%+%(+)+++-/*3-2--.-/--0/+/0%*.(+--/-2-+-//-.++++-.+1255:??BCCEIIJJIGGGFCCCCM\罤kH.-)*&%"!#%"$).($*++.-..21/220123553353355875555555725557588757322120-&&&""  + + + +  +      +  + +!!#"##!"%!!!#!!#!!!!!#""$""!$#"!!$*&)&!#%%)$&&!*&*+*++*/*-)/-*-+-.01.+00/-/++/.(/-.-/-1+/-.-+-1002788??ACIFGHIJGFHDCBBA?MWykE1*)#%"#!!"%)#"*+++./+32.112225237877525555837758388:85535772277857555520/+)(&#"  + + +  + + + + + + +   + ""$#!!"!!!""""$$!!!"#"$&(%&+&&%%$&$(&())(-&.0--++-/+../+*/+--0++././0//./2/0//1-1.01225<8>B?DDEGIGEEFE??A?AEPpqM.')%##"##"##!"#&(+-*(/++0021351572273355885755755585578787887555755788878777550/20.&)(&"!"  + + + + + + + + + + + +  + +   + + + +  + +"#"%!"""!"!!%!!!"!#""$%&++(%#!#%*$$!$%%$#&).-+..--.(-1---0//./-+1-00.0110/-//2./00--/2.057<:>??BBDGFECB??<<?A?<<<:858:<<<:::88532:Gd~nU5+%!#"" "#! "$&%(&(+()*()(+&#&"$(&&%&(&/.000/123105257577777855778885873858::87758558:8888::8873888888858888788::78577775/22.)+%&" +  +   + + + + +     !#&!"#$"$!"!!$#!""$#""$)&%)-(&%"#%$"&"()*--.(1/+.//00321112122020*212///..-++*(+((&()&(+*//02557::<<::8585225258Mouj\I:/%)$#%"! "%$#!&)&&$)+*)0.+/+--+*&)+*)))+./.21/3525355857858857887888::88855855587558:8:<::88:78888::::88888887788:875585355773330.-)$ +  + + + + + + + + + +  + + + +  + """!!""!$$!"!"""$#"!!&)$*&&&($$""+&%##**0.+0-012////.25510/120//0)+..+*+*+*))!$)))%&%()++/.3255588381752325552:MbiqupkdTF80.&())&&$$#"""$(%$#&*+)+)++*+//-/1/..-0.-0..+0/225552778885:8888:7878588::88888:88:::7888:::8::878:878:8:758<8878588888:<>8:5858:5587335210*(  + +  +  + + +   +      %"!!#%%#!"&%##!"!!*&#%(+&&"$&&&&"%*++-.0//01///+0/-0-(/10.0/0(+*.+-&$)*+*)(&&%&%&""&(()-/0357778855532221.05228<>:82*&-.)*&$$"&#""$%##&)&)%&&)++-.++/-.0010010325311553351275358:7578:78888:::888888::88:::88::::8::88:888:88:8::8::::88::88:::8:::88:8::88788755835531+&)$ + + + + + + + +    + #%!$%#"""!!"!#$!!+(%+*-!$!%%&*&("))&+-1./-/+-//&.-1/+++0-++(&(-&%$&(&%&!%("%!!&&&&*+)1.312153572552120-+&++-++%)(0()&$#%%$#%$%#"$&%&&*((+0/00*/0021212121535585857878855<:8558:<::87588::88::8:::888888:8:888:::::8:::788:88:::::<:::::<:::::<:88788:88:888887878877555+*$"!   + + + + + +  + + + + +    +  !#%$"#!"!&"$!$"#!#!$&!")$)(.-&(*&-$&$&"%)&)0+)$-.0/+--&*)(*+-++**++&&*%&+*&&&%"$$&&#%#!""$(&)&++/021225122110./+)((+**+&&$&&#"!!"!#!!%#&%(!"%))++*.*10-.101200322223355578888888588888:88:::::::::8:8<::8:88::::::8:8888:::<:<:<:::<:::8:::8::887::88888<:8:::8::888:88::888757878222+.*"  + + + + + + + + + +  + + + +   + + + #"!!$%!"""$"#"&(&*+++"&&()&&)(.+().++/+()+*()**&&)&&())(&)&&(&&$($&*&#%($#&%&&&())+.-+.0112/--+.+)*(&!%%&&)%&%##$#$##%$!"#$&*&%&&)+++.././.+00+52002.215253558858:37:888::8:88788::<<::<<8:8::58:::88:::885::8::8<:<::78:::888<<<::::::::88::::::8::88888888:8:88::88:5:8857521/-&&!   + + + + + + + + +  + + +  + +  + + + $$$##"!!!$%#"!&%!!"&"%/*&$(*+&#%%%&)%&(+(&&*)-)*%**(%)(()&(($(&(&+&&&&%&%&&&&(&%&$%&$#%$$%&$()+/.+..-*+.++-*&&%$###!%&$$#$!!!%$$&$"##&&&&&(!#%%"&)**-)+--.+00..-0022235223225878785777::3755:858:<8:::8:88::<<<::888<88:::::8:88::::::8::87::<:8:::8:::::::::<<::::::<:::::<::::88:::888::888857885332.-+$$$ +     + + + + + + +   + + !""#%"!!"!"!"!!"*(&)&((&&#&!&%$$)$%)+)*+*+""&++)&&&(*"$$+&#$!!%&&&"#"%$!$%%$#&%!&&)*&-+++.+)*/+()(&#(&#!&!!"!!!!!!!$%$%$%%%%%"$$%((&&%&(&$&(*+++.0/.00222/223555522387588858:88::<<:::8:::<:8::878::::::8::<::8888:<::::<<<<::<::::<:8::<::<::<<::<<<:<<:><:<:<<<:::<:::<:88:<::<<<<<:<::8::<::<><:::<:::<::<::<:<:::<<::<<<:<<:<:::::::<:<:::<<:88:<:8<888:5:::::8::::55870.++$"" +  +  + + + +  + + +  + + + !$#!$!"!##!"!$!!""%(*(&&)&((&$!#"%&()$%&&)%)$&&)()&"&(&)$!&$&($&&%&(&%%&(#&"$&"""&&**)(%"!&$##!!!#$$"!"%&&&)&((&&&**+/+-+*&(-//.22/.252222255553377785578:8:8:8:::88:5:8:88::<<<<::><:<:<<:<<::<<<<:<:>:::::8::<<<<:88:::<:::::<::<<<<<<8::::::::858:::::::<<::::<:88231.-+)#!  + + + + + +   + + + +    +  !#!#%""!"!$#%$"&*()(&)&$#$$"#"&"%#$!&""%*%&&"#$%&&*&()&(&&"!(&#&#&%&$&"%&%!#$%#""!#"#&$%#!!""#####$&&%&$##)***+-.-*+--././0//2-.12125315335755753788788:<::::::8<<<8::<:::<:::::<<:<<<<<<<<<><<<:<::<::<<:8:::<<<<:<><<:<:<:<:<<<<<:<<<::<<:<::<<:::<<:<::>::<<:::::::::::8::::<<<:88:::8:788212/+-&""  +  + + + + +   + + + + + + + +""!##!#!""""!!"&((*(&&%%("#!$#!#(##*)%%&&&#(%#&)(&+&%(*&&")&%$!%"$%(%!"!!!! $ $&$#&$$$*)%&&&#)0+)-++-.0.0.+..-2.0.331151353325788758<85:::?<::88::<<><>:<<:<<<:<::<<>><8:<<<<<<8<::::<<<<<<<<:88<><<8:<<<<::<::<><::<::<<<<<:<:::8:::::::::::7888888751+.-+)$  +  + +   +  +  +  + """#&!!$!$""""!$ +#!"!"#&$(*+%&%#&%"!$"#%%$$%$%$%$&&&#%$)&&**&&&&&(&%$%&#!$%#"#$""!#! ##!"""!#$%&&$%&()&)(*+)-+.-0/-..02.222//022323775857::8:::88<<:?<<:::<:><><<<<:<<<::<<:<:<>>>><<<<<<>>><<<<>><<<:>><><><<:<<<:<<<<<<<<<:<<<<<><::<<<<8:<8<:8:<::::::::8755322/-*(#"# + + + + + + + + + + + + + + + +   "!$$!!((#&"+&$%%!!"$!%#&)&&)%%(%&&#&%)+$%&&$&%%&!$%"&##$"!!"$$#""&!&##&!&&(&&&)+***+)++0--(0./0202-.3315725515257855788:::8::8<<<<<::<>><>??<:>:<<><<:>><<:<<<?><>:>>?<><>>?><:><<>>:<<<<::><<<<<><<<>>>?><<<<<:<<<>><<:8<:::<<<<<::<::8:88<<<<:<<8::::885550/.++-$""!" + + +  +  + +  + + + + + !!!!#!"##$#&"#&&$$!$"!##!"%#$$!$%)&&&&&(("$&#$"!%$&%#$$!$!!!#!#"!#&$&&&&(&()*)+*++-/..+./.02/01222035557537855::8::7::<::::8:::<:<<<:<<>><<>><>><>>>>>>>>><>><<>><>>>>><>><<:::<:<><<<<><<<>?<::>>>?:<<><>>>><<<<><<<>>><::?<<<::::::<><<::<:<<:<:<<:88:<:::::7557520./+)+($#$   + + + + + +  + + + + + +  +"##!!!##"#!%"$&%+*+(&!#"$"(%$&%&&#%(&&%$&*&%""%&""#$%"%&!&!!"!%!"" ##!$%"&*&(&(')&(()-/0,....0//11233212223553338::85788::::::8:<<:::<<8:>>??<<<><<<>><8:>?A?<>>>?A??><>>???<>>>><><>?<<<<>?<>><<<<<<:<><<<<>>>:8><<::><<<<<:::<???<>??>????>>>>>?><>???????<>>?>?>???>>??>?AA?<<>><<>??<>????><<8:?>>?<<<>?>><><<<<<><:<:<<<<<<<<::<:8<:::8887783120+))-/+*&  +  +    + +   "!!$!"!$#$&)(((&-"!"##$!%$$%%&#%&&#$$&&!$&&(##!#$""$!!"#%!!$#&($&%*(%&*+(**-++/.--+1-++11/1272232552575:75:>:8<><8<<<:<<<<>?<>>A><<>?????????B>????>>><>?>?B??>?>???<>?>?>?<<<>>?>>?<<>?>>???:>>><>>??>>?>>>??><<<<<<>?<<:<:<<<<<<<><<>><><<<<<<>>????:?A?????????AA??A???????????>?A??>?A?AAA??BBA???????A><>?A??>><<><>?>>?<>>>>>>?<><<<<>><><<:<<:<<<<<<<<<<:<<<:<<<<<:<<<<:<:::::<:8::::875557322331.0.0*&  + + + + + + + + +  + + + + +!#"!!!!#$()##)#%*())%"$!#!"#$$"&&($&(($%%%!##$"!"#!&&$%&&&)))&$&(++*(+)+,++.,-.02023335226235015655:8988::<8?B?>>???AA????>???>>?A>??>A?>?????AA?>?????><>>>???>?A<<>>??>:<><<>>><<<>><::<<<<>?><<?<<>>><<<<<<:888:585558235220//.+%% +  + +  + + + +  + + $#!!!#!$!!##"#"+)&#&%!($&$&"$$"$"!"%!%&%&"$%&%""#$$#"$!!!"!!)$%%%"&(%%&*&((&*-)**))-*-,-/..//./-2204534335578767837::<9:??><>?????B?A?AA??AA??CB?BBA?ABBCA>?AA?BB??AB??BB??AABBAAABBAA?ABA???A?AAA?????A?BA?>>??A?????A??????A????>?????>?>??>????>?????<<??><>?<>><>><:<><<<><:>>:<<><<<<><<:<:<::<<:><<<<:<:888887578775833/+.*(&$! + + + + + + """"!#!!"!!!"#!)+(*!!&&#&"$!"%"$+#$(&$%+((%%%#(!"%$!##!#%+)%&&#&&(&&)&-++++-++-20/122052023337:52588<8:<><<?????A?????>?>???>?????????A>>><<><>?>>?>><>>??????>><><:<<:<<:8:<<:78:88888877332.0++(%#   +   + + + + +  + + + """!##"&!%"!"!""""##&&(%%&"&"&%%"$"&&#%&&&&&()%""&"!####!"!#$!##&&&&&()$&&))$*/()*+-/.+.0-0211122255585588855<:88<A????BAB?BDBCEEEDCDCCCBBBDDDCEBC?B?ACABA?ABEBBACCCDCABBAAB?AAA??A?>?BABA?A?BA?????AA?AB??A>?>>??>??>??>><<>>>><>>?:?><>>>?><><><<>><<<<:<<<<:8<<<<<<<::8788855722/.+&%& + + + + + +  + +  + + + !!!#""""$)-&+&)($!!#+$&&(*$%&&+$!!$(#!#!"!#!!#&$##&&((*++%*+.+++../*+011110...5252:425854886:::;A?>>BCBCB?BDDCCCDCDC@DCCCAEEDFDEFCDDCEEDDFCFBCCBECCEDCCCDDEDCCBACCCDBAACA????BCA???????>????ABAABBBA???A??>?????AB?AA?????B?>BA???????>?>????????????><<????<<:<><<>>>?>???><>>><<>:<<<>><>>:<<<8:::8<:<<:8::<<::8:<>>8:8888755/.-)%&#""    +  + +  + + + + +  +$$#$!!#"#"!&""#&&*$!!"$!%&((&%%#$&$$&"&"#"!!!"!#"%#&&&$"(+)(%&(++(+-)/+.-/.-/0.120123333338537:<<:<:=>>BADC?CBABBCECDDEGEDFFEEEEDCFFFDFCEDECEEFDEECECEDCABCDBCBFEECCCABDCDEDADDDC?ABBBBD?AAAAA?CBAAABBB??ABC>?AB????A?????????>>??>????AAAAA???>?A?????>???>>?>????>??>?>>>><<>??<<<>?><<<<>?>><:<<?CA?BA?A?AA???????A?>?AA?>>?A?>?><>???????>???<><<><<>><>A??<>><:<<<><<<<>>>><>><:<><<<:<<<<<<<<<<<::8:8:::852022-.-&#   +  + + + + + + +!&!"!!!!!!$%%&%%&"##"!$!!!"$!!##&"$$&"$"!"!!!$$"#""#&&"%%&((*)()(**+*++--.*+.1112225325255558:888<<<>?>BBC?EGGFFGIJIHHHJIIIGFGIHFHIHHGGFGHHGHIHEFEGGIGFGDFFFFGDCEDDDDDDDEEEDDDCDCDAADEEBCACCBCCCBCCCCBABBBBABBBBA?BCAA??A??AA??BBAAAABBB?A??AA?>???A?>??????AA??????>?????>?????<>??<>??<>>><>>><<<>?>??<<><><<>>:<<><<<<:<:<<<><<:<<<<<<<<<:::<:::777711122+$&%$  + +  + + + + + + + #"!"!#%&$"&$($##$!$)$*&!"&"$#!!"#!#"#%%#&&&&($++-++&**......0/-123322025225883738:8::>AAABFDDECIJHGFGMMIKKLKIKKKGJIJIKHHIIJHIHGHIHHGHIHFFDGHHGHIGDEFFFFDEEEEDCBEFEDFCECCDCDDEDEBABBDCDCBBADCBCBBB?CAA??AABCAABBBD?ABBBC?AABCBAB?A?>??AAABA?A??A???????>??A?><>??A?B?>>>????>???<>?<<><<<>><>?><<<<<<>?><<:><<<<<::><<<<<<><<<:<::<::8:8:88853///+)%(&" +  +   +  + + + #!!!!!!!$!!!!!!%"#%&*)&&%&($"!""!&"""!#"#$!$!!#!&!"$)$&((("+)+++)))*)+*-./001012222233555587887:<B?????????A????A?>??A????????????><>>?><?><>:><>?<<>>><>>>?<<<8<><<<<<:<<<<<<:<:<:<::88::88:553210..+*&&" +  + + + + +  !"#!#""$(%))&$%$%"!%""%&""%##&*)(%&)(%(&()+&(+/+++)%&&--1.03252555731102:<88:7::?>?BCDBFBHHKKGKMOKMMORPMPMLPOOMMLLMMKLMMMKKJKIJJLKIKJJJIHIJIIHHIEFHGGGGIGFFDEGEFEEEFFCFEDDFEEEADECCDCBBACCCDDDEDBADBCBA?ACB?BCA????BBBACBCB?A??AABAA???AAB?ABA??A???A??????????A?>?????????><>?>>><>?A>::<<<>?>>?><>A>?><:<<:<<<<>::<:<:<<<><<<<<:8:<<<::88:87332+/0/.(&(&"" + +  +  ""$!"%$&%+&&(&(!!#"%#!#!##$##$%$$&")+%)()&)**++-(++/0+-//+002203253222375558:8:88<:?AB?????>???A?>?AA????????>???>???>?>????>>??>?<>?<:<>?>><<<<<<<>::<><:<>><<<<<>?<<<<:::<::<<<::<<<<:<:::8858525201+*+*()% +   + +  +!"#!!!!%#!!%))$"%"!#$($&%%$&$%%"&*&+(+)+++-+-(+-+-0.-.222212/355885578:8:88:?<<ADGGHGJLLMOSSPSRRRRPPSRRPPRPNQPOOOOONNMONLLMKKMLLLMLJJIIJHIJIHHIHGHIIHGGIIHFFEEGHDEEFDDGGFEEDEEEEDE?CCECDCCCEDCCACCBDDDCBB??CABBDEB?BABCBBBAAC?BC?>?B??AAAC??A?B?AA????B>??AA?ABA?>???A??>?AA??A?AA???<<>?>??>>?<<<<<<<<<<>:????>:>><:><<><:><<<<<<<::??<<<::8<<::::::::8887822222./++&))$  + +  !"!!#!$% %$$$&#%&#%$&$!%!!"&#""$$&&*)&)+&-+.+)-+*..0-.030-/21225273335885878::88:<<?A?AAC?BBABAAABB???A>B???????????A??????????<>?>>>?>>>??><>?><<<<><><>><>>?::?<<<:<<<<<<::<<<<<:<<:8:<878875555521.-0++)(&$%" +   "!!!!#!!#&%(%&##"&&$$%)%&%)+-./-0..0-2111102555305225532582378353<7:8>:>B?ACB?HHKHLOJMOMPSPSUUTTSVUSUWTURSTUSPRPRRPRPOPPOMMMMMMMOLKMJKKLLJKJKJHHHIJHHHHGHFIHGHIHFFGHDFFFEDFFFEFDDEEFGCEEEECCECEDEDBAEBCDDDC?BDCADCCDBABCECBCBB?ABCB???BBAB?CCA????A??C>?AA?B>???AAAA?>?A?<<>?>?AA????>????><<><>><<?<<<>??><>>><<:<<:88:<<<:<53515787530.+))()%& #!!!!"!"%#(&#$&&&*&%##"#""&&&(***-)+/////000112322232553575788:778878:<7:<?????<>>?>???>?>>?>?><<>><><>>><<<<<<:><<<:<<8:<<8::<5:<<<8:5:857552220.+-&&%&!"""!!#!!!"!$!#(##"+&!&&"!("&&&%(.+*0101///02-+.552377557:87887857::<:8<<:>B?CAADDEJMKMKMOPTSRRSVVTUUWWWVSUUUVTTVTSUUTTTRPRQRPOOPPNMKMMMMLJKKMLKKLJIILKHJDIHKJJIJGGHGHIHHHGHEEFEHIHFECCFFDEEGDCCDDFCECDFDBDDCCBDABCCCDDBAGCAB??BCDCBBBBACAAA?AA?ACBDD?CBBABABA???????AAABAB?AA???????>?>?????A<>?>>>>?????><<<<<?<<><<<<<:<<>><8::<<:<<<<>><><:::<<::88588355102.+.1.+)&*&#!$!#$$!!"!"!!"!!!""&#"($%)$$!!&%%#)&(2.+/10+321++.525:78888::::<8::5:<>????A>?????>>??>?????<>><<<<><<><>?><<>>>?<<<<<<<:<<<8::<<:<<:<<:<<<<:88:8:::8888:88532555/1+-+(&))&!"%!#!!##("$!#""!"#%!#$&%&*(!!%")(++..-+228535328:7577::::88:::<:::<:8<A??A???A??????A???AA?B??>>>???>>?::??><>???>><>??<<<<<<<>>>:<<><<::<<<:<>><<::8:88::5383222+/-02.+)&&%&&(%$!!!!""##""&!"&!"$&!""(&"!&%&&"#$$%$(+-.-35855877788:8:888::::<:<<>??A?B??>?>????A???>???AAA??A>????>>?>>>>?>?<:>>A?>?><><<<>?>><><:<<>?<<<<<<>:<<<<><<<<<<<:<<8::<<<:::::88888555531202201000+(+)*&()$"""#%"$"!$"$!$#""#""!"!&."""&#&#$(+%&*./55888>><75<:::88::8:?A>????AB???????>A???A???>????>?><<??<<<<>><<<>><<:<<<<<<8><<><<<<:::<<<<<:?:<<888<:::88873:88885212/223/++)%$)+/+(+&+0)$&"#$#"!"!%"!#%$%#&$!$""!##(%&++1-2858:8<<::<><::??CEB?CEGHFHIJKKMLLPMMPPPRSSSRSUUUTUURSVVWVUUVTUUUTTUTUTTVTSSPRROORPONPPONMMMNMKKLLMLJMMLLMKJIJKIIGIHGKJHHHHGGHIHGFGGHEHGFGGFFFEFFEFFEECEEFFDEEFCEDDDEECCEDBBCCAACDCCBBCDB?AACCBCDBBCBCCABB?ACBCAABBABBBB?A?CBAAAAA???A?ABAAA?BBA??>???ABA??AA????>????<>??>>???>>??>>>>><>>><><<<<<<<<<<><<<<:<>:8::<:<><:<<<:<>><<<:<<?CA???????A??>?????>??<>><>?>><><<<>?><<<<>::>:><:>:<<<<<<><8<<:><>><>:::<<><:<::<<:::8:8758888:8755885222558525231-+/+/+-+++)!&$!""""!!!!##$#$!""%($$#&%$$&(&!&%&&).0125788:?>>??>????>??>>:????<><<<<>>><<><<:<<<:8?><<<:<<<<:<:<<<<>><8<::<<::<<<<:::8::::8:8878875888755557555755257220+0-(+*&&&!"""!!"!"#%&&&$*"&(&#-+11338::>:??ABA?AACA?DGEFDEEEJJJJKMMMMOMMPPPOPRRPRTUTSSRSTUUVUSUUUTUUTUSTURRRSPPPRSTSPPSRPPPPMNOMPMMMLNKLMLJLMKJKLJIJKIIJJIIKJIIJKIGIIIGHGGFEGHFGFFGFEFHGDFFFFFEDDEEEEEDDECDEECEEFBDDDBBBBCC?CDCEEECACBCCDCBCCADDBBACBBBACAA?BBBA?A?AABCA?A??>BCC??AAA?<>?>?>>???<<>?<><><<<<><8?<:<:<:<::<<<<><:>:<:>??<<<8:<>:<<:8?<8:887887:88787778878887855232222*+&&&##!!!!"#""!%$$#$"(#"%&&&#!#$)*++2588:AB<??>>?>>:>>><><>?>:>>?><<>?><<>>?<<<<><<<>8<<::::58<::88::877:8:::88875555320.)(&%!$!!!!!"!"$"!$+&$&$""#&"%#$%%+/0155::>?BECEBBEDCDHGEGJJFKKKMOMMMOPPOPPPSSSRTTSRRRPSSUTSRTTTTTTSSTSSUUTSRRTPPPPPPPPOPPPMMOPPMPOOMMLMMMMMMKLLMJLKJJIJIJIIJIIIJJJJHGIHIGGGFFGHGFEFEFEEFEHFDFFEEEFFDECDEEFEDCCCFCCDDBBECECDADEDCDDBABDB?ABACBDBBDCB>CCAADDBAA?????BB??BBBBAA?ABAA??A??A??????BA?AA>?>???????>??:?A?????>?>?>>??>><>>>?<>>><<<<<:::<:<<:<><<><<<:<<:8<:<<<><<:<:8:<<<::>:::::::::<<<:8888<<::<::<7::8:87533.2++%#&&%%%#%!""%#!#!#"&""%%!!&%"&%$&%&%%&!".-1:38<???????>?????>>???<:>>?<<>>?><>>><>:<>><<<<<:::<><<<<><<<:8<<:<<<<<<<<<<>:<<:8:?C?AAAAAAA???A?????A?????A?A??AA?A??<??<<<A???><<>><<><>>>>><><<<><<<<:8<<<<<<8>::<<:<:::<:<><::<<8<:::<:7?<:<>85:8:<:<::<><88<:77:<532320.+%$%$&#$!!#""%#!$"%((#!%$$$%("%$&&&(-0328A?<<??EC??>??<<>>>>>>?????>>>:<<<<<<<<<<<<:<<<<<<<<<<><<:<<<<<<::<::<<:<:<:<<::::<<<:<<:<<:<:<<<:8:<:8:::::88733532--$($$$"!!""!#!#%"$))&(#+&*#&((!#&/125:<>EGGHHHJJILKLOJOMMMPOPPPPPOSPRPRPRTTTRPSSRRRRTPSSSRSPSSPRSRSTPPRSROOPPPPPPRMPPPPMMMMLOMMLMMMLMMMLKKLHLKKIKKLLIJKHJLJHGJIKIGIKFHGGGHFHGGEGGFGGFFGEEFEEEFEEFFEEEEEEEFFDDFEDCDDCDCBDEFCDECDCCCC?ABBAADDCBBABABA??CC?BA?B?ABBABBBACB?C?B?BB?AA??A?>AABB?AA??AAAA??BA??>???>>??>>?>?<?<>>>??<><<<<:<<<<><>?<<<:<<<<:8<<>><8<>::<::<:<<<:8:<::<>:<<<<<:::<:<<8<8:<<<8::8<:8:<888:8252-+&##&$#$!!!#""!!!!%"!$$%#$"&&$$&&*)(&&!*-.088:?AEGHJLJKMLLMOOMLMPPOPPOMPPPRPPPTRSPPSSRPRMPPPPPSPPRRPRRPRPRPPPPPPPMPPPOPPROMOOOMOMMMMMLMMMMMLLMLLKKLKLLJKKJIJIJHIIIIJLIJIIJIHEFHHGGFGEFFGFGGGFGEDCEEEFFDEEDCDFEEDEEEEECDFFEBCCDDCB?EDACCDCBABABABBBAABCBCBCCA?BBBBAAACCAAAA?ABCCB???AAAAA??AAAA?????AA????A?????????BA?????<>>?<?<>?<><<<<><:<<<><<<<<::<<<<<<<<<<><<::<<<8<:<<:8:<<::8:<<<:::::::<:<<<:::8<<:<88:::8352//0)&&#""!""!!&%#%&%&)(&*(&&$(%*/2::??AA??AAA??>>???<?><<>?<???>><<<>>>>>?<>>:<>>::?:><<<<<<<::<:<::<<:<<<<:<:<<<<<:<<<:<<<<<:<<:<<<8::<<<<<::<<>::<><::<:8535/10/(%#$"!"!$"##**-$())!"+(()+.3:A??A??B??A?????A??A?>?????>A??????>??><>><<<><<>><><::<<<<><::><<>:<><<<<><><>::<:<8<8::<<:<:><::?:88:<<<<8<<<<:::<<:::::523--&&%%%!"!!"!!"!#!!!!%)#"&+#(%&%-+&&)+(28<:?EGJJMMMPOILOPOPPPPORPPPPPRPPPPRPRPPRRPPPRSRPPOPRPPPPOOMMPOMLOMMOPOOOOMMOMMMMOMMMLKMMLMMMLKKLKJJLJKLLIJIGIIIGGIJIIGHGIHGFFHHFGGHDGFFFHFGGGGFFGFFCEFDEEGEFEDCFEEDDDCEBCDDCDCDBDDDBCDCCBDCCBCBBAD?CBCBCBCBA????CDBAAC??BA>?CBCBAA???ABB??AA????????>?>A??AB??>>>??????<><>>?>>>>??<>>>><>>:<<<<<:<<<<<::>::<<<<<::<<<<8<:552/.&$"""!#!%#!#!"!!!"#!"""&&$#$&%($&#$!()*5/8ABAAAA??AAABA?AAAAA?BAA?????A????>?A???A????>??>?????>?????>??>?<>??<>><:??><><:<<<<<:<<<:><:<><<<88:<<<<<>:::::<<:<<:<:<<<:8><::<<::::<<:>885552.-+)$$#"#"#!"!"&!#!"!"!#!"#""""!$%+&(#!%&&*3278FEHJJOPPPOOOPPSPPOPPRPPMPOOPSOMRRPPSPPPPRPPOPPPOPPRPOOOMOOOMOMMOMOLMMMMMLMMMMLLLMKLJKLILKKKLLJIILKKKKHHKJHIJJGIJIFEGGHHHGFEIHFEFFEFFGGFGGFEEEGGEFGFDEFIEDDCAFEEEEBBBECCDCDCCCBDBCCDDEBBCDCBAABCA?BBDCDC?ABABBCADBABBBBA?A???AAAA?A?A??AA>>?>?><<>?><>>>????>?>?<<<<<>>><<<<><<<<<<>><<<<<:<::<<<<<>>><:<<8:::><8<<<<<:<<<<<<<<::<>:<<:<<<<:::>:<7::<<::887580--+("%$"%#!!#"!"####&%&%%$&$$(&$&"#++25?AFJIMOMPPPPOPPMOPPMPRRRMMOPMPMMPPPRPPOPRPPPMMPPRPPOOOPMMOOMOMMMMMLLMMMMMLLLMOLLKKLMKJJJKKIJKKIILKHIKKHIJJIHIHGGHGGFGFFGHHEEHHHEFGGGGGGHGGEFFFFFEEEFDEFEEEEEEEEFEDEEECBBDDBDEBCDCCDBCDDDABCCDBBCABCBDA?CBCAABCA?AA??BBA?BC?CBAA?AB???AA????>?B?A??AAA??AB>?B??AA?????<>>????>>><?<>>>????<<<>>>?<<<<<<<<>><::<:?<<::::<:::<<<<::<><<<::<:<<<88<<8:<<<>:8:<<>:<<<<<::::<:<:8835/.++&&&$""#""!!"#!"$!#%&&#$(%$&#!#!$%%-/3::FGHKMOOPSPRPPRRRPOPRPPPPPRSPPPPOPOPPPPPRPPMMPOMMOPOLMMMPMMOMMOMMLKMMMLMLLKMMLLMLKLIIJJKIKLJJJKKKIJJFJKJIIIIHJIGIHGGHIHGHGFGIHFGGFEDEEHGFDEDGFEFDFDFEDDDFGFEDEDDDEDDDCBDDDDBCCECCCBBCBBCDCCCBBBBDBBBCCCBDCBABBB????BA?AA??A??AAA?ABA???A?AA>BAA??AA?A>??>??????AAA?>>?>?>>?>???>>?A>>>?>??><>>:<<<<<::::<<<<:<><88:<<:<<:8<<<><<<>>:::<<:<<<:<<:<8<<>:8757722.+&!"$!##$%%#%!"!#%$!$!"!!%"#$&$&!&)%$#$$%!"$.28??>>?A>><<>>><<>>><>>><<<<><>:<<<<<><<<<<<<:<:>:<<:<:<<:<<:<8<<><<:<<><<<:8:><<><>?>:<<:<<<:<<<<<::<:<<<<87132++((&%$$$$"#!!!"%##"(!""$&#%$$&)07:?ABBAB?AA?>>>A?>????>><>????>?><>???>???<><<<:<<<:><::>><<:<<:<:>><<<<::<:<<<::><<8:58:<:<::>>::<<<:<?::><<<<<<::<>:85352./)&#$$%$&###"#"#"#"!%!"&"&$$%#%&#!+.28:CFHKMPPOPOPPPRPPPOOOROOPPPOPOOPOMMOOOOOPLOPOMPMJJMOMMMMMMMMMMLMLJJKLLJLLLMKLKIJKIKKKLJKJJIIJIJIIHGGIGGIJHHHIHHIJGHIFGIGEFEGHFDDDFEEDDGDEDEEEDCFFEEEDFECEFEFCEFDDECBCEEDCCDDBABCBBDDCA???BBAA?ABCCCBABBABCCCABA?AB?BBAAB?AAAAA??AB??BBAAAAA?>>?>??????????A?A??????????A?>?>?>??>?>>???>?>>>>><<><<>?<><::<><><<:>:<>><<<<<<<<><:<<>><:<><<:7<<::><:::<<<<:::<<:<<<<<<<<<<8:::<::<<>::<8:88585.*&)&"&#!##!!"!!#!"&%%%$%!&+-0:??EHJPPPRRRPPPRPOPPMMOOOPOPPMMPPOMPPMMPMMOPMPMLKLMMMMMMLMMKKMLMMLKLJLMLMMLIKJKILLIJLJGKIKJIJJLKJHIHHGJIIJIHIHHHGEGHFGGHGFDDGFEEEFFCDDEFEDDFFEEEEFEGECDEFEEFDCDDDADDEDCCCCCDBABBBBAEDCCEBACCBBB??BECCBDCAABEDDBBAABCBBABB?AAACB??A?A?ABA????B????A????A??????<>??A??>>>?>>><:?<>??<>?<>><>?><<><<<<<<>?><<<<<<:<><<<?<><<<<<<:::::<<<<::<<::><<::8<::<??????A?>A??????<>?????????>??>?????>?A??>??<>?<>>>>><<><><<<<<<<<<>>?>><:>><<><<<::<<8<<<:::::8<:<>:<:<<<<<:<:8::8<:<<:::<:<<<<8<::><:??>????B??>??A?>???>>?>><<>><8>?>??:><>?><:<<>><<>><><<:<<::<::>><<><<<<<::<:<<><<<<><<><><::<<<::::<<><<<<:::?>:<:::<::<<<<:788310-$#$$"""!"%"!!$$!!%!"#"&!&&)"&$#!##(*327?DEGJMOMPMPPPPOMOMOMPPMMMMOOMMMMMMMMMMMMMMMMLLMLMMLLMKLJLKLLMLKLJLLJKKKJHLLJKKJKIIIHJGHJJIIIIHHGGGHHEDFGGHHFDFFFEGFEDDIFEEEFFEFHGGEDFFFFFFDDDDDDDEEDDCDBDEFEBCCBCDCBCCDBCDDEBCCBBDDDBBCBAAABAABABBCDC>?CC?B?C???AAA?AB?AB?AABA???A????AAA???>??????A?A?>??<>?A??<>????>>><<<<><<<><<><>><<<<<<>:<>><><:<><:<<><<<><::<<<><<:<<<:<<::8<<::<<<<:<<<<<:::<<<:<<::8<<:<<<:::<<<:<::8<<:::<<:5851//+))(&#"!!#""""!!!!"!!$$$$&$*#%$%"$%$)+758?GEIMPPPPPPPOPOLMOMOPOMMOPPPOMMOLMMLMMLLLMMJJKMMMLLKJKJMMLLMLKLLLLJJIJKLLJLKKKJHHIJIHJJIJGIJIIIHFIIHGHGHHIGEHHGFHFFGCFFGFFGFDFFFFFGGEEEEEDDEDGGEEDDEEDDEFEEEDDCBDCDDB??BCEDBACBBBBACAB?ABDDA?CB??AB?BBABABBA?AA?BBCA??A?AA>????>?B??B?AA??CBB?>?>>??<>?<<<<>>A?????<>:>><<<:<>:<<<>?><::>>::>?><<<<:>><><<:<:><<<>>:<<<<<::<::<<::8::8<::75752//&(%#&$$"!#!&#!!!!!%"$!!!$$&!&&$##"$$#&)15????BB???????BA??>A?>???>?>>?><>><>>?>>:<<>?<><<<<><<<<<<<><<<<><<><><<<<<:<:<:<<<><::<><<::<<<<<::<::<:<<<<<>><<<<<<::<::<<><<<<:8888550/.+*$%$%!!!!"!!"!!!&$$!$(#&*+8:<>DJLMMPLOOMMPPMOOOMMMMMKLMMMMLMOMOJMMMMMMMMMMKLLJKLMLMMLKIKKJJKJJJJIJKLHHJIJJIIHJEGIJGIHIGHFHGHGHJFFICFHGFEDGFFGGGCDDFDEDCDDGEFGFDCECFDCFEDFDDEDECFDCEEBCCDEDCDBADECDDCECCBBDBCACABBBC?BC??AABBBBBBDCABABA?ABBA??A?BBB?BABA?BBAA??>???>?>?<<<><::<<>?<><<<<<:<<<<<<<<<><><<<<<5<>><>>:<<>:::<:<<8<><<<:<::<<><8:<:8:<<<<<::><::<::<<<<<:8:8552-*(&&&%%!(""!#$"$!#"$!(&!"$&$&!%&&+078AAAA?ABBB????A??>???A???????????AAABB?>?>??>?>>>>>??>>?>>>><><<<<<><<<:?<<><<><<<<<<<<<:::<<>>><<<<88::8::<<<<<<::<:<<<><::<:<<:<<<<<<><<<<<><<<<:8835232)-&&&&""#%!"$"#!#!"$#&&+&##$&!!#((+588?DEKIIMMPPMOMLMMOMOOLMLLMMMKMMMLLMMLMKLMMLMLJKMLLKJLKJIKJJKIMMJIJHJHJJJJJJKIJIHIHIGIJJJHIIIGHIJHIIGGHGHFHGFGEFFGEFFEFECEHEDGEFDCCDEDCCEECCEDCBDFFCCDFBDFECCDECEDDDCBCCCDECBCCBBCBBABBCBBBBAC?AAABCBCABBBC??AA?ABA??????CAB?A???AA?AB???B?>?????>????>:??>????????>??>>?<>>>>>:<>><>><<<<<<::<<<<<:::<><<<<<<:<<<<<><:8<<<>::<:<<<:<><:<<<:<<<<<:<><::?<<<<A?BBB?AABABBB?AAABACA?AAAA???B???AABAA?????A?????>?A?<>??A?????>???>>?>?><<>>???>><><<<>>>><<<<<<><<<<<<<:<<<8<::<<:>>:<::<<<<<<<<<<<<::<<::<:<::88<:<<::<<:<8:<:<<>:<<:<<<::::<<<:<<:>?::<:<<<::8:77232--*)&&"&"%#!"!!!"!!%%&"$"%!###%-0.8CBA????A????AABA?B?ADC????A??BAB??A?>??A?BB??>?????>???A>??>?>>?><>?><>><><<:><<8<<<<<<<<<<<<<<>?:<:<<>8<<:::<<<<>:<:8<:<:<:<<<::78<<::8:::88>:<<<:8><<58<::775520.*++)!&$&$!"!""!"!"!&!"#&$$$$!&(#%$##!""%+11::ADEKLMMMMLMMOMMMMMKKKMMMMMLJMKKMKIKJJKJLLMLKIKJKJJJJKKKKJJJHJIKKIJHJJHIIHHIGGGIJJIFGGFHIHFFGDEFHIGHIFHGEFFDEFCEEFEEEEDDFDCCDFGDEDDDEECDFFCDCDBDEDDAECDDCCEDDABCCDDBCBCCCCCDCDBBAAABBBBBABACBCBAB?>??AABAAAAAAAB?A???>????ABA??>?>??<>???>>>><<::<><<<<<<:<><<<<:<<<<<:<<<<8<<:<<:<<<<<:><::<:::<:::<<<<<<<<:<<<::<<<<<<::<:<<<<<<<:<:<<<<<<<<<8:<<<<:<:<:>888553/+++)##%%#""!"!#!!!"#$!"#&)"#"!%!!&"*18>CFGJMLMMMMLMMMMMOOMMLMLLMMMMMKLLMMLJLMLLLKJLJJIJKLLJLJJIKJIJHHHJJJJIIIIJKHGHHHHEJHGGHHIGHGHFGHIHHFFHGFDFGFFFEDDFEDEDDEGEGGFCDEEDCEGFEDEDDDCCFECCCDDFEDECCEDD?EDCBBCDCDBABCCDCBCABA??BAD?ABCAA??BA????AB?BCBAA??????A???>?AB??AAABA??>?AA???B????A?>???>???>><>>>><><>>><<<<<<<:8:<<<<<<<:<><>><<:<><<<<<<::::<<<<<8:<:<<<:<<<<<<<:<<:<<><<><7:8:<:8><<<>A???AA???????????????????AA<<>>>????????>???><:<<>::<<<<<<><<<<<<:><>><><<<<<<>:<<<<<<>:<><<<:8<::::::<::::<:::8><:<><<8:>AGLLLMMMLMPMMOPMLLMLKMHMMLKKIKMLKKKLJJJHHKKIKJKLLJJIIIIKIHIIJJJKIHHFGHIIJIIFHFFHGIIIGFHGEHGEGHFEFEGDBFFDDFDDEFFEEDDEFEDEEDECDFFCEEEDFFDCDDBCBEDCDDEDCEEDEB?CDDCBBCCCBABAFBCBACDCAABABBB?BA?BABD?BAAAB???ABBA??BB??????B???A?<?>??A??>???>??>???<>>>>?<:><<8?><<::<<><<><::>:<<<<<<<<<<<<<><<<<<<<<<<><>><:::::<<<:<<<:8<<<<:::<::><<8<:::<7<<><<<<:>:7<<<><<<::<<88:8787/01)**&%"##""$#&#!#&#&!!($-358?ACKKLOMLJMKKLMMLMMLMMLLMKJKIJJMKJJKJJJIJJHLKJJLLKJJKLHHIJIJIIGGIHGHHIHJIIJHIGHHGGFHHFGFEEFGEEEGECEFFFEDDFGFEEEFDECEDEGCCBEEEDEDDFEDDDEDEDCDDBBCDEDDDEEEECCCEDCCBBBBAABBCC???CBACDADAABA?BAAA?BE??BBABABAAACBAACA??A?????C??A?>>>A??????A?>??>???????>?????><<>><>><>??<>??>><:<<>><<<<:<<<::<<<>><<<:<<<:<:<<<<<::<:>?<<:::::<><::::><<<<<:8:>:<:<<:8:?BEBCDCDCBA>AACCCBAABBBC?BC??CC?ACBBA???A??>B?A?ABA??AAAB?A??A???A??????AA?????>?>?>?>??>?A?><>?>><>?<><:>>>>>:<><<:<<<<<><<<::<<>?><<:>:<<<:::<:>>?<<:8<88<><><8:8:8:::<><<::::::<:<<<<<<:::<8><<8::<<:<8:723820))(&$%"$!!(#""!"!"""%$"!$%%$!#!$.13:EHJMMMLMMKMKLMMMKLJIGJJKIMJKLLKLJJJJJIJJJJKKKJJJIHIHJIIIHFHIJHHGIIHILIJIHGHHGHGHGHIGEHHHHGHFEFFFGEIFEFEFGFFEEEFEEDEEFEDDDDDDFEEECDECEDEEEDCCBCCECBB?EBBCCCCCBABABDC??BBCBBAA?A?AA??BDB??A???AA??A?BBAAAA????<>?A?A?>A>?AB??AB>??????<??>>?>>?>>>>???>>>><><:<><:<<<<>><<<<<<<<><:::8:::<<<::>:>::<:<<<<:::<<<<<<<<:8<8::<::>:<<<<<:<<<<<<:<<<<:::<<<<<?>??ACBCACBA??ABCA?????B???????>??>??A?AA???>??A???>???A????>?>><<>???<>??<<><<<><<><>><<<:<<<<<<>>><<<<><<<>:<:88>?><<<<<<:::<<<::<<>?<:<<<:<<<<::<<<<::<<<<<<<>::<:<<<><<<:<<<<<8<<<:::<<>?????>>???>???>>???<>><<><<<<<<<>><<:<<<:<><><<:<<<::<<<:<<><>8<<:::<<<<<<::<8:8<<::<<<<<:<<:<<<<<<<8:<:<:::<::<<<:<?<>>::<<<:855520.+*(%&#($""""#"!!$%##*038>ACGKLMMJLJJKMMMMMLLLMLIIJKLLLMIJKKKKHKKKIIHJJKHGJJIJJKHIHHIGHGIIIJHJHJFGHHHHIHIGEFDHIHEEEEFHEEFFFFEEEDDEDCCDEEFFEDEFDECEFDDDDEDBCFCDDCECCDBCBCBCBBCCCCBABCBBAACCCBDCCCDCBDAAABBCA???BB??A??AABBABB??A?????>?BCB?????>???????>???>??>>><>??>><>>>>>>?><<:<<><:<<:>::<<<<<<<>><?><<<<<8:::<<::><<:::<::<<:8<<:::::8:<::>:<<:<<:<<<:8:<:::::::<:<<<<>?<8::<<:<>??:>>::<<<<::<872.++*&&!"""$#&"#""$%&$!$!"!"&&%158:?CGLLJHLLMIJKMKKMMKJJJJKJJJKJIJJJIHHJJIIIIHIKJHGIIHJJIIHFGGGEFHHIIHJJKGGGFGHIHGFFFFIHFGIGEGGGFFFEFGFDDDFECECEDEFEFEEEDEDCEDDEDECCFDDDCCBBBDCCBCDEDADCCDBCCBBCBBBA?CBABDAA?AAABBAA>?AAA????AB??AABCA??>>>>???>?????????BA?>??<>???><<>><<>??:<><>>?><<<<<<>>>:<<<<<<<:<<><::<<<:>:<><<<:<8<:<>><8:<:8:8:<<::<:::::8<>::::<<<:<<<<<<:<:::<><>::<<:<>:<<:8:::>>:>>:<<><:<<:<8883550.*+&(%"$$!##!#%$ $&""&!!#$!)018<??A???B??A??????<>??>AAAA???AA?>?>??<<<<<<<<>?<8::<<><<<<<<:<<:::<<><<<<8:<::<>?<<:<<<:::8::<::8:<:>:<<::<><<<<<>><<<<<<8<<:<:8?<<::<><8:<<<<>><:8:<<<<:<<>?>?<<::88:552-0.+&)!%%&"&$%!%!#""!"""#"!"++.2<???A?????><>AA?<>???>>>>?>>>>?><>>>?<<><>??<<<:<::><::<<<:<<>:<<<<<<<<<<><:<<<><<8:<<<<<8<<:::<<<<:8<<<<<<<>::<:<:<<<<:<<:8:<:<:<:<:<<><<:<<8<<<<:<<:::<<::<><>??????A???????AA???>>>?A<>>><>??>?>?><:>?>><::<<:><<<8<<<:8::<:<<<>:>?:<<<<<<:<<<<><<:<>8:<<::<:><8:<8<<<<:><<<<:::::<:<<:?>::<:<><<<<<<<8<<::<<<::<<><:<><:<<<::?>:A??BA??ABAA??AAA?A?????A?A???????>??><>?????>><><?>???>>>?<<>>?><<<>?<:?:<<><<><><<>><<<<<<:<::<:<::><<<<<<<<<::::<<<><:<::<<::<<<<<<<:<<::<>?<8<<<<<:><<><<<<><::8<<:85731.*(%%%"#"!"#$%"!#!!#"""(##!$#$$&&.::>ABGIKKLKJMLLMLLMJKKJHKKIJIIIHIGGHAEHHIJHGHHEHFHJHHGFHGFFHGHIHHGFEHJGFGGJGEFFEEGGEFFDGGFDEDFGFEEEC@CBEBDDDBEED@BDCBCCCBEDCECDCCCDCDCBCBACDDBCCACBC??BBCCABCBAB?ADBCBC?ABAABC??????A???ABBB????>????>A???????????>>>>>?>>?>?>><<<<::<<>><<<<<:<><<<<><<>?<:><<<<::<:<<<<:<<<:<:<:8:<<<<::::<:<<>>:<><<<<><:<<<::<<<<<<><<<::<<><<<<<::<<::<<????AB?A???<>>??????<>?><<>>><><<>><<<><<<<<<:<<<<:>>>>>><>><<<<<<<<>?<<<<:<8<<<><<<<<<7:><:<:><<<<::::<<<8:>:<<<::<::<<<<<<>>:<<:<:777200+++$&#$&!!!""#!!!!!"""+0158?DDJJKKLKKKKJMKKLHLKJIIIJJHKJKJGIHIJJHIKJGGIIFFHHIIJIIGGGFGFHHGGGGGGGGGFHGGGHGFEGFEGDFDEDEDCFEFFDEEDDEEDCCDCEEFFDCDCDBDBDBEDCCBDCECCDCCCBCCCCDECECB?BBDCBA?>BDA???AA?AAA?>?A??>>??>??A?<>??A???????<?????>>??>????>>?>:>???<>??>>??><>?<>>?><<<?:<<><<<<<><:<<><:<><<<:<:<<<<<><:<<<<<<:8:8:<::::<<:8:<<:<<<:<<<<<<:<<<:::<<<:<<>>>><<:<>8::::<8<:<<8:83222-++&&&"!"#!!$!!#!$%!!#$$%!##"""#!#$0.88?AGIGKJJJKKILJHILIGKJIHIJIGJHJIJJGIJJJFJHIJGHGGHHHEGEEFFHFGFEEGFGGGHIGHFEEEFDFGGFEDDEDGHEDDEFDDBDDCDDDEDEDCBCDCDDDECDFFCCCBDCDCCCCDBCDDBBBABDDDCCDCBBCCAAABAABACAAB?AABBAA?BA?ABBB???A???A???AAA???????>???>?>A<>??????>?>?><<?<<<<>>>???>??>><><<<><><:::<<<::<<:::<<:::<::<<:8<<<::::<<<::<<<><<:<<<<<><><<:::<<:<<<:<<<<:<::8:<>:<<<<<<<8::22210/-&%&%#!""!"#!!"!"$&#$!!""/+5:AA?BCB>A???BA?AAA?AA??AAAABAA??A??AAAA???>>??AAA??>?>??><>:<<:>>>>?>><<<>??><<<>?<<>?>>>?>><<>?><<:<<:<::<:?<<:<:<>8::<<<><<<<<><8:>>><::<<>><<:::<<<<><<<<:8<:<<><:::?<:<::<>?<<8<>>?::><:<<>835353.+0/&"$("!""!"""%!$$$!""""!#!&-3:A?BCB???????A???A????A??BAA????????A?BA?????>>??>??>>>>????<<<><><><>?><>>>?<<><<<8<><<<><>><:<><<<<<<<<:::::::::8<<><<<<<::><<<:<::<:<8<<:<8:<<<<<>:<<:<<>><<:::::::<:<:8<<::<<<<:><:<<<><><<><<<<:8><8521/.+&%)%"$"#$#"#"%#$$#$!##$#$&02:??AA????>A?AAB?A????B?B???????????>?A????>?<>?>>>?<??A?<>?>>:><>??><<<<<:>><>??><<<><><><>:><<:<<<<<<<:::<<<8<<<::<<:<<<<<<:<<><<:<<:><:<:<:<<<:<:7:<:::<<<:<<<:<<:ACGJHIJKJJLJIIKJKJHIIJJGIHHIJHGGFHHHJHHFGGHHFFHHGIEHHIHFGGHEEEGFEFHEEEFBEGDGBCDEDEEDCBEFEDCEEEDCEDDCCD?BCD?DCCCDDDCCCCBEDDCBCCCEDDDC?ACBCCACBAA??ABBCCBBACCCBB??AABA????A??AABAA???A???BAA?A?A????<><?????>????>????>:<<><>>>>?<<<:><>>><::?><><:><<<<<<>><:<><<<<::<<<<<<<<<:::::<<:<<:<<:<>:<<<:<<::<<<<><::888:<::<<:::<<:<::><<<:<<788::>::<><<<:>:>>><<>?CDEJJJJJIIGIKJJHGIGIKIHIGHHGHGHFGIJHIGFHJHGHHFGHHFIGDHHEGHFGIEHFGFEEDDGEGFFEDFCEDDDEDADGFCCEDABCCBACDEACCBADCCCDCACDBCECCBBBDBAADDACACCBBBCBBBAB?BBABBB??????A?><<<??<?????<>><>???<>:<<<>:<<>?>:><<>:::<<:<<<:<><::<<<:<<<<<<<::<:<:<8<<<::<<8:<<<>:<:<::8:<<88:<<<>>:<<><<<<<<<<<:<::<<::<:>8:<:::<:8<<<<<::::<<<<<<:8:722/++%$$&##$%%!!!!"!""$"&$##!"!$##!#"$%**388AADFJJJJJJHJJJIGJJGGHIIIGHHGIJJFHIGGHGEFHIEGIHGGFGGGGFHHFGFFGGGHGGDEFFDDDFFEEDFEEDCDDECBDEDDDCABDEBDDC@BDDCBCCDCCDBDDC@ACDCB?CCBBC?BCBBCACCDCBCCBDCABA?ABABA?AABBAAACB?A>??CB?????ABC???><>A??>???A??>???????????<>????<<>?????>>:>?<<<<<<<:><><><>><<<<<<<<><>><<>?><:::<<<<<::::<<<<<>?>:<<8:<<::<<<<<<::::::<::::<:<<:<:::<><8<::8::<<:::<<>>8>><<:<<:<:::8525231+(&%%"($&$$#!#&!!!$"$&#$&##"%%#!(215<>>>????A:<>?A<?>>>>>><><<<>><<>?><<>:::><<>?<<>>><:<><<<<<<<<::<::::>::8:<::8:<<:::::::<:<<:8<::::<<<:::<<:878:<<<<<<><:<<<<:::<<8:::<::::<:<<8>>::<<::???<8?A?:<<878857572--())&!"#%!!!!!#!$!%!"!!#"!!"()23>?AAAABC?ACCCBCAAA>?????????BAA???>?A?:>?????????A>??><<>???>>??>???<><>>>???<<<<>><>:<<><<<<<:<><><<<<:<<<<><<<<<:<<<>>:::<><><>::::::::<<<<<:<<:<:::>::<:8<<><<<<<<<<::<:<::<<<<8:::<<<::<<<<:::<::8<<<<<<><<<<<8<>???><>>:<><<::8872500+*(+&$%"%"#"##!"!!!"%&&&%!"(&$!!##$!""!(+25??AAA??B??AA???>???A?>?????>??>?>?<<>???<<><<:<<::><><><<><<<<<><<:<<<<:?>:?>:<<::<>:<<<:::::<::<8:::::<<<<<:<:<<::::<<<::::<::8878<>><><><<::>><<:<::<88::822/.**%%!$$$&"!!!!!"!$&#$""%&+.28BADHHJGIHIFJJFJHIHIHHIIIGGGHHFIGHGGGFGGFGHEDGGEGGFIFGFFFEGCFEEFEDGFEECDDEFDDFEDFFEEDDDCDCECBBCCBBCDAEECBCBBBDEBACBBADEBACCB@CBDBBBBBCDA?CBBECB?CCADBBAA??BAA?AAAAAB?>?>?A?A??B??AA?AB><?????A???>?AA?B??A??<<>>?>?><<>?>>><<<>>><<<>??<<<<:<>>>>><><:::<<>><<><:<<<<<<<<<<><<<::::<:::::<<<<:<<:<::::<><<<<:<><<:<::<:<<:<<<<::><::<:<<<<<8:<:<<<<<8::<<>:<<<>><<<:<:8::8523+-*)*&&!$%%!#!&%$#!"!#"##&&%!!%&"!!$+.8>ABFIIEKHIJHGHKIHHGIHHGEGJHHFFIEGHGFFEGGHFFGHHGFEEFGEGHFEEFEDEEFDEFGFECDEGGDEDDCEDFDFDCCDECCDEEDCDDCCC?BCCBBC?ADEDCBCABCCBAECBCBABABBA?A>BA?BBAADA???BAAA?ABCB????AAB????????A?BB??????ACA??A?<>????AA????<>><<>??CA<:>??>?>><>><>>><>>>?>>:<><<<<><<<<<:>>:<<><<<<<<<<<:::<<><<::::<<:<<<<<><<<:::8<:<::::::<<::8:<<><::<<<><:<8:<:<<<:8<><<:>:>:?>><>8<:::55:/+++%"!"$"!"!!""$"$&#$#!$%03::AAGKIIJHIIIKJJKIGHJEHGHIIGHFGJFGHGHGHFHHGHHIHGDGGFFGGIGFFFGFEEEFFEEEEFFFEFEEEFEFECEDFEDDDCCBBDDBCDCECBBCCCBEB?CCBEDBCBCCDECDCBABCCBCCAAABBBBBBB?BABBBB??A???????BABA?A??>>?A>???A?>????????????>>??><>?<:????>>>??:><>><<><<<><<<<><<<><><<<<><:<8>><<:<<<:::<:::8:<<8<<:<<:::<<<<::<8<::?<><<<:><<:::<<88<:<><<<<><:<:<::<<<<<<:<:>:<::<<<<<<>:::<BAAA?????A?A????????????<<><>?>>???>>>?<>><:>?<>?>>>?<:>?>?<><>:><>>::::<<:::::<<::<:::<::::<::<<<:><<<<<>><>><>?<:>:<:<><<::><:::8:::<<<<<<:::8<<::>>><<<<<<<<<<<58<<<:8<<>BDFIHHIJKKJJIIIGHIJGHGFFGIFGFHBFJIGHFFGGFEGFHHGECFFFGFFFEEFHFGFFDECDFEEEEEEEEEDCCDCEEDECDECCBCDBBCDDCCCCCBCCDCCBACCB@BBAABDBABCBAB?BCADAA?AB???AABBBCAB????A?>???A?ABAA?????A????>??>>A?????>?>>:?<<:<>><<<:<<><:>??<<<><><<<<:<<<<>>><<>><><><<>>:?>:<<<<><8><<<<:<<:::::<::<<:8:>BCCGHFIJIKJJGJHJIIIIGFGIIIIHHGGDFHIJGFGHHGGEFHGFFECGFDGFEFEEFFFGEDDDFCECDECEEDCDDEDEF>BDEDDDCBADCCDDCACBDCBBCBBBCCCABAACBCDDC?CDBCCBCBBBABBDBCBBAAB?B??B>??AB?BA?????B??????AA?>?>>???A>??A>??>???>><<<>??<>><>><<<><<>><><:<:>??<<<<:<<<<<<:<<<<<><:<:::<8<<:<<>88:<<:<::::<<:8<::<>:<<<::<<<<<8:<<<>::<<<<<:<<<:<<<<::<:<::<:<<><:<<<:8<<<:88:88<<:<<<??A????A?>???>??????>>???B??>>??>??>>?????>>><<<><>?>>??><<>><><:?<<<><<<>>?<<<<<<:<>><<<::<:<<:<<<<:<><:<<<<:8<:<:<::><:::<:<<::<<<<:::::<::::::<::?<><<><:::<<:::<::<<<:8?<:>:<<<<<><:><<<>::>>><<8:72511/.&"&(&%$!$###"#"$$!$""$!"%%"!#!!)+1<???A??AB???>>?>>???><>?>>>??>>>>>>>?><><<<>>><<><<<<<<<:<<<>?><>><>>>:<<:8<<:7:<:<<<<:<<<<:<::<<<8>>>:8:<<<<::<<<:<<<<:::::<>>8::<:>:<8<<><<<>><::<<>:<<<::<><::<<:<<<<:8<:<<<>?><:7<<<<<><<<?BDHJHJJIHHGJGHGGJKIHIIHGHHFHGFGEHGGHHEHHEGFFEGGFFFGFFFDGGFDDDEEDFFFEEDDCEEFFEDEFDEFEDDCCDDCCCDBACDAABBBABABABEABCB@BBBBDBCA@BCBABABACBBBABABBABDCAACBB???AA????BA>?A?CBA???A???A?????????AA>>?>????>??<>>>><><<<><>:<><>>><<>>?>>><<><:<>>><<<><><<:<<<>>><<<<<<<<>:<>?>:<<:<<<<><<<<:<<<::<><:8<<<<<<<<:<<<::8::<:<::<<<<:::<<:8:><::<><:<<<<<<<<<<:>:8<<8<<<<:8<:?:<::<:8<<><:<<>:<<:<<<:??>>::<::::73255$)($%&""#"&#!!!"!"!!"!&(+137BB?FHIHGHJHHGIHHIHGHHHIHFFGIGGGGFGFFGGGHEFGGGFHGFGGFFFCDFFEEGGGEDFDFEBDDEE?DGEFEDDDFDCCDACEDCEDBCE?CCBDDCCCB?BABFCADCBBDACCCA???FBC?BDAAAA?BABCACA?A?BB?AAA???A???A????AB?AAABAA??A?A????>???<>?A???>?>?<>A?><<>>??><?<<>><>><>><:<><><:?><<<<<><<<<<<<::<<<>>:???<<:<>><<:<<<:<<<::<<<>><:<<<<<<<<<<888:<><<8:<:<<:8:8::<:::::<<<><<<::><<<8:<:<8>>><<><:<<>>ABBCAA?AB?BA?A?AB?ABB?A?A???A???A??A??AAA?A?A????AA?????????????>?>>>??<???<<<<><><<:<>>><<<<<><:<<<<<>::<:<>?<<<::<><<:<:<<<<<8:::<<<<<<<<<<<<:>::8<<<<:<<<<<<:8<<<<>>::>:::<<:<<<:::<<::<:<<::8<<<<:<<<8::<<<><<<:<<>:<<>:<>><<<<<<><<<<:?853322.-.+*#$$$$$!##$#!##!"#%!!((073????????<>>?>??<<>>?><><><<<><<<::<>>><<<<>?<<:8<<<<><<<<<>?:7<<::<<<><<<<<<<<8<:::<<<8<:<<><<<<><<<<<<<::<<:<::<<>>??>::<<<<7:<:::><<<::<<:::<><<<:<8><<::<>><88:<<<<><<855520-&(&%$"#"&&%""!"#$!$"%#*238>DFDHHIJHIILHGIIHJDGHIFEGGIHFHHGHHGFFEFHHDGHHFGHFDEHFDEGFFGEFFGGFEFFEEFEFECDCFDECCCCDBBEEEFEBEDEDBBC?BBD@BCCCBCABBCDBBCC@BBCBADCABCCAABACCBBBCBB?BABBAA??B??ABABBA??AA?AA?A?BBA?????>>?>?<>?>???>>><>>?>>>??<>><><>>?>><>?<>>><<<<<<<<<<>><<<><:<<<><<<<<<<<:><><<<<<<::>?<<><<<::<<<<<:::<<::<<<<><><<:<8<<<:<<<<:<><<:::<><<:<::><><<<<<<:::::<<<:<<:::<<::<<<<<:::8:<>>><<:<:><><<:<<<<<88:85552.+&&&#"#"#&&"!##$(!"#$$(%%%233:BDHGHGHKIKKJIGDHIHJJHHFDGHFFHGIDCEHFFEFGGGGGHGEGFGGGGFFEEGDE?EGGGGGFFEEFEEEEEGDCCDDEEDDDEDCCDBDECBDAB?A?BECCCBABCDBBCCCCDCBCBBCCBDCBCBABABB?AABAABA???B????A??AAAB??A?A????A>AAA??????A?:<>>??<<>>?>?AA??>B??>????<<<>><<>?>>><<>><<:<<<<><<>>?<:::<<<<><:<<<>??<<<<>>:<:<<<<<<8::<<<<<<<<<>::<::<:<<<<<<><<8:<<::::<<<:<<:<<<:<<<:<><<:::<<<:::<<<<<<:<:8>:::<<:>::<<><8<<>:<:<88::><:>>::<:><<<<<<:::8<8<8321.**%$&&"$"##!"&"$%&-28<A???>>>????:<<>>?<>?????<><<<<>?>><>>?<<<><<>><:<<<<>><<:<<<<<<<<>><<>><<::><<><<<:<:<<<<<<::<<<:><>>:><:::::<<<::<<::::8:<<<<<<<:<<<:<:<:8::<<::<:<<::::><<<><><<:<:<<:<<:8:::<:<>::<8:<:>?<:<<8<<<<<<>><<<:><><>:::::85120/+$&&%$"!"$!!#!"""##!!%!&#!-85::CDGGJHGHKJJKGIKJEHIHGGGIIJKJIHHGJHIHFFEEDFHFGHGFEGGFEGCBIDFEGFDDDFGFCEDGGEEEEGECDEEFDFFFBBDEEEBBCCECC?ECABEAABCABDDA@DDAACBBDBA@?B?>@BCA??A>@BBAAB?ABBAB?AAABB?AA?>??AB??B?>????AA<>A>??<><>??>??<:<><<>??<<>?<>?><>?>>??<<>?>?><>><:?><<<><<<><<>><::<><>C?<<<<<:<:8:::<:<>:<<<<<<>:<:><:<<<<<<::<:<<>:><<<<<<<:<:<:<<<5<>><><<<<<::<<<87::<<>>?<:<<<:8:<::::>::<::<>:<:><<<<><<<8?<:?A??AAAAB??AAAA>??BA>????A???A?>????????ABA????>??>???>><>?<?<><>???>:>><<<<>>><<<<><<<<<<:<<><<<>>:><<<<:<<<<<:<<>::<8:<<<<<::::<::<<:<<<<<<<<:<:<<<::<:8:::<<<<<<<<<<>><:<>>::<<<A>B?A???A?A??A????A???>??:<>?A?<><>?<<>?>?>>><<<<>><<<><>><<<:<::<<><>><<::<:<><>>:><:<>>?><<<<8<>?><>>><:::::<><<<<<<><:<<<<<<<:7<<<:<><<<:<<><:<:::::<<<<><<<<<::8:<><<<:<<>:?>?<>?<><<:<::8?>CEEIGGHHJJKIIIHIIGIJHHHFHHGEHIGIFDHFIJGGGFEGEGDEGHFEGEFGHEFEEDEFGHFFEEFFEDFEFFFEDEECFEDDAEFDCDBACCCDECDCCBBDCCBCBB?ABCCBBBCBABBBABBBABBBB?BBA?A?BABA>?ABABB??AB?AB?>??A?A???>???>????>?????????A?>?>??><>>>??<<>>><>?>??A<>?><<:<>>><<<<<<><<8>><:<<<<<<<:<<<>><<<<<:::<><<<<<<<><<<:<<<<::<<<::<:8<<:<8:<<<>:<<<:<<:8<:<<><<<<::<::<8:::<<<:<<:8::<<<:::<<<<<:8<<:<<<:<<7:8:58020&&($%(#""!$#!!!!"*($5:>?DGIGHIJKIIIJGIHIFHFHFGHEGGHHIHGFFFEFDBFEEFHHHGEGFGHGDEDEDFGEFEGFDDEDCGEFGFHEFFDFFEBCDDCCBCDEDECDECBBCCDCDDCABCDCBDA@CCDC??BDBBBBBAB@CBA@@A?@?BCA@ABAA?A??>??A?A?A?>?AA?A??????>?>?>????A??????A?????<>>???>>>?>>>?<><?<<>>>?><<<::<><<<<<<<<><<<>:><<<:<<>??<><<<<<<:>><<:<<<<<:<<<<:<8<8<>?<<<>8::<::<<:<<<<<<<:?<::?<<><>:>?<:<8<<<<8<:888731/0+-$#"$&&%##""!$"!$!#"-2:BAAB?A?AA?AA?????AA??A??AA??AAAA????<>>????>?????><<<<>>><<<<>><<<>>>><><<:<><<:<><><<<:<<<<><<<<<<<<:<:<<:::<<<8:<:8<<<:8:::<:88><<::<>:<><:<<<><<:<<:::>:<<<<<<<:<::<<<:<<<<<::<<>::8>>?>::<88<<<:><:<<:8872211+&*%&#"$&!$$""$#""!"%"+/118>HEFGIKIFHHHIJKKLJKFJJGHFHIIFFHIJGGIHHGGHHDDFGDFFEGCEGGEBDEFDDBFECEGGEGFGF?EFGFEEDEEEEEDEDFEDCDEDDDFCDCBCDABCBCCBCCCBCCBBABBA???BACBBBABBBABBBACABCBABC?A>>?CBA?>?ABABAA??A??A???????>????<<:>????>?:<<<><<:><><<:?<<<>>::<>>><<:<:<<<<><:<<<><<<<88<<::<<<:<<<8:::<<<:8>?><<<<<<<<::<<<::8::::<<<8:<<><:<<<<::::::<::<<<<<::>>><><><><:<<<<::::<<::<8><<:<><<><<><><::<:<::>><?CAABBAAA?AAABAABA???AA??AA?>??<<>><>>>???:<>?A<<>??<<><:<<<<<<><:<<>??><>><<<><<<<<:::>><<<::<<:<:8:<<:<:<><:<><<:>:<8:<<<<:<:::<<:7:<::8<::<>8<<<::::::<<7<:::::7::<:<<<<::<<<<<::::<><<<<<<:::<><<<<<>>><<::::><<<<:<<<>8<<<<<<<<8::887:582+&*%&!"!"%#"!!!!!!# #$-&(0:?????>?AA??>>?>AAB??>??????<:><<8<>><:<>?>>?<:<<><<<8<<><>><<<><><<:<:<><<<<<><::<<<<<:<<<<<<<<::<<:<8:7::::<<8<<:<<:::<:<<:::<:::<<<<<::<<<<>>8><:<8>><:<<<<<<:::<<::7<<<:88><<:<ABB????A?????AC?A?A?????>?????AA???>>???>?>?>?<>>??????><<>>???A?>>???>?<>><>A?<>><<>>>><<<<<>??><<<<<>><<<<<8:<:<<><<8:<<8::<><<<<<8:<<<<<:<>::<<:<<<:<<<:<<:<<<::<<:<<<<::<<::<:<8<::>::<<8:::<<<<<:::<::<<<::<<<>?<<<<8::<:<:::<:<::8<<>><::><:8<<<>?><:>>><<<:>:<<>::::8730/1+*(")"""!#!!%""+!)5>?EDGIJFJJHJJKHFHIJJGGGDGIGHIHFGFDGIHGHEIIFFEFGEEEGFHECGEDC?EDEHFFGEDDFEEFCADEFFEEFEFEFFDDEFFEDDBBDDBBBCBCDCBBCCCBCC?EBCDBBBCCBBCCCBBCBCA?A?A??BB?B??B???>A??????>??>?ABAA???>?????B??><>?>??><>????>>??>>>>?>><<>>?<><><<::::8:<:<:8:<<<<<<:><:<::::<<>:<<<<:<<<<<<:::<:<:7::<<<<<<<>:<<<:<<:::<<:<<8<<:<:::8:8:<:57::<<<:::<:::8>:>:>?:>><<:<<<:??<:<<:<<:::::887320+++&$!!"!"%#$""!""%"%!287>DDFGHEIHIGIHGIHGHJIIGGGHIGHGHIGIHGGHFGGFHGGCFHCEGGFEEFHHGGEFEEFFEEEEEFEDEFEDEFFFGFEDFEEFEBCEEDDEDDCBDDBBDBCCCDAAABCDDAABCCBBAAACBBAABEBCCAACB?BCBBCBBABA??A??AA>??????ABA????A?>?????>>????????>>>?>><<<>>>>>>??>>>>>><>>>?>><<<<<<<:>><<<<<:::<>::<:<<<<<><<<<88:<<<:<>::><<:<<<<<<>:<:<<<<<:<<<<<<<::::<:::<<<::::::::<<::<::?<<<<:8:::<::<<8:<<<:??::<<<::<<:>:<<<::<<<<<<><<><<><<<<<<<<<:<<<<::<>?<<<8::522/((%&$"$&&&!"#"!%&-1::>AEDFGHIFKHGIGLIFIHJKIGFGEEFHHGCEGFGGEFDDEIFFGEHDFHHHFDCFFFFEDFGFFEDEFGEDEGFFDFEFDEEEGEDDDECCECACACECBDCBABADCBBACAB?BBAACABBA@?ABA@ABBCBAA@ACAAAAABAB?@BBAA????BBAA?<<>?A?AA?????????????>?>?><>?<?A>>>?>??>?>>?<<<<><><??<><>?<>><<<<<<>>::<<:::?<<:<><<<<<<::<<<<:<8<<<:<><<::::<>:<:::<<<::<:<:<<<><<<<<:<:<<<<:<:<<::<:8<<<<<:<<<<<<<<:<<<<77<<<<:::<:<:<:<<<><<>><:<<<<<<:::>>::<<:><<<<::<<:<<<::<::<<<78858750-*&&&##$""$#!-12:>BBGIHGHIIIJHJHGIIJHGGEHHFIHEGHHFFEEGGGGDEEGGFFGHFEEEEGHEFGEFFEGFGGFFGGHEDEEEEEEGEE?DCEEEEDEECCDCDCCEGDDABBCDDCCBD?BCABCCBCBAABABC?@>ABAAB?>@?AA@A?AABCA?AB??AA???BA?????AA?>>>??A?AA????A?>????>??>>???????<?<><<:<<>>???<>>>?><><<>?<<<>:<><<<<<<<<<<:<<><<<>::?><:<<<<<<<<<<<<:<<><:<<<<>::<><:::<><<>:<<<>::<<:::<<<><:<<<<><<<>:<<<::::::<<::<<::<<::<:<78:7573.+*+*(!"#!"#!-2-5:?DBHHDHIHIJEHGJHEJGGHEEFGEEHHFGHEFGIFGGFFEFEFFCCGFGGFDFGEEGEEGGDGHFHEFCEFDEEFEEECDEDDEFEEBBDDCCFECDCAEACDDECDBCCCCECBBCCBBCDCAABBACCA?ABBCBCBDDBA?BCBBABAA??A??>??>?AAAC>>>>?????<<>??>><??>><<<><>><<:<<<>>>><<<><:<<<<<<<:<<:<<><<<<>>:<:::><<<<<:::<:<>:><<><<:<><<<:<<<:>:<<:<8:<::<<:8:<8:<::<<:<<<<:?:<<<:::<<<<::::<>:<<8<<<<<<<><<<<>:><<7:<8:<<<<<<<<<>:<<<::><<<<<<8<<<<<::?<>8<><875/-/++"&)$$($!!%!##!%+2::??>???A???????A?>?????><>??????????>????????<<>>>?><:<<<><<<<<<>>?<><<>:::<<:<<<><<>>::<<<<<8:<<:<<<:<>><<:<>>:::>:::<:::8:::<<<:<><<<::<:<<<::::::<<<:<<<:<<<<<<<<<>:<:<<<<<<:<<:::<<>:<<<<:><<><<<>::<::8<8<<<:::87521-$!&&&!#""##&+-55A8?FFHJFHGJIIIIIGGHFHHFIIGIKIGHHKFFEGFJJFGHGFHDBEDFEEDGFEGGHGFFEGHEEECEECDDFFDEDDCCDDFFDFFCFDBCDFFACCFFCCBCABBEADCBBCDCBDDDDBBCB@BA@ABB@@A>@A?CA@AB>??A@?AA>@DC?B<>???>?A?A>????>???>???A?????AA?>???>?A???><><><<:>>>>?<>>:<:>>:>><>>>>?<<<:<::<<:<<<<<><<:<<<<<:<<<<:::<<<<8:78:<<<8<:::<<<:<::<<::<8<<<>?:>><<<:<<:>:<:<<><:::<><:?<<8<<><<<::<8888875+0+&%"%#&"!$$"!"!*+/3:?FGIGGGHGGGIIIIHHGIGGGHIIIIEFEGF?EFFGFGFCGFGGFGGFFFEFHFFDECFFGGDGFEEFFFECEFCFGDCEDFCEFCEFCFEECCDD?ABCBCDDDCDEBBDCCB?CC??>BCCA?BAAABA@B??@BAAADBB@ABB@AB@AB???A?@??CB??A?AA???????A?<>A>??>??A???>>??????<<><>?<>>??<>>><::?><<<<<<<<<<<<<<:::<:8<<><:><<<<:<<8<<<>:<<<:::<<<<<<::<:<<<::<:<::8:<<<:::::<::::<<<<:<<<<<<<<<<:<:<::<<<:::<<:<:::<8:<<<:8:<:::<::::<<<:<<:::<<<<8:<:<<:<><<8<8:<<<::::>><<:<CEHJFFHHJHHEHHHEFGGEDBGECFGFFFEDGEGIGFHEDCDBFDDFDBGFEFFFGGFDEEFGFFGFGEFEEEFEEDFEDEEEAFFECCBDFDEDCCBCAAEEEBDBCABAB??CCBCBC?ABCB??CC?BAAB??BA?DCCBA?DA??>?A?A>???<>??????<><>:<<<<<<>?><<<<>:><<<><<<><<:<::<<<<<<:<<<:<:::8:<8<:<<><<<<:<:::<<>::<<:<<::::8:<<::<<<<::::::::<:<:<<:<<::<<<<<<<<<:<::<<<<:<:<::<::<<:8<<:<::<:?<8<><<:<:8<<<:<:8<<37::7:<:887775550.&%#!$&#%!!!!!&*57?>??????AAB?><>>>>????>>?A????:?????>>?????><:<<>>:>>:<><<?<<>?<<<<<><:<<<><<<<<><:<:<:<:::<<<<<:<<<><><<<><::<:8:<<<<<<:<:8<<<<><<:<<<:::<::<<:<<<<<:::<<<:<><:>88::<<::<<<7:::<::<8::::<:<<<:<:<<:::8<::<<::<:::::<>>:<>>:<<<<<<<<<<<::88<::88852233.+*$#%&(&%""%$!*578ABA>AB@@A?@>AD@??>??<>???A?????A>?????><>??<><>?<<<>>?<<<:<<<<<>::<:<>>:8:::>::<::<<<::<<<:8::<:<<<<<<<:<:<::8:<<:<><:<<:<>><:<8:::<>::<<::<::::<<<:::::8:<8>88::<<:<<<><<<<::<:<<<<<:<8::<::<:::<<<<8<<<<8::<88:8:<:?:<<><:?<<>?<>::<<>><BA@>A@=???A?A???>???????>???>????><>???>><??><>>?>><<>>?>>>?><><<::>><<<<<><<<<>?<<<<><<<<<<<8<::::8::<<<<<<::<<<<<:::><:<>:<:8<:::::<:<<<<:<<<:::<88:<:::::8<>:::<<:><::::88::<:::<:<::::8::<8<><:<<<<::<:::::<::<:8<<:<<::<><<><:::<<::>??>A>B<>?A?>????A?????>><>??>????>??A>>??<>:>>><><>><>?>><>?><<:>A<:<<>?>>><<:8:<><<<<<<:?:<:::<<<:::<<888::<<<:<><::<<:<::::<<::::<8<::<<8::<>:<<8<<<<:8::<::::<<>:<<8:><<8<<<<:88:::<::::<<<<<::<:<:::5:>::<:<:8:::<:<<:<:<8>>::<<>::<<:8<<<<<<::<><<<<<<:<<<::8><><>:88833-1-.+"##&!$$"#!!?><>BFHGFGGHJJHEHGHGEHHEFIFHFGJFGDGFGHFDEEEFFFFEEDCDEEEGGDEFEBEDEDCAEDCEBFECDBDEEDCDCEC>AFEDDADGCDCDCBACDBDBABDDEGECCDBDCBDCBDACCCCAABBBB?A?CBABCAA?BABAAA?CBA??????A??????????>A???A??<>?>>????>?<??>??><<<<><><><<<<<<>?>>><><<>?>:><<::><>><>:<>:<>?>?>><:<<::<<:8::<<<<:<:::<<<:<<<::<<<<::<>><<:<<<<<:>::<:<<::<<<<<<<88:<:::::8:<><><::>><<<<<><<:::<:<<:::<:::<<::<<<:<>::::<<<<:8<>:8::8<:738/0/+-.)%#$"#!$&"%"?FCDDGHHGAFGDFIIIJIGFHGFGIFEFIGGEEFIIIDDEFIFCCCCAGFHECCFCGFEFGCEEECEGFEBDEECCDEDCDFFDEGCEFFCCDFCDDBAEDBADDCBDDCDCBCFDCADDBBCCBBBBADBAC@ABAACCB@@?A@@ACB@??>ACA?AABA@>B?>??A>????A??>?>>?><:<:?>?>:<?<>>??<<<8:<<<:><<<<<<><<<:8::<:<<><<<<<:::>><><<<<<:<:<:<>:<>?>?:8<<<<:8<<<:::<<<<<:<::<<<::<<<:<:<><<<<<<8:<:<<<><:>8<<8:<><:??:<:<:><<<:<::::<<:<8::8:>>:8<:>:8::<88:><<><<:<<::::88<:25583/-)*(($#"#$!#$!$(&ACGFFFHHFGGHFGIFFHHGFFGGIGFHEGGGGHHGGEFGEEFFEECEFFFFGFFEFFHGEBEDFEFEECEFECEEEEEFCCEEEBABDDFDCCAEBCBCDFDCBCC?BCDACBADDBCCDCBCAABBB?BACABABDAAAAACBC?@A?@BA?>>BC@@B?@AAAA@AA?>???>>?>?????>>>??>>?>?>>?<:><>>>>><<<<>><<>><<:<<<<<<:<<<>><<<<<<<<:<<<<<::<><<<:<<<<<<::<:::<<<::<::<<<>:<<8<<<::><<<<<<><::<8:>><<<:<::<:<:8:><<:::::::<<<<<<<:<<<::<<<88<<::<:<<::8::<:<:::8:<<<8:<:<::<<<::<<::8:<:::<<::::<<:<8:<:<<:8<:::::55552*-%&%$$""%!$EFGFEFEFFEFGFLIGHGJKHGFGFHHGIHGHFHJGDCFFEEDGGDEEDCFGGDGEFEDEDAFFCCDECDEDEDFBGDEFDDDCDFGEDDDCDCCCACDDDACDCDDCCEB?A??BACDC??>AB>BDBAACA??>CBCAAC?ABCA?B?AB?AB?CA???A?AA?B??>A???AA?>??>?A?A??<>?>>??>?><<>?>?>><<>>>??>>>>?<>>?<<<><:>?><<><<<<>><<<<:<<<>><><<<::<:<>>:<<<<<>:<<<::<:<<<<<:<<:8::::<:>::<<>::<<<8<:8:<:<:<:8:<<<8<<>::::::<8<<<<<:<<<<<::8:::<<:<<:<:8:<<:<:<::<<8<:8<::<<<:::<::::8:><<<<:<<<<>:>>>?:<>:::<::<<88<:888>:87512.0++(%"!##"!&!"!BEGGFHFEHIGGGGFHHGJGDDFHHFHJHGFGFEIHEFIGFEFGEFDEFFFGECFFFEBEFEEFEDCDDGDDDDCDGBDEEEBDECCCBCAADEEDDBCDCCADDDEDCCA??CCBAB??BBDCBCCBCCB?A?BCBBD????AAA?AABB?ABB>ABAAA??AABA?B????A???????>???????><><>?<<:??>>?<>>><><><<>>:??<<<<<<<:<<><>><:<<<<::::<<:><>??<::<<<>>:<<<<<:<::<:::<<>:<:<<:<<<<:><<<<:<<<:::::<:<:>:<><:<<<88:<::<<<<::<::<::<:<:<:<::::::<:<:::8:<<<8<><::::<<<::::::88<:<<<<8::<::::<:<><<8<<::<::<::<::88:<<<<<<88:<:8:85521-%)(!!%$"!!"$?FEEGEIIEFHHDEHHGFCFGCGJIHIJIFFFEDFGHGDEEEGFGHFCECEFEDFEEGEDDFG?EEFFEEFEG?CCGCCBEFFEDECBFEDCDECEEEBCCCBEBEEDDF?ABBB?BCA?BCECB?BBB??ECAB@?CBAAABCBAA@AA@@BB>=?A?@BA>?B?A=AB=?AAA??><><><>?B??>::>>??>>?>????<<<><<<:<>>8>?<<<<<><:?>:<?<<<:<<<<>>><<::<<<<<:<<<::<<:<<>:<:<<<<<:<<>?<<:<<:<<<<<88:::::<:<<<<:::<<<88:<>::::<::<<<<:<<<::8:88<::<::8<:<:<::<::<<:<::8:::<>88:::<<:::>:<<::::8<<<::8<<::7:::<<<::8<<:<::7:<8::8887352.+**#""%""!DDEFGEBGIGEJEFHHEGGGHHEEHHDFGGHHFCFFEFDHFHFGEDEDGGEEEFDFDDDGDEFDEEDEDDCGBCCGEEEADBECEEDEDEDCDECCEDBCDBACBDCCBEDCD?BACBBDDCBCCCABCCACCCA>BAABBA??A??@A?@?BB??AB@?ACB@A???AA?=?B?????>??>?????><<<?>>?<:>>><<<<>><:?<<<>><><><><<<>?<<<<<<>?::<:<:<<<><::<<<<<><<<<::<<<<<:><<<><<<><8<<<<<<<<<<<<8::>:<>:::8:<::<<8:::<<<<<::8<::<:<<<8:<:8:8:<:<:<<<<>::<::8::::8:8<<<:<><:<::<<:<<<<8<<<<::::>><8<:<::<:><:8:<<:8:<<<>ACBCAACCDFEAAE?A?BABDBAB?ABABB?A?AAAAAAA????A???????A?AAA???>>???????>>???>???><<:<:>:>?<::::<8>>>:88?><:<<:><<<<<<<<:<<<<<:<::::::<<8<:<:::<>>>:8<<:8<<<:<<<<:<<<::<8>><<<:<<><:<><::<<<::8::<>:<::8::<88:8:::::7:<<:8<:<><<:<<::<::>:<:::<88:<<<:<><<88:::<:858:888:751/0-+&"!#$#!#$%#DHBDCFFFEGHGEDDHHHHGEHHEGGIDDIHFEDCHFFGEDCDFDDEEEIEEFDBBDEEDDGGIHADBEDDBCDDFCDCEDEEDEEBDDDCCDECCCDDDBDCCDBCC?ABACCACDCBBBCB?B?BADDCBAA?DB?A?BCA?AAAABABCBA?A???????A>>?>A???>AA>>???????<><>>?><<<<>>??><<<:<<<<<::<<>?><::<><:<><<:<><<<><>:<<<<<:<<<8<<<:<<<<<<<<<:<<::::<<:<<><<:::<:<<:<<8:<<<:8:<88<<><<<::<::8::<<8<::<::8:<:::<7:<:<<:::<<>:<>:::<:<:><888::::<8:<<8:<<::<<::<<::<::<:::<:<<>::88::5<<::<::<88::5::8:<:<8:<<:8:855710++&&&$""#DFFCCDCHGFEHGFHHHHHGGHGFIGDEGEEEDDDDCCFGFFEEDFFGFFGEDEFFEBEECDCEBFACECBACEDEDGCCDDEDEDCCDDDEDFDCBCCBDBDFDCEE?CDCB?BBD?ACCBA?BBCED??CBBB?BA??@>??@BA<>???@??=>>????A???A???AA???<:<>?>?>>>??>?><<<<<:<<<<<<>:<:<<>?:<:><<:8>:::<>:<::<<:><<<:<<<<<<<<<<<<:<<:<<<:><<:::::<<::>>::>:<<:<:88::<::8::<:::<:8:8:8:::<<<<:<<::888::<<:><<:<<8:<::<:::<:::88:<<:8<:88<:<<:88<>:<<:::::<<8::<:8:<8::>:8:<::::::<<<<:88:8::<:38::727210+/+"#&#!"$#!"!""DD?EBDBCFDEDFAEDHGHHFGEFFADFFGIEEFFEFCEDEGFFGFGGCEDGFFEDDEFHFCDDEFDFEFEAFAACCCECBCDCDFDECDEECDCDDCBBCCDCEDCBBEEDB?BBCBBA??BBABCAA?ABABABAA@?AC@??CA@??<=A?>=?>>@??=??>>@BA??>?AA>???>???A??>::??>>>??>?><>>?>?<8<><>><>><<<><<<<:<:<::><:<:<><<<:::<:<<<<<<<<<<:<:<<<:<8<><<><::<<<<:<<<<<>8<:8<<::<8:88::::<::8<<::<<8:::<<:8:::<5::<><<8:8:::<8:::8:::<:><<:8:::8::<<:88::888:::::<<::::8::<<::<:8:<8:8<:7:87888:::<::<<:::8:::::58::7588::872001/++#"%&$#"!EIGEGFFFGFFDHFHHGDDEGFECFIDFCFGGEDDEEDEDDEDCCDDBGFFFE?BDEECCFECDEDECDFFFEFFCDFEECDFDDFCCDEEABBBDDDCDBBDCBCCAAB?DAB?ACCAAABDDBABA?ABA??AB????BCBB?ABC?AA?A??>A>???????>>?>A??:<??A??><<<>?<>:<><<>><:<<<::><><>?><:<<<::?>><<<<>::<<<<:<<<<8::8<<<<<<::5>:<<<<<::<<::88<<:>:::<<:8<<::88<:::<<<8:<>>8:::::<<:<::::2:<:<:::<::<::::<<8:88:::::::<8:><<:<88::::::<8::8::<<:::<<:7:8:58:87:<:8878:8:<8:::<:::7::::8::::8:<<<8:352/2.(&#%"!&"!&$""!CHIFEGFHHFGFEDFFGEFEGFGHFFFEGDECDDFEDDEFDDEBDFFEEDDEDDEFEDCBBEFEDEBBCEDCFFEEFFDBBDEBBBBCC?D>BD?ECEDDDDC?DDCBEEECCCCBBBBBB?ACBABABBAABC?BAC??AB?CACCB??A????>??ACAA??A???A???>AAA<<>>><>?><>???>?<8:<8:<><<><<<><><<<<<:<<<<<<<><<><:<<>?><:<<<<<<<<:<<<::::<<><<<:::::::8<<:<><88<:<<:<:<::::<<<:::::<::8<>::<::8<8:::::<<><<<::888:<:::<:<<:<>:<:::<<>:::<:<:<<:::8::8:8:<::::<::<<:<::::87:<8:8::88::8<:788<<:::8:<:8<:<<<88875805752-))&&(""&$$$!$!FEHICBHDACDFGDCBFGHIGGEIDFIECCBEEFGCFFFDDGEFEFDEDFCEFGFGGDGFDDECBCCDECDFECDAECCDFAGFBCCECCB?CEDBBEDEDABDBEDBABC?BDACCDCCBEF?BA?BCCB?BCAB?BA@AB@ABB@???A@AB@>???@AA>>?A>@??>>???>?A>?>??>?????>>>?<>>>><><<><<<>><<<<<><:>>>>><<<<::<><::::<88<:<<:>>>::<<<:<<<<<:8<<::::><<::888::<<::8:<:<::8<:8:<::::<<<:<8:8:>>:8<:77<:<:<<<<<<<8><::78<::<8:::<:<<<<::<8888:::>:<<:::<::::::<:::<:8:78:::::<:>::888::8::::>::7<:8::5:75320-.))&%%%#%!!"/(CECDFFFFEGCBFEBDFGEGBEFGFFCDFEGECEFFFEDDCECEFDEDECGFEDEBECCDDDEGCEEEEFEEDDB?BEDCDCCDEFDDDDEDCDEDECCADCCCBCBBA??CCBCA?AB?BDBBB?ADBCA??ABAAAAAB???A???A?@@?A@@A?>@???>>>>=????A???????<:>??A??><?>??<>?<><:>?:<<<<><<><>><:<:<<:<:<<<><<<<<<<:><<<><<<::<<<:<<::>::::::<<<<<::::<<<::<<::8<<:<:<<<<<::<:<:<<87<:<:<:<:8::::88::<<<<:8::8::8>::<<<:<<8<<:<:::::<<:::><8:::::8:::<<::8<:<:8:<<:<::::::8<:7::8<588:8<<8<8<::788::8::::8588878888885787520-*+&$%"!#!"##$$!E?CCDDBFDEFDHFFJHHCGGFDBFFDEIJHDEFGGFFDAEECDFEDEABEFECDADDDEEED?BDFDDCDHFEEACE?CDCADDAAEECDDCGFDDDADCBCECEBC?EDCACCCCB??AA?AABADC?BA??A?AA?CCA?AB??AA?AB??AAA??>?AC><>??AA?>?<><<?<><::<<:8<>>?<:<<:::::<<:8<:<<<:<<<<<<<<:<:<><::<<<<<<<<>::8:>><:8<<>::<:<<<<<<<8<<<<<<<::::<<<::<:8::::><<<<<8<<8<8:8:<::8::<8<::8:<>88:<<<:8::<<<:8:7<::<<>:<::::::<<88::888<::::::88::<8::8::<:8:8:::88:::8:8:<:78::::::78::::<:88788:8:8:87375301+-&(%#%%$#!#BEEFDEFAE?EDCCCBCDFFFHFCDFEFCBEGEDFEEEDDEEEEBCEHCCEDDDDDEEEEECBBEBAFDBEDDEEBCCCCDDDEDDDDCBADBDCCDCBAABEFDBCBCCDCAABCBBBCBBA?????BBB?AAB?BBBBA:?<?>????8>?>?B?>>>?B????>><>:<>>>?>???>><<>><<<<<>?><:<<<><:<<<<:<:<<<<<><::<<<<<><<<<<<<<<<:::::<8:<<<<><<><<<<><>8::<<<<<<<<<<<:<::<:<:<<<::8:8:::::::<<<::88:>:::::<<:::<::<<588::::8<<8::<:7:8:::::<<<8858>:<<<<:<<:<::8::::::<<::8:8:7::8::8:88878:8<<:78:8:8:::88:8:8:<:88:8::8:88785787755200.(("%$"&DDDACGCDDC?DIIEFIFGEGEDDFCGGCEFECFAGEEBHDFEEDCECFFFECEDDEDDEDEFEC?ACCCDBEABCDECDCDF?BDEDDFDCBBEGCDBBABCDDCACDCACBAACCCBCBCAAABCBCCBBDABBBA@@???BB??@BBA>???@AA@??AA???@@??>?A??@B??>???<::<::>??><<>>><><<<<<><<<<<:>><>?:<:::<:8<::<>>:::::<<<<:<<?<::::<:<<<><<<<<<<<<:<<:<<:<:>:<::<::::<:<::<:<<<:<:8?<<::8::8<:::8::::::::8<<<::7<A?>=>???????<>>>>>>?<><>?<><<>>::<:>::<<<<<:<<:::<<>8<<<::<<<8><:::::8:<><:?::::<<<::<<<<<:<<<:::<::<8:<<<:<::<<:8:<:::::88:<<<::::::<:8:::<::::<:<<<<88::8::::::<<<8:788:::<:<:8:<:<<:888:8<55<<7888<:78<::8:88:888::8:::8885:788:7::7887<:88588:82:3+02/+*)&%""!#D?CCD?DCACEDDEECDDEEFGDEGFCCEEDG?CFEEDDCFFEBDCEDDCCGECBCFEDEFFD>EFDCDEDCCDABCCBADCDFBDDDFEDBCCBBCDADDCDB?>CCCADFC?A?CB?AD??>AC?ACA?BABACA?BB?B?AA???B?????<>>??A>?>?B?>>>????><<:<><>><<:<<<<>><><8<:::<>?<<><::<:::<:<<::<:<88:78<:<<<<<<8::<<:<::<::::<<:<:::>:<::88<:::<:<8:::<::858<::<:::::::8:<:8<8:::<<88::<:8<::::8::8<:<8<85:::8:::887:<<::8:8:8<:8:::>8888878:::::::::888::88<828<:<:8:57:<<:878:8<58:::55130**(((%&#$&"!#!?GBCCABCBCACJCBGBDEDFEGICDECEEBCBEC?BEEEEDEBEBEEBCDEEEEDEFEDDEDDECCBDFCBAACCACEDA?ACDEDFECBDEDCACDCFBAAA?AAACDCCAADCCDCA?AABBBABB??AB??BCB?AA>??AAA?>>?<:>>>?>???>>??>><>>>><>>:<<<<<:>:<:<<<<><<<:<<<<<><:<<<><<:<:8:::<<<:<:<<>:::8:8:::<:<8<<<:<:8::<8:8:::<<88<::<::::::8::::88<:::<:::<<::88::<::<:::<<<:::<8<::::::888::785<:::8888::8878888:8:788::75885:8:::88:::8:::858887558:::::::888:8<::::::8::88:2587::55:75:533222--*&()%&$!!"##"&BAGG?ACBDD??BFCFCCFEFBCDEGFFCFDCBBEFF?EEDDCEFFDHEBDIFDDEBDEGCDED?ADGEDAADBDEDC?EDFEDEDCEEBDEADDBBDDAF?ABEDDDAADB?DBAAC?ABB?BBDB?BA?A>?BBAAAAA?@>AA??AC?=>?>@AA@@B???<<<=>>==?>?@??<<>?>>>?>>?????><<>><:<<<<>>><<<8>>><<::<<<<<8<::::::<<<:<<<?<><<<:>><<::<:8<88<:::8::<:8<:<<::<<<:<<:<8:::<<<<:<8<:7:<:::<<8888:<<<<<::<::<<:8::::8:<::7888788<:::<:5::<::<::88::8:8::::88:88887::<:88:<<:8:88878:88:8:758::8885388835::8878:8788::8888<8383535102+%+($$"""??ABDBDBADGFEFDEDFEFEFDDEFACBDDCCCDCDECGCBEEHDCBEEEECAD?CCDAEGDDBBCDDDCEBCBDDBDCDEDEFDDEDDBBACDA?BBCDCBDCC?CCBDB?BCCBCB?CB?AABB?BCCBA?AB?BBA?A?@A??=???@???@ACA???>>??<=?>==>?A?>>>>>>>?A>>??>>>>><<:::<<<><<<><>:8?<<><<::>><<<<:<><<:<<<::><::<:<:8::<:<<<::8<<<:<<<:::<:<:<<<8::::<<<::::<:::<<<<::88::::::8<::8::<:::<:<::<88:88<<:<<::::<:88:88:::8:<:::8:<:<:::<78::<:8::88::88:::::8:::8:8:8:87888:::8888:<:8:8:7778:8:587788888:88888:88::8:::588238353251-+(%$##!%#?DDAD?BDGFD?EFEGBCBDFEGEEEDBEEDED?EDCFF?CFBE?CFEDEDCCACDDCAEDADEFEEBDFFEDCCCCDACECDDCDDC??DBFABADBBACDAB?ABB????A??A??B>AA>??????>?A????>?????????>?<<:?>>?>?>::><:>>><8<:<<<:>:<<<88:><<>><::?>57<<<<<:::::<><><<<::<:<:<:::::<::<:8<<:::8:<8:<:::888<<7::::::::<::::::::<<:::8><888:8:::::<>::8::8::8:78:::8:88888888<58::::::::<:8::558858::888888855:::78:78288::85:8558::827852578778:888588:88:>78758575-10.*)!&%!$CBDDDABBBEGGEFD?CBCEBDDEEFECFDIEEBBDCBEGEDC?DDDDDDEFEDDDDDDEDAEGDACDCCECCBCDBCDCBDDDCCCBCBBFBBBBCBCBADBCAA?>ABDBD??BBCACCBA?BB?BAA?A????A?<>??A?BB>>?BA???AA???A<>?A??A?>??A?<>??>?>:???<>?>??>?<<><>?>>><<<<>><<<><<:<<::<>::<<::::8<<:><::<<:<:::<<:::<::<:<<<:::<<<<<:>::<<:::8<::<<<:::::<::::<<<:::<::88:::<<:8:::8:8<<<::::<<::88:::7:878<::88:88::::::88:<:::8::<:8:88:7::::7:88:8:8:8:82:8:888::888::88::8877::<:8:887878857888885855288:7785:5855532.0./+#(!#!BBBE?BBEBDCCDDFCDDCCFFDFGDF??ECBEDDDBDBAECADCCBDABFGBDCCDDEEBCDCDGDBCCDCCFDBBBDBCCCBDCCA?EDBCE?CCABBBDC?>?BCBBAAABBBCCA?????ABAB?BB?ACACAA>BAB?A?BB>??=>A??B??>?>>@>?=>?<>??<>8<<<::<<:8<<:><>::<<<:<<:8:<<8::<:<<<::<>7:<8::::<8::8:><<:::88:<<:::8:::<88<:8:::88::<><:855:::878::<<::8::87:<::::8:<<85888:::3<:85:8:8:88:<8:78:<:88:85<:<8:8888:::<::7888888:88::<:755758:8:8:88888888378:878775<7588788:88758:37::77255355521+-)-&&""$#$&"$#FD?CCDDEBBEBFCCDEEFEDDCCBCDGEFFDDDEBADBDFDCEEDCDBBEFD?DDCFEEDBEDCBCECBDCDED?EBBCBCAACADEEDABCEAA?BDCCACCBAACACCBA??BCAA?BAAAACCAABB????BA?A?B>@>?B>@??@A??=???><>>>>A??=>>?A><>><<<<<>:<<><><<:<><<<<<><<<<::<::<<<<<<8:<<<::<:::<<:<<<>88:<<<<:<:::<:<:::<:8:<::::::5:<<<:::55<<::::8<<::88<::<:::<:::8<:::::88:8:8:::8888::::<<:8<<:::::8:<:87:8:88888::7::::::7787:888888785888858888587578888:575::8858788575:8787878:8:787877825575553355531-..+(&%!!!ADFFECCFEECEDFFB?DDECED?CEBADDEDB?GDBCCFDD?BCCC?CEDCEDC?FDCDBCDBCCABABBDCFC?ABAAABAAABBB??ABDD?AB<AAA???A???<<<>::>??<::<>><<:<<<<<<:??<<<>:?<:<:<<::<:<<:<:><<:8:<><::<<88<<:>><<<::<<:8:<:::::8:::8:::<7788:88:<::<::8::888::<88<88:<8>8::<:8<:::8:::<:<8<88::888::8:<::77:8:728885788:8888:85888858787:::75285:5758:85888778878585787577558:315:87557777585352352585587555023+..-*#""!%#%#?BFDEGD?CFB?BCCBFEDDCDCCDCFFDCDDEEFEEACCDCCCCDCCCEADEDEDECFDBCCBCED?BDDDDDEADCA?CBBBDBA?ABDCDDAABBAAABB?BBBB??BBACBA??>AB??BA??BC?ABAAA?A?A??A?AAAA>?>?>?????>????>>>>???>???A??>>??<<><><>???8<<<<><<<<<<<<:<<<<<<<<:<::<<:::<:::<:::<<<<::>:<<<<<<::><<><<<<:::<<::<<:::8:::<:88:::::<:<<::88<<<8<<::::::8:<8::8<<:::8:::::888::8::8::8<:::8::::8:8::87:8:58:85:::778788888:88:878758::8888:8887::887758587878577355::78:7775877588753755870875785:888:57235532/0-0+&"!!CE>B>????>??=>>>==?><>?>>>???=?A>?>?>>?>?<<><>><><><><>><<<<:<<><<<<<:::><<<:<<<:<<<::<:8:::<8<:<<:<<<:::::<:8<<<::<<:<<:::<<::::88<:<::7::::::<:<:8<::88888:::8::8:::88:8:<8:<:8:88:88:8::88::888788:::888<::88888:::8877:88<8::::887577:888888<5585:5878:88:<<:725785537883878858775588885338872778277833788855852230333/.-(&%+$$&!?BA?D??CE?EDBACFDDDDDEEEBDEDEFDDDGFCBDBCCGDDCDEBEEDDBACBCCCDCACABCBCDDDEDBCBBBEDCBCAAC?C??CBDCCCCC?AB>C?CCBDBB?A?BBCBB?ABBB?B?>>?BA???????A??A?;??>?CB=?A?>??B>????>??>>??=??<<>>A?<>>>?><>><<<<<<><><<<<><:><:<<<<:<<<<::<:::8:<<8:8:::<<<:::<::::<:::8:::<<<:::8<:<:8:8:<:8<<<:8<::::8:<<:<<<::88::::8::8:8::75<<<:::8:8:8::8<:::888888:88:8::58::8885888:8::8:::::7788::8878<:8885:8888:758838:87785555:888858557555588777757355573583758355887515553885855335.)++*&&""?DCE?ACFCDACDFACADDCEGFCD?DCEEDDDGGCD?BBCEDBBDDEB?DDGFCBDACEBADDAADA?CBDCDDBC?CA??B??>>?AA?A????>>BA>????ABA??>>?>?>??>><>?<<>?><>A??>??>>??><><><>>?>:<<<<<>?><:::<<<<:::>><<:?<::8::::<:<<:<<>:<<<:<<<8::<CDCCDCCCDADDFFCCDBDAEFCDDBEEDBDDBCEDBEDCBAAEDDEC?FEEA?DEDCCDABCEEDDCACCADCBCAADEDDCCEDCCCBBAAABBBABBCDCB??BCCABB?>C?AABA?A?AA>CCBACA?ABA????>????A>?????BA??:??????>>??A?<<><:><<>>><>>>><<><><<<:<:<<><<<<<<<<<<<:8<:<:<<<:::<:<>:<<::<<<:<:<::::<::::8:::::::::<<<:::<:8<:::88::88<<:88:::<::<8888:8:::::888::88:8:<8888:<::<888788888<::8::::8:7887587888:88:87787857888578:85885885788575557888785753585357581555535527837555785588772755285185300.+#%&##!!><>D?BBFFGE?EGFEBEEHACDCEFCBAB?DGJFD?DFDCB?ADCBDEDE?B?FDFCDBACGDBBC??BDBCBDDEFACCABBCBBABCCBBAABDDCCDBCCECCB??A??AAA??BA?BCB=>?>>??==B?@????>???<>?<>??=>???>?:>>>?<<>??A?>>>><>>><<<>><<:::8:<<<::::::::8<::<<:<:8::8:::<<::<:8::8888:::8:8:::58:8::88<<:::8::88:88:8888888878:888888:8778:588885388888788887358855888::8::87878555:5853:7585552088258778553588778585787887851550875758525225553583221/**&#"??????AA???@A????A?=>>?;???>=?>??????>>>>?><<88<<<<><<<<<::>::<<<<<<:<<<<::<:8<::8:<::<<:<:<<:<::<<::<<:88:8:<::8:<::::8<::878:77::::8:::88:::::88::7:<:887::::8587::8:87:8887::88:::887888888877:787857788878888:55<778578:858::538881888:535:777558577877558538875335555888552355573:355535255735555535552/73521++++)%&(!FDABBE?>?CA?CCBA?DHDDDA??CCFD?BADD?ACCABDCCEDDCDDCEFEFDCBCACBCFCDBDCDEADAABCDBDD?CBACDDACDC?BCCABAADA??ABBBA?A??BAAABB???A>?B<<<><<<::::>><<:8::<<:><::8<<:8::<:<::::8:::<><<<::8:<:<<<:<<<8::8:<::<:<:<<:8:88:::8::<<:87::::88:::::8::::7:888:8:::::<8:8:878778:8888:7:878::8:88<88:77887:888::88858858775855:87758888:88<5388888387528:538878575258757838355785535252-:35255757778883255123525525222./+-"&!!!#!%!>BBC?ABCGDEDBFCCECDEEBDCCD?AECCBEDBB???CABCDCC???B?B?ABB?ABAB<???B???>>?AB?>????AAA>??>>>>???8?>>><8:<:<<<>:<<<:<<<<<<>:<<<::<<<<::<::::<:<<8::8::<:<<<<<<<<8:<<:<<<::<<<:8::88:<::<:8:::<::8888:<:<88:87:::8888::::88877:8<8::88888888::8:88888857885878:88:<77:8888788878788578853885778858:87888785552:7752885555857575578555585557553557732385572235373/2525775255152.172555/.1+)*%"$&#?AACDCD??AC????A??>???AA?A?AA?A?BABA?A???AAA>>>??>=??@A?>>><<=?A>????>;>::<<<<>?<<<<>>?><<:<:>>>:8<<:<><<<<:::8<:8<<<8::<<<::<<:<<<:<<<:<:<::::::<<:5::::8:><<:8:::<7877::88::8::<8788788:8:885:88:<::8888:78885:<<88:78<8::8:8:87:888785:7:8888788:888:8878:5755887577:8588888:77788:8530535885:78:373588335.5888528852233355725555525552273751275122575225../1))$!!""ACDAB?DFG?BBACDDBBCDDABBADBEEEDCCAAAEB?EDDCBBDDCCDBCBB?CBBDCCDDDCA??ADDABAA?BBAADCDEC??AABCAACDCB?ABBAAB??AA??@???>>?>>??>><>?>><<>>=<>><<>?<<><:<<>?><<<<>><>::<::<<<<<<<<<<8<:<:<::88::::<:::<<8:<:::8:::88:8<<<::<8:<:<<<:::<<8::8:<:8::87788885888:8588<88<<8:8888:8788:78:8888788::77888:8:88788887757875888:877888:888888:855:775578858857577:537578375555512235335575358735323275225555377385777225322755228572853302127-/1-+)&#$??AACCACBBDDB?ACCB?BACBDCBCCAABBCBBABA??BBBBBAACAB??ACA?A?AA????BAAA??A?BB???A?><:?A?>???>>?????:>???<>>?<><<><><<:<8:><<<<:<<<<<><><888<<<<<<::<:::::<<:8:::::8<::<::::88:::<:::<88<::8:::788:<:::8:::88::<8::8:888:<<<:<:88:888:87::8::8:58555::8:::8788:77:878885788::8588758885557888885577577353257257555757575553355875753877232223352205723585752737851375155523552555212573.023/20.+(+&+&$##$?DAB?DCBAB?A??B??A??A??????A???????>???>>???>?>>>?<<<><:<><<<<:<>>><<<<<<<<::::><<<<:<<<<:8:::8:8::<<8<:::<<8:<:8:::::8:<:<:8:58<:8<:88:8788<<::<::888::8::8:::8:::::8<788:888:78858:::8888888:78:878578:8873:88855775887557755888887585377755875277885555553787778737555753375773351277725585558551223355020255252222225512257355531320+--((&#""!!"B>ABCAB>BBACCBDBBD??DGDABCAFDB??B?ABABBDDDCECDEBAAABAEBBBCA???AD?CDCBABAAABB?ABAAACDCCA??AAAA>??A?A?A?A?>AAAA??BBB?>=???@<==??>=?>>?A>>>??<<:<<<>><>>><<<<<:<<<<:8::<<:8::<:<:::::::7:888<<<:8:<<:::8<:<<:88<::::<::88::8::888888:<88888:8:88888:78<8858:88785:8::77:888:::::877788778888873585:5888888727778888585755205755535387357555778558588/5753855353552555:213521253357833533513353220322121332253535253138.-.*-1.%%%"" +!!!?A:?DCADFBDCDBBCCEBCCDCBDDCFDBCD?EBCBEDDDEC?BCDCBEDDCBB?DDBDABEBBBA??BB>AAA?BCABBACBABA?AA??ACBB>ACB?AABBCBABBCCBAABAAB???????BB?B???A???>????>>???>>?>=???>>??=?<>>>?==>?=<<>;;??><<>:<><<<<<<<><<<<><<<8:<:<:::::<<::8:<::88:8:::::::::::::<::::<8:8:85:888:88888::88::<:::88::8588<878::88:788888:8858:888888888857735577888835:85::87885777855387888772555755587757857275555535557552753527525517225535587321./0557222355322515523330205553522202258323-30././+#"#"!!??>?B????DAAA?ABABBFBACAEDAECABCFDCAA?AAACBCCECABCA?ABBABCBABBBAABECA?A?BC?BBCDEBACC??BCBBAA??>CBAAABB>A?AA?????>>?><8>???><>?>???<:A<8:<<<<>?>><<<>::8::<:<8::<<<<:<<:7::<7:8:::8::<:<<<8<:5:8::::::<:::88:888888:8::?<:888:8:8:88:::875::88<:8:878888878:8:8887288888888::88:8885728888888323888755887888558752:7555875552578535355553555558853235533553258551358553135553735550252255355557513320522333222522/23--21+1/1*+.&#"#"CB>CBCBCCBBEEBBCCCCBCBCDDACBCDCCEABDCABCA?B?AB?BCA?>?B????AAAACBBAACC?ADB?CAA????AA???????????>>A??>>????>?>?><>?<><<<>><<>?><:<<><><:<<:><::<<<<<<:<<:<:8:<::<<<:<::::78:::<::<::8888:88::::8<::8:<787::::::7::8:8:::::::7:::8888::88:8:8::88:88875788878:888:8878888::8::888:887578758885588857757588888:325557557535555775555555755323551335532332235-21523532322.122325105227252231020212252/0/253//10/25521/-/.+.+&&#"!!!?A?AFFCCEGGECCBE?DEBDDEEDCAA?DABC?CCA??FBEA>BADECC?ADEB???ABCDCBBBB?BCBBA?BCD?A??AB?B>BABECB??B?BA???AC::????>??;??==>>=>??=<>?>=??==<<<<<><<<>?:::<<<>?<::<<:<:8:<<<<<<::<<<:<::8:58<<::::<8:8::8:8<<7:::88:8:<<88888::888:8888::88:7871888:::8853878758:88755878788888788:7538587788:8:78:78858:758558:5787755588785838887820555553775335555555522220557555525512523251233222153523232233252155332221753523/22532/3.52211233..-)+*(&"##""#?C?AC?AA?ABBCABCCCCCEFABCCCDDBBEDCADFDAABBBEBBCDB?ACACDCDBBC?CBEBA>CA?BCDBBCAAB?BBBCB??B???B?BBBA?AAABCA>???B????????AA?????????????>???>???>>?>==>>>=<<>><><>>>>><<<<<:<<><:<<<<<<<:8:::><<:::<::8:8::8::88:8::888:::::::::::::<::8::88:87:8:8888:877:::8:5:8888:8888:8888:87887888:77777585:888888788577855788777558857778555558855555887537:8535888555733873355325555855275522533255532325335233125221221132322335212555221220222252/1302023/21252.//-+(+&)("$"!???BA?BAAEACCD?CDE??B>AECDDDCBADBEAD?:DD??D??DBBACAAADCDECDCDCCA?BBCCDBBCBA?CB?C?B?BB?BEEABCCCBBA?CDB??>>?C?>?>?AA?>A?A??:>EAAA?<:>A><>?>A?A?<><<>???<<:??>><><>>?>?<<<<<<<<<><<:7::<<<<<:>::::::8:<:<::8::88:<::8::8:::<:8<<<8887:8:78:8:87888:87588788:::88<32788887558885728<8:888887878888887873777::87888<8887537883787775538855888535875555577555552:573527735575325235303255555232272185255253532.2253220/232255022222220330222032/2/005/22/002212-..-*++(&&!"!"""!??BB??A?>>?A??>>>><<<8<<>><<<<<<>?><<><<><:::<:<<<<:><>:>::<<:<:::::::::::::::88:::78888<:88:::::888:::88::::7::::::877:87:8878888788558:8757758887887:87888:88878555877577878758378758887775755572555257575822535555857755775258577535753522513223552535322200221221113211022+025311511333031220/2122132.25322/31//12..3+/./+-+(((!!$??BB??ACEDB?CA??DGC??ADDDFCCCCABCCCADAAB?B?BBBBB?ABBCBCBEBCCDACEAB??C?A?A?BAAABAD?C?C>?B>ABCA???AC?A?>????>A?AA???AA?>B>BB??A????A?????B?????=@?:;=:=><<>=??=>??==;<><<:<><:<:<<8:<88<<:8::8::<:<::::88<78:::888::888::::::888::888:8:7788:87758888:78757758:8:288888855888888::885878875585888278887588885785555858535788588788357555775587555325523555532253225335:875502/13/21.225232253225222/22.211220.03/5..2531/11312223.210502/1001132.+0//%**!""!"A????BABA???BGCBCADB?CBBFBAAB??CB?CBBABCECBBBCCCBCB???B?A?CBBBCB?BDC?>>BACB??????AA?A?????>?AAAA????>?BBA?AA??AAA????A>A>???=?>?><<A><>?>>>><=<<<>?>>>:<<<<:<<8<:<<::<:<:888:<<7::::888::8:8:88::8:::8887:::888::888:857875888:<8888888778887787788::5787888758887855888888888758:8787:88775853535857857:7585588777555355315355375753575237752532222225223152//3525+2512232323352311223222/1.2221310..522/.12./2/220121021+111.0/-21/111.-+**&(%(%!>?BDC?<>AGDABFBADBBFGD?BAAC<>BFECADAAA?BC>AB????BCEB??:CCACBBAB?B?>BA<>AAB?ACBABBDDC>?A?????>BBA?AAAB???????A??BA>>?A??????>><<<><><>>?<:78<:<:<:<::::<:<::8::<:<::78::8:887:::8:88:::85<8:<8::8::5587887::888:887:58:87857885853558857588877:55773558877887508558758851855875785733777577753855323555257312355558323257525575523353332022202323032212022512350225252.+211122152/212122..0/1/2012222.2122201.0502.0**.)..0+.&%!!?D?ACB?CB?BAEAADBBBEBBCEBC??A?CBCDDBACAACBA?B?BCC>A?BCCD?BCA?BBBBBCA?BABCA>??A?BBA>AAAA??A?BBABBBBB?>??>?AABAA??<<>?A????????>>???????<:?A?>?>A??>?>?<:??<>:>><><:>><>>?>?>><::<:<<:<>>:<<<<<:<::8:::888:::::88:::::::8:::8:8:88888888878::88888:7::557882578778888877878857:77578558885378777888875755887555875575357578873235775535387555555537555525537325555525520353552555255552211212521111222233201552132113222123520122221123200/0/11/23130.21/0-+/2//2-.+05+)+&&$"EC?>>?A??A?AAACDAAA?A?CAAACBBDB?CBAC??B>??BABBBA??C?B>???B?A?CCA?A???BAA?B?:?AA<?????>A????;>?A??<>>>>??>?<==<:<<<<:::<><<<<<<:<<:<<::8::<:88:::8:85<::58:88:::::7:::88:887888587:8558::878757888:8885::8555888578555885588877:55555558873778878875873787875885357825577535352555758553375555331525522350355552522322322552522.232312201200210/0311+++/0//5211012102+01112/2////230112/01+01102(../+211+0/+22)+*0.*+&-!????AA<>ACA?BABA?E?AFCAADBB?ABABBA?BBBA??AABBBAB?CBBCC?BDDDDABACABBDB?ABCA>AB??AAC??B??BBAAAA?B?A?AA??AA>?A???AAA?AAB?B?>>?A????>B>?A<<><:==?><=<>>>><<==><;;<::><<><<<:::><:<<<:<:<:<::<:::8<<:8:88:::87:::88:::88888<:::8::85788858::88557878878:5888887575577883885575588878858785757778888855578875587587855255853551255735755/25555352255525325222225235357531/253231//.2233221200122.2301520-2102/01/./1./0.0/12/172-/-./0-/0002-//-232/./1./.0..11.+/0/(%$&#$!A??A>BBBBAC>CBB??ABAB??EA?DA?ACDA?>?C?BA?A?>??A?BCAA>??>?A?AE?A?ACBBA?B?AA?>A???A>?A???<:????>?>?<:>>?>?>>?>??A><>>?<<>>>?>>??<::<<:<<:::<:<><<<:::<::>:::<:<:<8:8::::<<785:<:888:::8887:88<<:878:::2588888:778755758588:5587575558875555357858588757555525575788877785353855578787557577823585530235578773330535133573230011323223323215:211252/223352202222215202331/2.01/10/150.112.10221/+//0/.33210-3/01-102211/-0../10/0.-/0(2)($!#%<:8?B>??DA>?AABACCACDABCCBB?A?AABBA?A??B?AABBAAA?BBABAAAAADBCABBBDACBABBBBBBA??????><:<><>>?><<<<>???<<><>>:::<<<<<<><:<::<>>><:<<<8::::<::8:::888::::888:8::8::8:8::8::8887878587888:888877585587888887785858787788887887783387785883785255757877555733855858257558557575572325555533553533533222132055735522222220215522323222122325221013210/03320252/120..22/13151/2211/1..//1/.1.-++--0073*+221-+1.-/+++(+1/0-$&###>GC>??B?A?>CA?ABBBABBAD?????BA?B?>BB?B???>??AA?C?AA?A?>?BA>A?>>A?A>?>?A>????????<>><>@<<<<><=>><>=8<<<<<;9<<<;<><;9:<<ABCABA?ACCB?:>?>?AA??BAB?A?ACA??>C??>?BBCBB?AABAA????>A??A?>??A??A?B???>>?>>?>>>>???B????>?:A?>>><:<><<><>=><;<<<==<<<=><;=?<;=::8;<8<:?<8<<::9<::<:::::><::<<<:<<::8:<878:8:88:8788888:::888885778788555587778257888887888858:557835787578787787757335752553535755777533325375323555355555227555553555333235253535233232233235322325222112313232102////02010.0032-.320/.00..1.1000-0/20/0/.11212//.0/01010.010..1-+//0-.0/-002+//.2+---1-))*()(%$?:>:?A>>>:?BE??DDB??B??A>?A???CBCB?ACBB?ABA>A???>???>???????AB??>??>???>?>????>???<<<<>>8<>>?><<::<<><:<::::<<<<<<<:<8:<:::8:88::8:88888577888:8788::7888887878:888558:877888888758258857555885777558755558575552255257835573338327275888755555785555255352225551521233523333522252357355525123211/222022220330023222101122220.02322122211/111-0///11-/002--../00/++/+0./1./20/01../-.-0/./..0-+0/1+*./+*2/-/+(&&&("##<<>?<>?A><AB??ABA?BBA??B??B?:B???:?D??ABB?ABB>??DAA??A??BA?ACCCBC>?ACBA?B??AA???AAA??A??BB?>?A???????B???>>???>???>?<>??<:>>>:>?>8><<<::<:<<<>::<<::<>88<:7<<<:88:8::88888887:8788:7:888887878857778557885558:75778875558857735557853785775557878578255555335555357333533535035533833355553253225237552223551353/333583222212235222/3122/02102001121213020/021/1210-./222100/.222/+2/2-/2/.0.+.12.-/02./.-01+0010-+.(+..+//-01..-++12)+-+*-+&#%!"!"?<:?AA?>>A?>AE?<>A?BA?CADA?B??B<>A?A??B?????CAB?AA??CAABBAC??AB>???BC?>C??C>A?>?BAAA:<:??<8??????>>??><8???<>:;<<<<>:::<<8:;<<<<<::;::=:::89>:<::8::888:<8<:::::8::::8888:7::87:8588778:85787725578858571887888758775755787887585588737575585528875857887:22572337353323235585233732352325352322235233252523222255551122133222533212/25212301001101022202122212+..0.11231023031//11&/10.+/0.0+1-1+0/1+..1).003//../*.-2100/12/11.-0.(++*+-*)-/*#!$A??A?<>>?::<BDBB?BBA?A?C?BEAB??BABC<>?A?C?AB??CB??>???DBBA?A?A?????AABC???B??A?AAB?B>?A>?A?>?>>?>>><>>??>A??>>?:><<>??><:<><=<<<;<>:8:><<>?<;;<::9><::<::::<<;<:99:::<:8::8:::<:::8888<:8:<:88::7888888588:8888858855:88787857:7888585:55758333575555588875553555553555525555332335573357785553785352221325323255533223322255322103323202/2322012332521012322.102201111220201012.020+-0-00111./-/1/+2/1/1./2/011-.0//-2-/./+./0-/0.+.+//0.1+.-.+/+/.-+/.0/++-*+%+.&(&(#%&7>?????ABA?5B>>>A>>AD??BD>AB?A????AB<?>?<??:?><>>>A<<<<><<<<:<:>>A?>>>?:<<<<><:?>><<<>::<<<<8?<<:8::<<<::8:<8:8::<:<8::8::::<:8888::58:7878888775888787878738887887838575857:873588552257555875275255:553753555555553533577755333125532235555555557335531532322220575555535221220/231222222222223220252210023..202212/1132-00++1//002+.022212+/0//0/1*-10002.2-3/).1.+-+(-/*0/../+*+.01/0/---/+)-+))-+*+2(-)+-)&(%:A????B>>ACA>?A??A?BBCCABAA???A?<>CB????A?BA?><A???????>??>?>:>>?>><>>>??><><>:???<<>>>>><>><8<<<:<>:?<><<<<88::<:<:::<:<:88:::::<:<:88:8::::::8::888588:858:8::88887888:5558888888:87577853558757555558575755377875552527335875332775535322353835352352235555273112355335233520732355552352322322223212212310222/02112520101022221211/21-//2/++0/211001121/....0//+0.--..-00./0031.+**-+.-+-.0.//-/-.00/.2+..+-.-+3-+.+.*-)*+-)+++&")$!::>?BC?<???>>ACAA?????>ABAAC>C?ACC>ABB>>?>?A?>><><>??A???<>???>>??A?>?>??<>?>???<<<<>A<<><::><;:><;:<::::<=9:<;;:<<;<5;:::88::6988:><:88:88::::8:88:87:::878888887858537:5578878585577555787773285383787225238575572273215755537525575313530133233575377752532325231222227551535325123521120232250272102252/3203221/2-0/230110/1000111120/120/22.+/.1110/+0..//2220//02113/0/1+10+/2210.-/0/.-++-+01+.+++0+0*-.-+-0/+.)+0)./+/.*(+&&#!?<:?B??AAC>>B?AAB??BA?????A???AAA?AABB??AA?>?AAA???>AA?A>?>>><>?>>><<<<<>:<><<:<??<:>?<:<<88;=><;;<::<<:;:<<;::><;<<78:<8::::978::<8:<:8:<:<87888:8:85887888:7888788877578:7778855532788887777::355582257833553535555555355335352255355355233555355353257522522223512120522332233205532012023750111220002/202121121+-2212210.0101..-/0-101-2/././..+/1111-0.12+/1.010.+-0/.0.0-//0.+*/.///0/++-/----+----.2-./+/*).+)+)++)-.+*))+#!%&$>A?::>A:BA?:??BCC?B????BA???A?B??>?>??>A????AB:A><<>>???>?????:????:>>:>??:<:><:>:<<<><:<<<>><:<<<<>>:<<<:::<:<<>:<::788888:<>8::<::<:<<:8<::8:7:8:<<888::::558557::8877888558755888:87:875587375755573755555875575885775513322555555757550555273255353231/5155332522355515323535232522303005553123112-13222220022222222002.1221/0.0/0-+01.21--11/02.-/0.2-/...1/1..//-031-0$0.0./-1+0.-/-2.1-+.21.+*.--../+*-/.++*--..0*.+.)+/++(+/&+++*+)%-++&++)*&#*:A??<<>?><:??BAABA??<>?>A?A???A?????ACA>A>>???A?>???>A????????????A?AA<<<>??:<<><<<<<88<:8:<<<<<<<<>A<8?>AAA?>?B??>A??A???>?A???>??>??>:>??<::>>><:><<><888<:<:<<8:::<<<<>>???CBBCBD@??7568878889688:<:79;<:788:77:88:8::::785588787:58:88587755577778588885575255775555282025578885588557215352555535322127131255322323552351222255525535520322533221221323235332227221222+220/1110122321212./12001.211//2.2322201/1-+.100.+211-1/01002-/-+0+...0-/.//+)--/0+.0//.+/(+--.++-*++-+-50(-++-++(-/..&./.+)(&-()+*)*++(&&)$$$::::?BA<<<:B??>AB>:?A?>?A>>??B<<:?BC>??>?>>???>A><>>>??A???>?>>>:?B?>><><><>>>?>::>::><<<<88:<::::<:<<:>???BCEHHHIHHEA<;7285788<<:8:<:888889888798858::888888:878858578858887585775857788587557777757522587755277535775553333533855555317355523535223332523205222223523332222353223333523023123220/0//0231+222.021211.2011222022/0.10/./1//.100///0/1/1/2200.0+++.0/+0++./+.-...12..//++.*+.-.0-++.-)++-+++*(&)..++*$)+++--*+000/()++.&--.)%(++)+)-+*)$$:<<>??>7?::???BC?:???:A>C>??>ACA????:?><>?><>?>A???<:>???<<8:::::<>><<:<<:>:<<<>?<<:8:<:<::<<<::::5::::<>AAEFILLMPKJHC<833:835::8888:888::>8878888:::8:7777575787:8788755788555587752888:7535555558755255321555535335333331352235327/35552333253212325222333522223221233222/3253/55200222222322221351221/2.022210.23122/+21.00.01-12100-+/1.100/+0..001/1100+++++..+*.*/.///-./00-0//0-0-..00.*++++-++*++)++1*++-.+.+/)0.)++-++---++/*)+"(-++++%&)#(((("><<><>><B?>A?>?>EB?BB?>?>>?>??>>>???>????<><<<>::?>??>?><<::<:>:<<:<<:8:8::<<8:7::8:8<:C?<>B?>A?ABA:??????A<<:>??BA?<>??>?<:<>5>A:><<:?>:<<::<<<><:><:::8<<88878:<8:5<:8:8:<<>AAFJOQMSPIE<8455564:878:::8::9;:5778::8877877888885888875878507555255233525750535577575535855555525533322775335025322222232327555521132025/333221212323222222221102122202225233233200121110022.1/0221..1*22211+//2000//125////+//11&0///0+./---/0--.2.)++/0---1+(00/-0/0--..)+-*&.(+-.-*/..%)))+.)++(++)/-.++++/+./&*+)*./0.0+&+/+&+++&&+0++0*-78<<7:<8???:>?:???:??:???A>?<<>?A??B?<><>?<8<>??>8?<>??::>???<:::<<><>>:8:<<<<><<<<:::8::888888878:::888:5::8:::???DLMOUPUTKC<5143535::76888988978888::66888:58778757325557758578255837555833553355355355773275555223333552552125323522232350225552122322322332222122212322210002232/31032211221222220//2/15/00/01/22/2220..12/11/02221/.//010//00//.././01/-././/..+*++./.+-+-+.+).+.+++.-./.0**-*+&+**+0+.**+-)&+-+-+**+/*-+--*))++*+**+*+)*&+)&-%*!*+&+.&+%*&+<<><><?:?A8<A<<>?CA??>????<><>??>?>8<<:?><<<>><><>:<:<<<:::<<:8><7<:8<857:88:8:878888787857578:788757:>EFMPWZZWSME?20/0058785788::8:88:8875555888875758757:88887587352575558753852535235555335383555352/2523255332585223152132132222222222322225222+1//20252222021222512212*02002212112211101210/1.1011/120021//0+/21-/2120001./.-/+0-.../+10-/2/11//..0/2-/10/+/.+-0.-1/./0+-+*...+.)-(+%++2/+-.)+/.*++(-+&+-.---+0()++-+*./+(++-/&)(.+(+&++/&+*+!*(&<>????:>::<<>>???<>><<<:>>?<:?A>>??:>A:?:<><>><>:???????>><:<<:<:<:<:<:><<8887:75888::88887878878788:5788888578::A?><<>>>>A>>C?><>?><>>?B??8::??>?>?>?:<:<>?::8<<7<:<<<<<<<<8<:8<::::877:88888:88552885888877858888858:>?>?:<<<:>????><:?B?A<>?B::<><::?<:<:<?>?>>?A?>>>?>??::<<>??>:??:8:::8>:>?>>>7::8::8:<<:58:::::38::888:8578875535358535358585575255533352105:?AIMOUSOG>5.+++15528588878888553888788:8<:575858878537553577858775555532552532557552015553/055231352553222223325352332121221212222235121323122..225-.201.01/220110/1./20/-012221001/1///-/2.-0000.011///00100/...*%..+/.)//+--/./.*-//1---/+&+.//.-/0/.+.0--()+-*)-*+-.-./..*++-*#"(+*++-+/)%&+&++&)./*)**+(*)0-.&+-+++&+)+)*((+$)+)*-++**(&*&:><:<<><>>:<<>??>??A??<<::<<::?5<:>>:?<:>>><::<><<:8<>A>><:>?<<:>:<<<:<<<<::<>??<>??AA?:<:<5<878::::7:858838:555788322553753:8775578535185322532232220225:2753251/53201/(253:AFHGD?80/&)/.025678758375755657727558885588353555775555275557:772552353355202521221/25535552323222252/253211221+221300211221021012235/012-22220121020.011022.//-01132.200/110/102/+.020000..5./-0+20+00/.1/*.-.1.+..1//-+/0.+&.//+*)00*-1+1-.+-/.+/.-++*+--/*-/++.-+++-+*-/+.*+-/+*+&/0++*)(**&)+$(**+*(++%-(*))-+-*&+++&#)++++*.+)&+)+))((+><7>>3:58<::?>::<::<><><><<:>><::<<>>?<>:?<:?<<<><<<<8::58757512358875310252553378887557887353515535525522122225321222555220120/+-+.-8>AA>;71/'((-/2568887585667887556785637864772535557777578555723522353553725222222212523522222325122322122/2213111020.000122/22.21310/.2210/221210011222312130/21221/////11000--.-...-001/001/+/---..01//.-*+0--..1/..-2+/-../.+--//0+**/-+-+0-+++.-/-+-+*+/(+-+-.+-)00+(++.+++**++)*&$*&++++*0**-+*+)+(*+++++&))++*++**(%$(+.+()()+%%&)+&%)(%"5:::>7::<7:?<:>B>?<<<?8<<:C??<<>?:::<<<:8:535222353211333/210110/2211555575555355320123235225/.222220/322322152253252-+-+0-5:?A?820(**+)075723888555777:753875875757232253255525555555352235.2537533155322532553323383/51223123532123505//21/0222220/22223202112201/2222.1200011000+/1/022001025+..0./-./10/+/2+.-//-0000.(-/+/+*///02)/++..0/0..)+.2/.++-0-+01/**+*-+++.-+)...-+++...++-++-..*+)%)++$(***+)*)++***+++*+**&)*+*++)0-++)+/*&*+--*++)+/(()&)&*.++/)&(*+-*((:::::878:><<:7<8<<:<8:<::::??>8<>?<:>><<8<<<<<88:88?B>?:78A<>><<5<<8?<<:<<:?8:<>><<<<:>?<::558751+/+.+-0-.++-+-01--/1/0(+0215/550335/7353+/11315210/110/+233320.272225831221-+-*))22-1.*(*)'*+-15358876575568724585857568724375733235355353555555522221121353255220252312.232222351122253222522225520311/10000.123122-00./2021/111/111.+.../0..0/.00/2//00..101320-/0/1//*++//11-..**.//.-/0/0+/+1-+-)+.0-/1--.1.-00/.0---/++0-&)+/.*--++++-+&)++).+(-.)+*+-*+)+&+++*+/+)**().-*)*-&*+)-()))+&*+%!-%)))+)&+-+*.&%*)*$&)&)**&*#!8<87555::<2<:A<<::<<>:8>><<78<8<<8<<<8<<<:88888752020+-**&+)(*%*)+-+)&*&*-+.../3300022..1-3//2./.-/0/--1201..///1.*1250021//2+)%&*+&)-.*-+)&%+/+/235557667523557778535536226455552352553522232355573252225222225532225322301122225112232121211222330/00./1112//0010/0.1101110/1121//00/00+/00/.-.020..////0000/./+/.././--//0+/10/---0/....././-+/+*-+-+*0-.+-+//+..1++-+)+-.++-+).++++--.*+.**(%+*+++-***+**++)*)((-()+**(+0&$)(--+&&)*)+$))(+(*+-+((*)#())))#&+)++&*&$$()!$(#""7855?A:258?<::<:::<>8:<7<<:<<:<:8><:<<:<<<8<:?>?:<<8??><:8:<:8132+&-)()+$(#"**$#++$#")()&-002//01201*01-2/1/.221(10*/1213/0//0/010+2233121---+($(&)*+%&)%"&../23338557528:557757578777772552335221525351253522753221222333523232328321/22552/2510100.-0222232/12113/-132/1/120122102000/222-/0-../0100021/2+1//2./2-/-.23000/--./-.+./021+*/.*/-/.)+./-.++-1+/++../2-/.--+*0-+---+-*+---()+++&-+0)+++.))*)0+-+*(-+&&/+-+++-+)+(&(+-%*)(-&))+*(&.!((%)+*&%)*&&(--*))%(&&&+++*%+*++&+(%%++&#&$&+"85:::<87<<<585585<<:<<>:78:>:<88::<::<<:::<><8<:::<8782-++$*)((&%(&%$$&"&&"&&)*(*+.0/1+./1/00122*00.//++200//0.+1/01212/21325.-3110..++*&&)&$%&$&&&&&++005587552558221537751222555552333353255253273322105533255222321222322321.121220121112110210012/1101112311202110120//200/0/0.10100-12..0-.0///0011.1.1/0//-/.///+1---//+-//00/+0.-++..-/././/**)+-.+-+.+0+--)+..+*0/+))+--.*+*)).*).*++++*-++*&+(++.*(&*+(++**)***+*&*)+*-+**)))&*(%(*+&**)+&*-(+**).(((+(+)(**!&)&)#$)+++$#+&&*(&%AA<:<7:88588?<5:>:8::88<<<:><<:<78:<<8:>::<::<:<<8:::::88::872+)&%#$(%&$$$#&%$%#&$!%++2.+/0-1+.1.//22-.*-.1++-+-12/-/10+113012/+/200/00-+&)((&&&&&%%$%""&()-03532551382/.23345753554575445522532/5223722352587532222.25121-22332202322/221111111202./2100.0/10/0/.212100.012110/10220..//.0-/12./0.0/..0-1.02.2/-//0/.//--.0//0/00++-./...-.++.+&100+/1+++-+..0+-/+.1*/--.-+0++).+++(-/....+)-)+++&+**++--(+*++--*+-+..(&+-)&+++&&+&+++)&&)())(*+(+)*-(+0)+((*+++-*+%)())()))&&&&)*#(&$)&/*&8<88<:580<<<::3:8<:8:<878?::??<<<<>>>:<<<8:8822(+%""#"!""!!""#"$(+)*0/*/111.(/.+..-)+++(///.--111/01121+22-./122222/+)&)&&*&#!##%!&$+10125208226772352347246525553435135332122527522332212212331221321331022.2022100/1321/12//112211/.2212/02-1-/0101//00/1.1.0..1/001//-0+-11.1.+0/+120/0.0//..-+1-+001/00-++.0/./.*--+.+0..//./+*+++)++++...+)+.--0/-0--/...)++++)-.-+-+**++*+0++*+-)*+)+.+(-+*+)&(()+()+)*-(&+*)+++&&)))*%&++-*+*&+++()-)+++(*))))&%((*&&%(+(+(+*&%::8A88<88:8:58<<<:8:<7>8>8:88:58:<:<8>?:<7:<::<<<7557501/("!"&###!#"##"!!$)**&++/.+--...*/0+.-+#.2020./2/02--//110--1+/12/112/.+(*(&&#(&#%!%&#")-.3237222525523555585352272375553353253275252525325/12.+0225352222201022551/2112120102112211.022/1/-0/.21+01002/120-.//-.2220.110/.11-..-0.-.20.0-+.+.0.-.0.0-2*0/0./1/.+/+-0/./1.-+0/(-0/-.+-.)+++--..+.+-++-+-+-++/++.+.*++*-+-)&*+++(+--+&()*+++*)(&+++++*())*++(++-&&$)&++&*)+..++&*(%%((&*(%&)++&)*0%$*+-&)(&+&%&)&$(%+((&&%-*)2:5<<58><:::88:8:8?8<:<<<>8>88>8<::?77888:<><858<8::::5878:31+)%&!#!!$##"#&$#%%&*(*+//1/./..+./-/.0//.0/-//00/.0.00./.510.0/021022/+++$%##!$#"#"%%)*./252353835255253557553755535332053222151115215552131352352221110-252//20/1211211-1/22222210./122//1/020//222-031121//.11..0/0/+00///-+/./.+./+*201.//././210/.-/+..+02/+.+-./00*-//(++-)--**//0./.-//-.-/.+-/++---*+).(*)-*+*-+&$(+++-)***)&))+*&++)+-+++-*+&*+)++&&)*))&)++*%&+&(*&&*+&)&+(&()(*)$#&()$&)*&&*+(&&&**)(&&*!&(&&(#(-578875757<8<8::28<88:?:<::87:>:88:888883125/&""!#!!#$$!&!!#$&++-20//..0/..--...-.0-*0/02/1+00.003100+/152512../1/1+&*$)#&##%%#)/010250552443127374423353536550352132212.3223331233303300111132/2/02/510.0321200010.2./13.2011021/00/3121/15/0/1112211/0/--./2/-+-//-/1/-)/./.0.01---+.-+/0/++--)+-.//-./0*-.+++./0.+//-*/-...+++++/./++--.++&++-+*-.+-+++*+++++.-+++)&+-+**+.*+*++)+.++++*))(())&(*+&#)%+&&%-+%(&&)&*(&%&&*%"$#$*%&&&((&+*.+)*"&("&&))(%&*))*&*%&53888:88:<87:<8::88:<::<<858<78::8<::8>58<888888788:8828802-(###""&$##%!$#"%!"!)!*)++-.1.-02/+//0/.+../)-.0/01/-+3//1-121.012230210121/.-&$%&&##"!##"%&-232576421573312254122121/44231422321272735255333222112212201/1120-+/2312202222221//102--/120/1/0/.00/0/0111/10//02/0110.+0/.-0/.*0./..//+./0-/..2..-.-...1//-.+-.-..-..-(+./*+++-*(+(+*+.--.1+().++**)*)*.0/-+-/&*+-*()&+*+-+-++++-*+++#++*-+%())(*)&*+*+)*++****)))*+*&&&(++(&+*)))&&%&)-&**(+((+(&&&&)&&$"%%((-*&&(&++*%%(&(*(&&(3185:<585588:512-+)&$&!"$&&&&&()&!))(*&(*+++++/2/.-&+./++.-++/+-/0)*..-./-1&%-+*-++-.+-++$)+()&$&"#"""!%(*-/0-325855522/213212222535322222221313112331522323152.21/20.1//1/0220112/020.-//01/+.+.0//1/0/0021.-/2--/00....*+./000-0/1-/+/.1.//.-.++..+++0-++.+*--0-+.-*.+/.+.+.++/+-.++(++.-++++-&)+*+*%&+*+*-))*+-)++-++-+++++.+%./&+&*.++-/++)**).-)*+*+&&*&-&$(*-(*.))*+(+&(-+()((#$"$&+((()%&)&%(&"#*(()&&##(*&&(+)(&+#"$+&&#&#!&#&&%&)"("2351:07:8:238853::8:<8:8::788:255525878878757857:8:8353+++(&*%%""$#)%#"#&&(%$((%-+++-*/.+/0/).++.0.-+..0+..../**--***)(+*&+*-++&(()&(&&%#"#&*.+01250233522233552552//2052302232135/2050020221210.120/.0/.021.110/100+.131101/..+-..///0.++110./.21+.0/.--(.0+//.*+...-./-//0-+0+..../.-++.(.-++.-+/+-.-+++..+.*+*-+-*+.--*+++)++++++-++++++++*&#)+****++--+*+---+)(/-)()$)+*&#&(+--&*))))%)+*.+*"%&%&+)"$"&)()&&&*"(&*&%%%#()&&!)(##(&#+))&)%&((()#*&&*)*)$.&"#)**+"#(!#$&&!$&#!.8:8188<:8757355558578::57<5227288<::88:708?:8<78888:5/)&+$"$(%#%$&#$%%%(+(#$$"(*(*)++(!*++-..-.+++//-)+**+*--./+#*+*)(&&()&*$(*++&((&#%&&&"!#""!!$%&*/22103+233352233355.3222430023101221003/522032.220250.0/2/.00-.//-0.0/20//0...+/0./0/..+//022.0.+/00/./+/--/-/...10/--(0/011../..//+.++--.-0-)+.//--.++-.%//-++-+.-+++)+++*++-..+-++--+&*-)+**)+-+&)*)+++++/+&(++**++&(&#)+.****+**+*)(&*)&+(/)(-*+*+&+$)&&&)(&&((*+&(#&&)-$#((%&&+#&!&&%&++&))&&)!!$)%!)*##&&&$$(+&+(!#&$)&%%(5557875220122885588:7::5/57055288:5788857:25775578712-/**!&&&#%!#%#$!#%!$!&&%%(().**)+.)+.+*(+&+-+*&+.++*+-&&))&)&&&*(&&%&$%&#"&*$&&$!#$"!$&*+-*2-32210522212221223122/32/..1/322222/23202200//0720/+00/221102//12/01//.-220..1/+00-/-2201001/0/+-.0/+/0../..0/+0++--11/+.//-00*/+-.+--./.++++*++/+--.-.(.-*(-*+++++-+-+++--+.+**)/++)-++-+-+++++(+)*+)+*)+%)(()))*(().+&-+(**)+)*+++*(%*&&)+-)*&&&&**%+*&)*&"")(&&**))(%)&-)$*+&)+((&"%&%%&&$$#&$(*")+(&(**&!)*&%&&&)&)&*)#"%$("1.7353233>::8587:8577557:58:55875725280878::<8752185.1(!&&!""$&##&#$%&$!%)#()((&!&++1+&-*&%.+(&(+&)+)*)&%%&$&%$)&+&&&$%"$%&##!!!+(+00/.222235821022001731/033/2222/0150/2112232110.27051/.102+.002002.-0.02-+.//-..+1....-/0.10.+01-+01..//+/../-+++*-.+/++..-.+--)+-//-+/+**--+*&.-)/+..+++/-++*/+(-+&)+-.-+(-.-)+*-.(++/.++)***)()+**)&)+)&))+*#+-*()*+)+*()*(+((*-)&+*)--+.+*.*(*&)$&*-%&()#%(+-(#)+(()((+$&(&$#$&*(&&&&%)*$+&#("$*&)*%)&&(&(*&(&&&#$%#$(*(#%"$%3:32725375873878885852837:<887:78:77853582:57857120./1("%(&&$"%"&"##&$!"$!!"!()&$&)&&))%&*)!()&))(&*(($%%$%$$(#$#!&##%!(#!#)()+-0210253222250512222101.1321222201313122120022112//1./10...00//1102/1..//12220////.-../0-////.-...-+-+0.+++*---+0.+-.-.-.-./0/.-+.0.*)&+++-+*++*++--.++.+++*+...+(*+)**(*)+--+++-+-***-++++((++)*+(&))**#***)*()-)()&(&+0()+-+)*&#%&&+%$+)(*(($)&*&))"+(&&%(%(+*%%(%&&&%"%(*%%&&(&&&$(#(*&#*((&))*+%&#$&&#&&&$"%&!#!&!#!(&&&%&&%337:2327382352:5:5.:7238<<588785:837.25585:5555-25521&)+($$!&!$%((#(!&$!&%+&(()*(%%"#)(**$(&!&&&(%&&(*&$#"#$##%$##!"####&$*)/01-.213230-022001/,20/00+/00212-0/.-0/201221220.1./-.5/20--221./.0//1/30+-0+/00.+/0/0000-/+.--.//.++--+-..-0---+-.+*//+)*./../+++-&*-+(+++)*+++.*+00/+*-).+++.+-+&-+(&%+-+*+1-/()+-)+&(+*&)&)+&++)+*)*+*.++(+()+()&++(+&&+.+(+*)*-0+")()(+*)+*(%))*)&(#(&++%$%)#&&"#)%%)("(""%$(&#((()&#%&&#%!)+(%(&)&)&&((%%(($&!&"&"&$%$)&&$&(#235022553582527238:8775388735:<57:58357:553-888122).+)##&)#$"%#""%("(#$!%#&#$$($(%!&&#&&&&&&$$($$#$!"$#$$###""!""!!!!!"#&)*-21/22//220/0022250100001130/101-1///2/222122002010/10//0/022.//0000/1.2--/0/.0..-/.-/*.-0+//++.2./--++.+-.-+-++++---/++**-/-.+)+.+++-+-/++-/--)+(++(**+.&--++-++++)+-)+*+++++)+)(&*+)-)()+++(+*)*+***+-)*&())*+*&(+*+&+(&("&**&)+**)((%$))&$&)((&&*+*(&))+($&(&(((*$+&$#&%$#&%&&(()&&&&+*&&*(()((&%&&&*#"%$*%&()+")&$#%)%%&&&%#!&75880235:52552/885257/0)22778:757:58738115:>82852.-*)&#(#""!"&"%#$"$$%!%#%$%($#"$#$$"!%"!%$$!""!""!!$"#"%%&)+--2101.1211101.053101-1112522.1231./3.1102101..020+20/10100//11/2-/2./-/.00/.+.++.//-++///(//.-.&+//+-/.*+..-+++-/.--.+---.-*++..+.*+*)+(+)+*((++)&.-++++*+/+)+*-+(/-&(&+*)-+++)/.***))+)+-())-+**)*-+(+)((&&#&+&)%++((&&&)&()+*%)&)((&(*)&(")#&)()&%"$)))&#($&&(&(&#$((&%)($&$$*((&&&&)+&&+)&$&)&&*%$%(((%%&$%&$&#&&%&&""&##(-%157125:88788557772825550537:::851352255755271/35/+-*&$$#"""$!$!"$"#!$#*!#&#"#!#%"$$#%"$##&"!"!!#"##!$$)+./+11221/01.22.220/12122201221220.++21/10.11/.2222/2112/.//).2120+-.+)//+/.-+-(+-..0///1100--.0.1--+--+0.+---+.++0+..++)+-/.*)-.+))+-+-/+-+*/%--)+*++**+++++++)(**))++*.-+-++*&+++++*())(&.+*+*)++**&*+****&&&&&)+)&*)&&*&)+)**+&&)&&(&(*(*(%#&.&&)"))&)(&&%&#)&&$&&)*(&)()*&&&#%%!%&)%%($(&%&$&$&"$""")%($)(#""!&%&$*!"$(&&%#$$"+8/8855505.220351:35525152158515327871875577:131-"+%%!!"#&&%)"#$%#$!$"#$$%"%"#"#%%&#%$""$"!"!"!&&!$+./1/++02,-33153723.//.25+022410/.410/11/1/2/+02+..121/010/.01+*..+/0--1./00--../-..+*-+0.**+)).1./--+-*.-*+.--*+-+..+)*++&+./+++(+)**)-/*(**+()&++))+***(+-&-/-+**+-+&()++$(++-+((+&&#&+*!*)+(+&-&(#*+++&+*+-((+*(%&*))()()))*()(&(&&$$&-&*&(("*&((%&)&&$##)%)&)+))&&%$&&%&)&!"##!"%&$)%$&&(+($%)$&$&"%&)&"%$!!&*!$""!+&"23105513355:83575255858<3735:75557237:58237832222++)"$$!"&"%""#&$$##$"$&&$%!%%!"$##!"!!$&#"$&$!"!!!!!!!#$)#+./.0/.0.///2221020/2..0....-+00.001/10+/02.1//0-00/--+2//1/+--/-/0/)//01*-10..--/-/.+.-.**/++)*1--+--+++.0--+++-+).+*-/++/++*&+++*+++)++)++&))*(+.-&*+)+*+*+*+++++)%+-+(++()+-++(&*++-++&&()*&#((&)&))+)()&*&)"(&&*&)-+(%&)%***$&)(*(+(&(&&&)&&&$++(&&&&(+&&()(%&)!($&"&$$%)&!!&&&$$(&*%)%&%"%&&%&%%&$%%&!&""()&"&(%&%"%"(")"*&332/075733821751283737/2333217573.558:2221:7751-)*!!"""%#"#&%&!!%#"%&%$!$$%&%##%$#!!#!#"#&$%$!#!"$!"!""&+-++/15220/.+/21//50/00-..1./02211002/.-000/1..010+.01/0+.1/.-/-*--.+1/-++/1/.2.+//+-.+.++1/++/-.*++--+.-0)+++-++/2-0+).++)*+++*)+++*).++++*/++*)+-+(*(()(+++**++++-+*+&*(*++&))*+*+(%&&#&++)++*+++(&&(*%((&+)&)((&()++((/-(&&)+*)++%&))&&&&&(!&%*-$$$&(&&*()&&-+$"&#&"&&%&&##(&#$$%$$##+*&$*))$$%#&(&*!%%&&!(%!"(*&&%(###%&+0552053525355:55720520/522325302185523308372310+#!!%%&$#&&+*&("&$#$$#"$%%#!"$$"#!#&()))##%%&%&#!$!!"$(&.*+2322200/0112022/000/221.0.0102/32/-00/00201-/-./-/.1/+.+*0++.0/+/.2/-+++.--..+-.../..-+0..+(+.-+.-++-)-*-).-)-+*+*++)**.+*++..++*)**)+++(/+())*(&)()()&+*)))+*-+$%+*&(*)+)*+*++)&&)&)(**+)(+)*+)*&*)((*(&*&*++&++()&((&*$*&)%&&)&)()&-)&(&&(&*%*))%%(&&&)(%&#&&)&&"!&$$&!(#&$(#%"#&&($"#&&!$&($&&%%%#%(!&"!!(%"%0./07282173/5:+/553-7/5727223/21/2533553122830/.*!"!!"#!!&$$!%$&&(#&)%$"&)%&"(%#)$#$$""!%#&#%#&%#$*$#&&!""#$!%!""$"##()*,-1/,'0/-/.2//00...0--+0/2/1..01)-//212221/2/010/+)1/00+--+.-..//+&$*.2/+2./--/..-++-/+/-++.-.+)-...++.1++./+()-*--()).+(//0-++***+)!-*+++++*)*+)+-((*+*++)()&%(*)())()&%(#)(%&))+*)*+&+&)+)+$(+(&)+$+)&&&++&)(*)&%&&)))%%%&)(&*((&)++&))*$(((&&(%&&#%&&&$(&&$&"((&$!!)&!&%&$#*)&($!!!%%&&"#&&&+!%#$%#%&"&+!&%$$&&!$$&/23/01/2752281222/81575223582:85171.53323258520**%##!$%&$!$$""$"$#&#)"$&"#$&&%&$&""&)&"(&$!&#"&&%&&%"#$!#"!#!"!&&*&++./,+./+-/.,....1..-1.../0/10---0..11//0/011.-+0-/0-..0.///-..+01/.)///-)-//.//---++.+***//++)-+--+0+--*))*-10+*-+++)&++&*++*)-++#+-++****+-()(&&+)(+*(&*))+()$++()++-*(+**&()*))(*&&&&()+((((++(((+%#%%)&&***&)&#)()&((%$%&&&(*(%%&&)($!%$&*#%&&(%$%)&%$!%&&&#!$%&&&#*&$$%$#"&)$#"#%&+#(%$"!%&)#%%&%"#&$#$"&"$&###$"!2232-220382235585028520-1553/25231321003232.-2+(!!"&"$$!&&$&&"%&##)#%$&#$$&$&#"$&$%%$#!#&&(&&%$&&!%&$"""$"%#&$%%(++-/-0++0(--.1+-.2100/1.0/01/2102+1.0/10.-./110+-0-.0002//.///-.2+../.-././-+-)/-++-++--+-..*+*+.+*-+--+-..0**&&&++*(+++++.+--**(.-((%+)(*/#&(*))(*&&%)++-(*+$&!(+-(*&*)(++#%*)+*-()))$$+#(**()(("&&*-)$*()$&%&&&+**&#%#&+(&+(+$&$+(&&&&)&("&*("&&#&%&!&)&**&&)###%&&$!%%&!&((&""#&(&($&&%%&$$*)%&!#%#&*+%%%&"&""%&("%#%&"3220-1105321233/5055255352.5255/5725852553222))($#%#&%))($)%#"&&&&&(%&$*!"&&#&"$&&()%$($$%%$$&%%&$&%&##$#$!!#&&&"!"!#&($**.-/+0/+--.+*)./.00.1-/..0/.10/.+/0/.--0/0.00.1-/0/1////.-+-+--/+.0.+..++-++)-**.++/+)-+-++*+-)++++*)++&++)&()*+**++*)*&+)++**&&)&*((&)&+&(*&(**)(((&))**&&&)*(&&)+(()"&)))-+&-()&&*&)*(&*)+&%)((&*)+*++(+&&&*+)()&$)(*)(&&)&$%%)&*)#&&#(%&$(&&(%$%%&$"(&&!($"*!"&%)%&($&%#%#&$$&&&*"%"!$($%&&%#!#$#%&)&$(%&)&%$$%%%$"%&/-0302252332082210082222251+37373712-/1152021%*""#!&&#&&#$%$##$)#+)##%##"&&("%("&#&!!((&%&$"&+*&"%#%#&&$$#%##!%#%""!$"(&$+)&*+++.++/*&+,+.1../2//-1//01/1+0,-0/0.0/0.0/-0/00*./++1----$+.+./-+**1.-+/-*))(+)&+++-+++10*+--**(+--.--+.+++*+(&)&+*+&&*+())+))(*+&&*&&&(%&&*(*)+&)(*&(&+.*++&+$$$*(()&)))%#&**%)&)"&(&(($&(**$#*+%)&**)("(*)+(!%#%&+(&))#&)$%&$"()&(&)&&$"&&()&&&&&*)&&"##($"&(%""%$##"&&#%+%$&%&%&)*%#!!%&)%"!#$+*&&$%#$!&!%*!$$%+02232225+0.///.532223317+08.*(2253332221331.(!!%##!#$%(#&%$#&*(#&(&$&&%&("#%#$#"&)&&"&&"#$&$%+*"#%)&$%"&&%%%#&&%!"#!%$'&-)))&'&+)%!)+-../..1/...0,/./.-1.--01./1./0.--++-.+-//.-.0/*./&+.+-++-..+*)(+/+-.-++++.*)().+++-*+-+*.&+)++*++)**+-*(+++&+-*+++$*&*+**&)(+)***+)&(+($()(*(&%*+)(&())"((*))&(&&&(&*(*(()*%&&%%(&**(-&&&#&"$()#*(&$&($%%((%%+)$$&&(()&&(&#+((*&%)!!$#&&$")&"&&%%#&&("!#"$!&)&"$%$%&%$$$&"(($"!#$%"#$$(#"##%&#&%""#&&%%#*101++1%0222/21+0/23335235225001/0102.0521-*/*#!"#"&!%#&"#&%&#(&!(&"$$%%%$&$$((%""$$&)*"&&&"((&&&%&)(.*)&%&*(&"$"$"!$"$#"((*)%#&&)*)*+*.+*//212/+/.-02011-020//.0120/*.*-++000/.+./.-.+-(0+-+(+0/2+0/**+-++++*++&&++-*(++*+)+0/0+-&**+)&*)+))*(*-+(**+.++((*()&((%%**(*)))++&&())**))&&))&)+*+&$)*)-(**&))((%++++$&)&(*)&%&+&&&&%(%&)&&%(!&%&"$"($%"%")%%&(%&&&"%($%$%#%$%%&((&#"&!"$###$#$#"&&%!!#%%&&#!&"$%#&"$%)&#%!&&!!!##!(#&$-++0.0/1-/0122231232311332031+72.752/25300+()(%"#$("!#(""!&#$$%%#$(%&&#!#$$&$%%##$"%#$$$"%$&&""&(%$)&&&%&&!#&&&%$($$!$"#!$%&&&(&$$##&(&%)*).021../+.0-./.)+/.--/.++-.+&+/-//*-/.0-+../++/+./.++)-+.++++++-*+++++++(-+.+)++-++)+*+%#)+++*)))+*))&&++%++(*&)()(&((&(+))(*()*()&(*&%)&)&(&*%)($&)+(%)+%*#&")&&)*&()))+*+&)&$%!&(*&&$)%**)"&)(&%&%&&%&(())&+&&&((&&&($%"&&%&&#&&(&%$&""%$%&$#""###$$"(#&&$$#&(&%$#&&%($!#!#$)$&#!!!&%$$&$$%"!"!"/310/.2105/021/0&+7102213820172./1/10-102%+))#!&"$%("&%#&(!##&#($%#$%%#$$$#$("#&$#%!&"%%#%&!&%!*&%(&&)&)((+-&#*%%#"!"%$%&&$&!##%$%()+/++0.,0/00.//+0/-,*.--.--/-+1/)+./0.0+++/+/++--*++..-*..0++-+++++**+++(*+&))*+)+)*)&+++**+)*0*&+.*&))*+&-(($)++&($()&+)&**)*)*(&)&(&&&(&&))(&&(!*"()&&&*(&%#)+("&(#&())%&&&$$%%&#)&%$&%&+&(&&$))+(%&&*&$!&)!&%"&&%%&$&&!(%$$%%&#&&""&!$!")!#%%$&!%$"%##$"$!"$#&$)(#&&#&*(%)&#%)"&"&#%!&$&-/25/.0+.-202-.022.++222302.1220-/.301.0.+.-&&%!%"&"$%%$$&%&%"!&#$$"!!"&%##""&###$""#""$")"&()&++&&*+&((()(&%**&$!#"!$%""$# %!&&)+-1.2/0-.+...0-()++-*-+.*/.-+-/.-+0-)-.+..+///-/--.-+-)+-+.*-+.+/++--())*+-*)+*++*++*+)**-*&(!&(*(&&&&&(*(&&)**%(((*)+&&&(%$"&(()+(&&#(&"((*+((((%*&)*&&*&&&)(*&&&*%"&$%&&&$#&&)&%#%&$"&&$(&&%%$))&)%&("%&%&)!$()&%)!$&$%&&)#$$&$%"!&%"#%&!%%(%!&!$%"$###%&&&%#%$"$#&("!#&#!&%""!%"""#02($02/-02++1-55+2-.52++221855/*0+/101020++)"!!%#"&(%)%&&&$%!)$&##$&!#%&(!)!"&!$#"#&"%&%%"$&&&"#"!(%$$$$$**#&*&$)(&*+%$##!"!#!!&)+)-.1/+2-/+--.*..10+$++*--++-+++-+&*++0+.0-/1+-.++./-....)+*++-.*-+)&+++&++()*++++(&&&++&*&)+&*&&()+&&&*)((+*&)*+)(&)*(&++&$-*$&$()$()*(+(((*&&)**&)&"+*(.)((%&&(*&"&"&((*+*$)%%(%"(()($%&%&)*+&**($&$$(&&&#&%((()&#%%%($$&$$$&#"#$%$%(%$%"$!&"$$$%$"!#$#%%#"*&!&"&$"&&!&!("#%$"%#!-++.1-2+1-/21*11.1-0202222-12202-.001.-++-$""!##"!#$""!"%##$!$#$&!"&"$###&#)&&&&##)&$"##$%&)))&))(&)&%%%&($""!"$%"%++*+../+-.-++0-+-/.0+)*./+.+-++-*/+++/.++-.++*+-++-++-&%+++*//++(-+-+(*++**)*+++*+++(+++&)+*)(++)**&))()()&&+*&&((+)&&(&&(%&(&)#))&*#&&%&&&&(&&)*)$%&+&&&$&!"%$$&&%(%*&&&&*%%(&)!)&&&!"%&!$%)(&($)&$"#"#%%""#$&##!!*&&$#$"%$$%"$$"&%&!$"($&#%""!%&"$%%%"##"!&$$$#%%$%&&#&$##"&!#"$$"%$$#"%#$(+/!(/)53-&(030/00+*5.00.12:+02+-&.+(-/*-*%"%!!###(!&#$*#%&$!&!$%!#%$#%(&(""%$$"##&%"&$"#!$"#"&#*)*(&%.%)&*"&&&#!"!("&/&(*(/-&/+-))0,%(/(*)+0*/+++0+./.+-)+++++-10&)+.+*++)++(+-0)+.-.+).).-)*&*-))+)-+)**&*++&)+*()(+-*&&)(&&++&&%&&&"%((&&&((((*+&&&)*)+%#&(&&&)(!!&*&+*)(+*)&(&&%)&*(((&(&&)+&*"%#(&+*(%##(*&()&*#&&%"")%%%&#&"*&%&"#$#%"&$&&(#&""!%$#$#&"#!$"")%%!!!&!%!#$!"$%"+(1***--052)20.)2+-52/01*&/+/53+../020.*+$"!!!!!""&%$&&&$#&%($"$#&#!##%#"###"""%(&"!!$"!"%&$"$%$("&&&!($&"+&#$*&&%&#%!#"!((-.+,.-,.2-,---/+)+-*./+.---*./-+++(+/+)+---&+.)*-+-+.)+.+++++&&+&*((*&)&&**-*)*-*()))()&))()+(%&%#&(&))(*)%#%"(%&&()&&(()()*$%(("$&$((&()(&&&)&%&&(%%&&*#*&%.%$$#&&%#&*(&)$(&$(%$((&#$$)&&&&$(%$)&"$%")%!&%#"#**&&&%()&$"&"#&(&"&#"$!!$#%"##$#"$$%(*#%#&&%"%*&&###!$!""$$$&&&!$#!!"##!..+)-+.)+(+/2+2310/-22025+.05520/2-275++$"%$$"#"%"$$&%$&!%$&#%%"""$!%!#$#$"&&&$%#)%)%&"!&+%&%*)%&%&(&"$$#!!#&)&++-+-.-)+-+)-//*-..1.+-+***++...-*)-)(+++*+/+(-)*)%*-/+*()&)()+)&&**+-)+*++)&+++&*++&*)&)+*)($)))+)&&%%&&)*&#(($%&(&&&&(&&&$&(((&%&(%#&))&&&#&$%"*&%$%%&)*+&)$&(+!(&*&($$&&&(&%&%&%(#(+*$&$+(&-#&"%%)+(&%&#&&&!!$#!(*#"##$$%%"""%!#"$&!"#&#$#%!!"""#"""%$!!!!$(&!!%#"-*&).1.1-/&1+.-1/+.*..2-*/122-1121.+-*&))%!#"$!"&#!&%&(%%&&&(#!#%!$"!"!"##"$&"$%$#&)&#$&&%$&%&$#"&&#%$&&&&%#.*&%&!"!%%*+**-+/+(/+.(+)+./.-&*-++-+.++-+++++(+.++*-+*+0.*)&)*+&*+.-**)&*.))*+)()+*)&++)+*)&)+*)&(&&)*()&*(&&&%$)%(()&(%&(($&(&))&)&#&&&&%&&%($%#%#&&&%()((&(%%$&#)(*&&&&(%!(&&&)(#&(&%$)&!#%"&"%#&*$%&(&&(&&&!&$$&%&%$!$$#!%###"%$#$#!"##"%""%#"$"!$"(!#"(#""&&!##!$"#"!""!"!!"#!!&%-0%+(2-1.+1...*.382-+**./022-+1-.1&/2++&(! #&$""#$#(*$(%&#&&(""""$"!!&%&&%$"&#&%&!$#!#*((#&%((+*(&&&(%%(#$"!!"*+*,+.-*-&'(*+'//.*-1++*/-++*++10++(/&-)+++++.++++++*$)*.()+-((+.+&%(&%++*)+*)+**$+(+(*&))(%+)*+(&&&&+&&*#)($(&((&%&&*))"&)()&)&(()&&($$%&&)*#"()+(&&+()$#&(&%%"&&%((%%%%&(%&(++%&+)(&&&%$("())$(&&&&&($$$(%"#&$""&%&*&(&&%%%"&&#!!#$$#&*#&%#)"$#!!&&(&%!!&!#$%&!&%%#!"%!&"%!&""01)-*+(*+&&1/++11/2++-01.+22///*/100(++&&"!"!%$&!#&#&(#%%"&%&""%%&(#"!#&"$!%&&!$#&$##&"#&%&&&+%%&&*&(%&%&%&$$##!#())),0+)&+/),.+.*%)**+/+++(++))-+)-+*-+++++&&&)+)*(+-+)*+)*()+*(+)&&**(+()&(*%&))#*)*))+&&**!&&&&+&%&((&"#&(*)&&$&&(&()(&&$%#&"%$&(&&)($%*#(%&(%*%%&%&$$(&&&&&&&+&$&&)&%)$#&&&((%#&(&&&#%&%%###(&*!$*&&(((%%")&&&&%&#&""&%#$#$!%""#%"!(%""!&$#"%*##!###&$%&"!"#!$#!!#!!"!!"-+01).0-0-2+&2/)+++28++2-..0.+&-+*02(*+&$!&&%!$"#)#&&&$#%$$.&!&!#!#""$)"%%$&%#(!&!"#"##)&$$&$((#$&)*&%&%$*+(%%%!%&%(+--)**..+++(.++)*-+.-+/-+/*(((&+-.**&))++)+*(+*))&(&+)*+&)()&&)))(+*)*)+&)*(*+(*&#&&-)&&*.%(&()*%&()&(&)&%&#*(&(%((&&&&(&&()&$%((&-#%(&))&%&)%((&%#&!&%&$())$$#&%&%%&$&&(%&$&&%#&*&&&&#!#)+&"#$""&&)$#$$($$&&"&"&&#%!%%#&)&"%#"&%&"$&#"#)%!#"&%"#!"!&$%#!""&&%&$!%#&#"%!-.##%0)+-/+00.+++(+/*)3./-12.02+-+/#(*!"!%#"$(%%)#$!"""!"$%&""#"#&#$#&&#!)&"&$#(&&&%$%!&&&&)&*&$%.&$(&""&&#(+(&)-+-*(&**+-+/**(+.)(++++.(+*-/*-+++*-*+((***%&(+.+-+#**)&+*)++(***))(&(&***+(*))&##*%&$&)&+)&(&(&&&%)$&$!#%&&&%&%&((&&&&*$(&$#"#"$"&%*(&)%$(%#&&&%($)(()((!$##%#$%%)()#%&$%$%$%#(!&$(&$%!%&&%&!&&)!#%!&$$&!!"%$"$!$#!!#!&%$$&&"&&""!!#&$#!!!%!$&$!!!$!!)"# \ No newline at end of file diff --git a/enc_temp_folder/5b1c765a53e41fc2f0176187325cd421/MainWidget.cpp b/enc_temp_folder/5b1c765a53e41fc2f0176187325cd421/MainWidget.cpp new file mode 100644 index 0000000..2677eb3 --- /dev/null +++ b/enc_temp_folder/5b1c765a53e41fc2f0176187325cd421/MainWidget.cpp @@ -0,0 +1,1517 @@ + // MainWidget.cpp +#include "MainWidget.h" + +void onThreadFinished(QThread* thread, ClientHandler* handler, DataHandler* dataHandler) +{ + qDebug() << "Thread finished. Deleting handler and thread."; + handler->deleteLater(); + dataHandler->deleteLater(); + thread->deleteLater(); +} + +// 初始化 UI 组件和服务器 +MainWidget::MainWidget(QWidget* parent) : + QWidget(parent), + nextClientId(1), + manualSend(false), + isSendingAll(false), + lastClickedGetPicCamIndex(-1), + lastClickedGetPicDevIndex(-1), + lastClickedGetVideoCamIndex(-1), + lastClickedGetVideoDevIndex(-1), + mServiceProvider(new ServiceProvider(this)), + mdnsTimer(new QTimer(this)), + httpClient(new HttpClient(this)) +#if TEST_UDP_BROADCAST + ,multicastSocket(new QUdpSocket(this)), + multicastTimer(new QTimer(this)) +#endif +{ + leftLens_imageLabel = new QLabel(this); + rightLens_imageLabel = new QLabel(this); + videoLabel = new QLabel(this); + frontFuncConfigLineEdit = new QLineEdit(this); + backFuncConfigLineEdit = new QLineEdit(this); + licenseHwInfoEdit = new QTextEdit(this); + UuidHwInfoEdit = new QTextEdit(this); + + setupUI(); + // 打印线程池状态信息 + setupTimerForThreadPoolInfo(); + server = new QTcpServer(this); + + connect(server, &QTcpServer::newConnection, this, [this]() { + // 检查是否有挂起的连接 + while (server->hasPendingConnections()) { + QTcpSocket* socket = server->nextPendingConnection(); + int clientId = nextClientId ++; + QHostAddress clientIp = socket->peerAddress(); + quint16 clientPort = socket->peerPort(); + QString ipString = clientIp.toString(); + if (ipString.startsWith("::ffff:")) { + ipString = ipString.mid(7); + } + qDebug() << ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"; + qDebug() << "> A client is connected. ID:" << clientId; + qDebug() << "> Client IP:" << ipString << " Port:" << clientPort; + qDebug() << ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"; + + if (ipString.startsWith("10.10.10")) { + qDebug() << "The client IP address is front board !!!"; + isBackBoardOrAllBoard = 0; + } + else { + qDebug() << "The client IP address is back board or all board"; + isBackBoardOrAllBoard = clientId; + } + + stopMdnsService(); + connectedClientsCount ++; + updateServerButtonText(); + + QTimer* timer = new QTimer(this); + timer->setSingleShot(true); + clientTimers[clientId] = timer; + + // 连接定时器超时信号到槽函数 + connect(timer, &QTimer::timeout, this, [this, clientId]() { + //qDebug() << "Timeout occurred for client ID:" << clientId; + for (ClientHandler* handler : clients) { + if (handler->getClientId() == clientId) { + bool invoked = QMetaObject::invokeMethod(handler, "onTimeout", Qt::DirectConnection); + if (!invoked) { + qWarning() << "Failed to invoke onTimeout for client ID:" << clientId; + } + } + } + }); + + QThread* thread = new QThread(this); + ClientHandler* handler = new ClientHandler(socket, frontBoardOneClickTest, frontBoardTest, frontBoardFuncConfig, + frontBoardDevInfoJson, frontBoardLicenseJson, + backBoardOneClickTest, backBoardTest, backBoardFuncConfig, backBoardDevInfoJson, + backBoardUuidJson, getPicJson, getVideoJson, clientId, isBackBoardOrAllBoard, nullptr); + + // 将 ClientHandler 移到线程池中的线程 + handler->moveToThread(thread); + + // 创建 DataHandler 对象并连接信号 + DataHandler* dataHandler = new DataHandler(videoLabel, VideoResolutionEdit, leftLens_imageLabel->size(), &devInfoLineEdits, + frontBoardOneClickTest, frontBoardTest, frontBoardFuncConfig, + frontBoardDevInfoJson, frontBoardLicenseJson, + backBoardOneClickTest, backBoardTest, backBoardFuncConfig, backBoardDevInfoJson, + backBoardUuidJson, getPicJson, getVideoJson, nullptr); + qDebug() << "dataHandler->moveToThread(thread)"; + // 将 DataHandler 移到线程池中的线程 + dataHandler->moveToThread(thread); + + + // 将sendData信号连接到主线程中的槽上 + connect(handler, &ClientHandler::sendData, this, [socket](const QByteArray& data, int isBoardType) { + /*socket->write(data); + socket->flush();*/ + //qDebug() << "---------------------data.size():" << data.size(); + QByteArray prefix; + QDataStream stream(&prefix, QIODevice::WriteOnly); + stream.setByteOrder(QDataStream::LittleEndian); + stream << quint32(0x55AA55AA); + if (isBoardType != 0) { + stream << quint16(0x0421); + } + else { + stream << quint16(0x0420); + } + stream << quint32(data.size()); + prefix.append(data); + + qDebug() << "Sending data:" << prefix.toHex(); + + socket->write(prefix); + socket->flush(); + }); + + connect(handler, &ClientHandler::startTimeout, this, [this, clientId](int timeout) { + this->onStartTimeout(clientId, timeout); + }); + + clients.append(handler); + clients_1[clientId] = handler; + clientThreads[clientId] = thread; + connect(handler, &ClientHandler::statusUpdated, this, &MainWidget::onStatusUpdated); + connect(handler, &ClientHandler::clientDisconnected, this, &MainWidget::onClientDisconnected); + connect(handler, &ClientHandler::allItemsProcessed, this, &MainWidget::onAllItemsProcessed); + connect(handler, &ClientHandler::selectClientDisconnected, this, &MainWidget::onDisconnectClient); + + + dataHandlers[clientId] = dataHandler; + connect(handler, &ClientHandler::dataReceived, dataHandler, &DataHandler::handleData); + connect(dataHandler, &DataHandler::statusUpdated, this, &MainWidget::onStatusUpdated); + // 当线程结束时删除 handler + connect(thread, &QThread::finished, this, [=]() { + onThreadFinished(thread, handler, dataHandler); + }); + connect(dataHandler, &DataHandler::updateLicenseHwInfoEdit, this, [this](const QString& text) { + licenseHwInfoEdit->setPlainText(text); + }); + + connect(dataHandler, &DataHandler::updateLeftLensImage, leftLens_imageLabel, &QLabel::setPixmap); + connect(dataHandler, &DataHandler::updateRightLensImage, rightLens_imageLabel, &QLabel::setPixmap); + connect(dataHandler, &DataHandler::updateVideoLabel, videoLabel, &QLabel::setPixmap); + connect(dataHandler, &DataHandler::updateVideoResolution, VideoResolutionEdit, &QLineEdit::setText); + + // 启动新的线程 + thread->start(); + + connect(handler, &ClientHandler::startReadTimer, this, &MainWidget::startClientReadTimer); + connect(handler, &ClientHandler::stopReadTimer, this, &MainWidget::stopClientReadTimer); + //handler->getClientId() == handler->preVideoClientId + //qDebug() << "---- handler->getClientId():" << handler->getClientId(); + //qDebug() << "---- handler->preVideoClientId:" << handler->preVideoClientId; + connect(this, &MainWidget::openFocusWindowRequested, dataHandler, &DataHandler::handleOpenFocusWindow); + + // 创建和管理定时器 + QTimer* readTimer = new QTimer(this); + connect(readTimer, &QTimer::timeout, handler, &ClientHandler::onTimeoutRead); + // readTimer->start(10); // 每 10ms 触发一次 + // 将定时器存储到哈希表中,方便管理 + clientReadTimers[clientId] = readTimer; + + connect(handler, &ClientHandler::sendDataToSomeClient, this, &MainWidget::sendDataToClient); + } + }); + + connect(httpClient, &HttpClient::requestFinished, this, &MainWidget::onHttpRequestFinished); + connect(httpClient, &HttpClient::requestError, this, &MainWidget::onHttpRequestError); + + threadStatusTimer = new QTimer(this); + connect(threadStatusTimer, &QTimer::timeout, this, &MainWidget::onCheckThreadStatus); + //threadStatusTimer->start(100); // 每100ms检查一次线程状态 + + connectionStatusCheckTimer = new QTimer(this); + connect(connectionStatusCheckTimer, &QTimer::timeout, this, &MainWidget::onCheckConnectionStatus); + //connectionStatusCheckTimer->start(100); // 每100ms检查一次连接状态 + connect(mdnsTimer, &QTimer::timeout, this, &MainWidget::startMdnsService); + +#if TEST_UDP_BROADCAST + // 设置组播地址 + QHostAddress groupAddress("224.0.0.251"); + quint16 port = 5353; + + // 绑定UDP套接字 + if (!multicastSocket->bind(QHostAddress::AnyIPv4, port, QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint)) { + qWarning() << "Failed to bind multicast socket"; + } + + // 加入组播组 + bool joined = multicastSocket->joinMulticastGroup(groupAddress); + if (!joined) { + qWarning() << "Failed to join multicast group"; + } + + // 定期发送组播消息 + connect(multicastTimer, &QTimer::timeout, this, &MainWidget::sendMulticastMessage); + multicastTimer->start(1000); // 每秒发送一次组播消息 +#endif +} + +MainWidget::~MainWidget() +{ +#if TEST_UDP_BROADCAST + multicastTimer->stop(); + multicastSocket->leaveMulticastGroup(QHostAddress("224.0.0.251")); + multicastSocket->close(); +#endif + if (mdnsTimer->isActive()) { + mdnsTimer->stop(); + } + delete mdnsTimer; + stopMdnsService(); + for (auto timer : clientReadTimers) { + timer->stop(); + delete timer; + } + clientReadTimers.clear(); + + for (auto dataHandler : dataHandlers) { + dataHandler->deleteLater(); + } + dataHandlers.clear(); + + for (ClientHandler* handler : clients) { + handler->deleteLater(); + } + server->close(); + + for (auto thread : clientThreads) { + thread->quit(); + thread->wait(); + delete thread; + } + clientThreads.clear(); + + for (auto handler : clients_1) { + handler->deleteLater(); + } + clients_1.clear(); + + for (auto timer : clientTimers) { + timer->stop(); + delete timer; + } + clientTimers.clear(); + + if (server->isListening()) { + server->close(); + } + qDebug() << "MainWidget destroyed"; +} + +// 处理客户端断开连接信号 +void MainWidget::onClientDisconnected(ClientHandler* handler) +{ + int clientId = handler->getClientId(); + qDebug() << " preVideoClientId :" << handler->preVideoClientId; + qDebug() << " clientId :" << clientId; + if (handler->preVideoClientId == clientId) { + qDebug() << "Current path: " << QDir::currentPath(); + QString filePath = QDir::currentPath() + "/add1.h264"; + if (QFile::exists(filePath)) { + QFile file(filePath); + if (file.open(QIODevice::WriteOnly | QIODevice::Truncate)) { + qDebug() << "File add1.h264 cleared successfully."; + } + else { + qDebug() << "Failed to clear file add1.h264:" << file.errorString(); + } + } + else { + qDebug() << "File add1.h264 does not exist."; + } + } + if (clientTimers.contains(clientId)) { + QTimer* timer = clientTimers[clientId]; + timer->stop(); + delete timer; + clientTimers.remove(clientId); + } + + clients.removeOne(handler); + /* + 将 ClientHandler 对象的删除操作放入事件队列中,等待事件循环处理。 + 在事件循环执行时,会安全地删除 ClientHandler 对象,这包括释放其占用的资源和内存 + */ + handler->deleteLater(); // 延迟删除 ClientHandler 对象 + + if (dataHandlers.contains(clientId)) { + DataHandler* dataHandler = dataHandlers[clientId]; + dataHandlers.remove(clientId); // 从容器中移除 + dataHandler->deleteLater(); // 延迟删除 DataHandler 对象 + } + + // 更新连接数并更新按键文本 + connectedClientsCount--; + qDebug() << " connectedClientsCount :" << connectedClientsCount; + if (nextClientId <= 2) nextClientId--; + deviceConnected = true; + + updateServerButtonText(); +} + +// 更新按键文本的函数 +void MainWidget::updateServerButtonText() +{ + if (deviceConnected) { + if (connectedClientsCount > 0) { + startServerButton->setText(tr("正在监听(Listening)\n%1 台设备连接").arg(connectedClientsCount)); + } + else if (connectedClientsCount == 0) { +#if START_MDNS // 这里会开启多个mdns广播,去掉 + startMdnsService(); +#endif + deviceConnected = false; + startServerButton->setText(tr("正在监听(Listening)")); + } + } + else if (connectedClientsCount == 0) { + startServerButton->setText(tr("开始监听\n(Start Listening...)")); + } + else { + startServerButton->setText(tr("正在监听(Listening)\n%1 台设备连接").arg(connectedClientsCount)); + } +} + +// 设置 UI +void MainWidget::setupUI() +{ + startServerButton = new QPushButton("开始监听\n(Start Listening...)", this); + startServerButton->setFixedSize(190, 70); + + sendAllButton = new QPushButton("一键功能测试", this); + sendAllButton->setFixedSize(190, 70); + sendAllButton->setEnabled(false); + + statusListWidget = new QListWidget(this); + statusListWidget->setMinimumSize(350, 840); + statusListWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + + QHBoxLayout* buttonLayout = new QHBoxLayout; + buttonLayout->addWidget(startServerButton); + buttonLayout->addWidget(sendAllButton); + buttonLayout->addStretch(); + + QVBoxLayout* leftLayout = new QVBoxLayout; + leftLayout->addLayout(buttonLayout); + leftLayout->setStretch(0, 1); + leftLayout->addWidget(statusListWidget); + leftLayout->setStretch(1, 200); + + saveCheckBox = new QCheckBox("", this); + saveCheckBox->setChecked(true); + selectFileButton = new QPushButton("Save", this); + selectFileButton->setFixedSize(45, 28); + clearLogButton = new QPushButton("Clear", this); + clearLogButton->setFixedSize(55, 28); + filePathLineEdit = new QLineEdit(this); + filePathLineEdit->setFixedSize(250, 28); + filePathLineEdit->setReadOnly(true); + + QHBoxLayout* fileLayout = new QHBoxLayout; + fileLayout->addWidget(saveCheckBox); + fileLayout->addWidget(selectFileButton); + fileLayout->addWidget(filePathLineEdit); + fileLayout->addWidget(clearLogButton); + + leftLayout->addLayout(fileLayout); + leftLayout->setStretch(2, 1); + + // 读取 JSON 配置文件 + readJsonConfig(); + + QWidget* leftContainer = new QWidget(this); + leftContainer->setLayout(leftLayout); + leftContainer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + + // 前板 + QGroupBox* frontDeviceInfoGroupBox = createFrontDeviceInfoGroupBox(); + QGroupBox* frontLicenseGroupBox = createLicenseGroupBox(); + + QHBoxLayout* frontGroupBoxLayout = new QHBoxLayout; + frontGroupBoxLayout->addWidget(frontDeviceInfoGroupBox, 1); + frontGroupBoxLayout->addWidget(frontLicenseGroupBox, 1); + + QTabWidget* frontTabWidget = new QTabWidget(this); + frontTabWidget->setFixedSize(900, 315); + QWidget* frontFunctionTestTab = createFunctionTestTab(frontBoardTest, "frontBoardTest"); + QWidget* frontFunctionConfigTab = createFunctionConfigTab(frontBoardFuncConfig, "frontBoardFuncConfig"); + frontTabWidget->addTab(frontFunctionTestTab, "前板测试项"); + frontTabWidget->addTab(frontFunctionConfigTab, "前板配置项"); + + QTabWidget* mainTabWidget = new QTabWidget(this); + QWidget* frontDevAreaTab = new QWidget(this); + QVBoxLayout* frontDevLayout = new QVBoxLayout(frontDevAreaTab); + frontDevLayout->addLayout(frontGroupBoxLayout); + frontDevLayout->addWidget(frontTabWidget, 2, Qt::AlignTop | Qt::AlignLeft); + mainTabWidget->addTab(frontDevAreaTab, "前 板"); + + // 后板 + QGroupBox* backDeviceInfoGroupBox1 = createBackDeviceInfoGroupBox(); + QGroupBox* BackConnectServerGroupBox = createBackConnectServerGroupBox(); + + QHBoxLayout* backGroupBoxLayout = new QHBoxLayout; + backGroupBoxLayout->addWidget(backDeviceInfoGroupBox1, 1); + backGroupBoxLayout->addWidget(BackConnectServerGroupBox, 1); + + QTabWidget* backTabWidget = new QTabWidget(this); + backTabWidget->setFixedSize(900, 315); + QWidget* backFunctionTestTab = createFunctionTestTab(backBoardTest, "backBoardTest"); + QWidget* backFunctionConfigTab = createFunctionConfigTab(backBoardFuncConfig, "backBoardFuncConfig"); + backTabWidget->addTab(backFunctionTestTab, "后板测试项"); + backTabWidget->addTab(backFunctionConfigTab, "后板配置项"); + + QWidget* backDevAreaTab = new QWidget(this); + QVBoxLayout* backDevLayout = new QVBoxLayout(backDevAreaTab); + backDevLayout->addLayout(backGroupBoxLayout); + backDevLayout->addWidget(backTabWidget, 2, Qt::AlignTop | Qt::AlignLeft); + mainTabWidget->addTab(backDevAreaTab, "后 板"); + + // 整机 + QWidget* allDevAreaTab = new QWidget(this); + QVBoxLayout* allDevLayout = new QVBoxLayout(allDevAreaTab); + mainTabWidget->addTab(allDevAreaTab, "整 机"); + + QTabWidget* tabWidget_media = new QTabWidget(this); + QWidget* imageDisplayTab = createImageDisplayTab(); + QWidget* videoDisplayTab = createVideoDisplayTab(); + tabWidget_media->addTab(imageDisplayTab, "图像显示区"); + tabWidget_media->addTab(videoDisplayTab, "视频显示区"); + + QVBoxLayout* rightVerticalLayout = new QVBoxLayout; + rightVerticalLayout->addWidget(mainTabWidget, 5); + rightVerticalLayout->addWidget(tabWidget_media, 4); + + QHBoxLayout* mainLayout = new QHBoxLayout; + mainLayout->addWidget(leftContainer, 1, Qt::AlignTop | Qt::AlignLeft); + mainLayout->addLayout(rightVerticalLayout, 3); + + setLayout(mainLayout); + setWindowTitle("SL100 工厂产测工具 - V0.0.4"); + resize(1340, 900); + + connect(startServerButton, &QPushButton::clicked, this, &MainWidget::onStartServerClicked); + connect(sendAllButton, &QPushButton::clicked, this, &MainWidget::onSendAllClicked); + connect(statusListWidget, &QListWidget::itemChanged, this, &MainWidget::scrollToBottom); + connect(selectFileButton, &QPushButton::clicked, this, &MainWidget::onSelectFileButtonClicked); + connect(clearLogButton, &QPushButton::clicked, this, &MainWidget::onclearLogButtonClicked); + connect(saveCheckBox, &QCheckBox::stateChanged, this, &MainWidget::onSaveCheckBoxStateChanged); +} + +// 服务器响应 +void MainWidget::onHttpRequestFinished(const QJsonObject& response) +{ + isRequestSuccessful = 0; + if (response.contains("msg") && response["msg"].toString() == "ok") { + if (response.contains("data") && response["data"].isObject()) { + licenseDataArray = response["data"].toObject(); + isRequestSuccessful = 1; + } + } + else + isRequestSuccessful = 2; +} + +void MainWidget::onHttpRequestError(const QString& errorString) +{ + qWarning() << "HTTP request failed:" << errorString; + isRequestSuccessful = 2; +} + +// 生成随机字符串 +QString generateRandomRequestID(int minBitStr, int maxBitStr) { + const QString possibleCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.~"; + int length = QRandomGenerator::global()->bounded(minBitStr, maxBitStr); // 生成长度在minBitStr到maxBitStr之间 + QString randomString; + for (int i = 0; i < length; ++i) { + int index = QRandomGenerator::global()->bounded(possibleCharacters.size()); + randomString.append(possibleCharacters.at(index)); + } + qDebug() << "randomString request_id:" << randomString; + return randomString; +} + +// 哈希256 转 base64 +QString HmacSha256ToBase64(const QString& data, const QString& secret) { + QByteArray keyBytes = secret.toUtf8(); + QByteArray dataBytes = data.toUtf8(); + + // 使用 HMAC-SHA256 计算哈希值 + QByteArray hash = QMessageAuthenticationCode::hash(dataBytes, keyBytes, QCryptographicHash::Sha256); + qDebug() << "secret:" << secret; + qDebug() << "hash (hex):" << hash.toHex(); + qDebug() << "hash.toBase64():" << hash.toHex().toBase64(); + // 将哈希值编码为 Base64 字符串 + return hash.toHex().toBase64(); +} + +// 计算签名 +QString calculateSignature(const QMap& params, const QString& httpMethod, const QString& secret, const QString& request_id, const QString& timestamp) { + // 1. 按字典序排序参数 + QList> sortedParams; + for (auto it = params.begin(); it != params.end(); ++it) { + qDebug() << it.key() << ":" << it.value(); + sortedParams.append(qMakePair(it.key(), it.value())); + } + std::sort(sortedParams.begin(), sortedParams.end()); + qDebug() << "Sorted Params:"; + for (const auto& param : sortedParams) { + qDebug() << param.first << ":" << param.second; + } + + // 2. URL 编码参数 + QString canonicalizedQueryString; + for (auto& param : sortedParams) { + if (!canonicalizedQueryString.isEmpty()) { + canonicalizedQueryString += "&"; + } + canonicalizedQueryString += QUrl::toPercentEncoding(param.first) + "=" + QUrl::toPercentEncoding(param.second); + } + qDebug() << "URL Canonicalized Query String:" << canonicalizedQueryString; + + // 3. 构造 BaseString + //QString baseString = params["batch"] + params["label"] + params["model"] + params["request_id"] + params["timestamp"] + params["factory_id"]; + QString baseString = "240830SL100LabelSL100" + request_id + timestamp + "TEST"; + qDebug() << "baseString:" << baseString; + + // 4. 构造 stringToSign + QString stringToSign = httpMethod + "&" + baseString + "&" + canonicalizedQueryString.replace("+", "%20"); + qDebug() << "stringToSign:" << stringToSign; + // 5. 计算签名 + return HmacSha256ToBase64(stringToSign, secret); +} + +// 请求头 +void prepareRequestHeaders(QNetworkRequest& request, const QString& sign, const QString& request_id) { + request.setRawHeader("factory_id", "TEST"); + request.setRawHeader("label", "SL100Label"); + request.setRawHeader("batch", QString::number(240830).toUtf8()); + request.setRawHeader("model", "SL100"); + request.setRawHeader("timestamp", QString::number(QDateTime::currentSecsSinceEpoch()).toUtf8()); + request.setRawHeader("request_id", request_id.toUtf8()); + request.setRawHeader("sign", sign.toUtf8()); + request.setRawHeader("Content-Type", "application/json"); +} + +// GET 请求 +void sendGetRequest(HttpClient* httpClient, const QUrl& url, const QMap& params, const QString& secret) { + QString request_id = generateRandomRequestID(1, 33); + qDebug() << "request_id:" << request_id; + QUrl modifiedUrl = url; + QUrlQuery query; + for (auto it = params.begin(); it != params.end(); ++it) { + query.addQueryItem(it.key(), it.value()); + } + modifiedUrl.setQuery(query.query()); + QString sign = calculateSignature(params, "GET", secret, request_id, QString::number(QDateTime::currentSecsSinceEpoch())); + qDebug() << "sendGetRequest URL:" << modifiedUrl.toString(); + QNetworkRequest request(modifiedUrl); + prepareRequestHeaders(request, sign, request_id); + //return; + httpClient->sendGetRequest(request); +} + +// POST 请求 +void sendPostRequest(HttpClient* httpClient, const QUrl& url, const QMap& params, const QJsonObject& jsonData, const QString& secret) { + QString request_id = generateRandomRequestID(1, 33); + qDebug() << "request_id:" << request_id; + QString sign = calculateSignature(params, "POST", secret, request_id, QString::number(QDateTime::currentSecsSinceEpoch())); + qDebug() << "sendPostRequest URL:" << url.toString(); + QNetworkRequest request(url); + prepareRequestHeaders(request, sign, request_id); + QByteArray jsonDataByteArray = QJsonDocument(jsonData).toJson(); + //return; + httpClient->sendPostRequest(request, jsonDataByteArray); +} + +// GET 获取 UUID +void MainWidget::FactoryToolSendGetUuidToHttpServer(const QString& mac_addr) { + QUrl url("http://admin.hassecurity.cn/v1/getUuid"); + QMap params = { + {"label", "TEST_SL100_20240826"}, + {"model", "SL100"}, + {"batch", "1"}, + {"mac", mac_addr} + }; + QString secret = "rCeOzwisLFLasvlt"; + sendGetRequest(httpClient, url, params, secret); +} + +// GET 查询 License +void MainWidget::FactoryToolSendGetLicenseToHttpServer(const QString& hw_info) { + QUrl url("http://admin.hassecurity.cn/v1/getAlgorithmKey"); + QMap params = { + {"id", hw_info} + }; + + QString secret = "rCeOzwisLFLasvlt"; + sendGetRequest(httpClient, url, params, secret); +} + +// POST 确认烧录 +void MainWidget::FactoryToolSendPostComfirmToHttpServer(const QString& mac_addr, const QString& uuid) { + QUrl url("http://admin.hassecurity.cn/v1/confirm"); + QMap params = { + {"mac", mac_addr}, + {"uuid", uuid} + }; + + QJsonObject jsonData = { + {"mac", mac_addr}, + {"uuid", uuid} + }; + + QString secret = "rCeOzwisLFLasvlt"; + sendPostRequest(httpClient, url, params, jsonData, secret); +} + +// POST 上报测试结果 +void MainWidget::FactoryToolSendPostTestToHttpServer() { + QUrl url("http://admin.hassecurity.cn/v1/testRecords"); + QMap params = { + {"id", "123456"}, + {"location", "allMachine"} + }; + //QString itemString = "function=faceVerify,result=false,msg=timeout"; + //QString itemString = "function=faceVerify,result=false,msg=timeout"; + QString itemString = "[{\"function\":\"faceVerify\",\"msg\":\"timeout\",\"result\":false}]"; + params["items"] = itemString; + + QJsonObject jsonItem = { + {"function", "faceVerify"}, + {"result", false}, + {"msg", "timeout"} + }; + QJsonArray itemsArray; + itemsArray.append(jsonItem); + + QJsonObject jsonData = { + {"id", "123456"}, + {"location", "allMachine"}, + {"items", itemsArray} + }; + + QString secret = "rCeOzwisLFLasvlt"; + sendPostRequest(httpClient, url, params, jsonData, secret); +} + +// POST 图语 License 上报 +void MainWidget::FactoryToolSendPostLicenseToHttpServer(const QString& hardware_info, const QString& license_info) { + QUrl url("http://admin.hassecurity.cn/v1/algorithmKey"); + + + qint64 UTC_time = QDateTime::currentSecsSinceEpoch(); + + QMap params = { + {"id", hardware_info}, + {"key", license_info}, + {"time", QString::number(UTC_time)} + }; + + QJsonObject jsonData = { + {"id", hardware_info}, + {"key", license_info}, + {"time", UTC_time} + }; + + QString secret = "rCeOzwisLFLasvlt"; + sendPostRequest(httpClient, url, params, jsonData, secret); +} + +void MainWidget::startClientReadTimer(int clientId) { + //qDebug() << "------ startClientReadTimer clientId:" << clientId; + if (clientReadTimers.contains(clientId)) { + clientReadTimers[clientId]->start(10); + } +} + +void MainWidget::stopClientReadTimer(int clientId) { + qDebug() << "------ stopClientReadTimer clientId:" << clientId; + if (clientReadTimers.contains(clientId)) { + clientReadTimers[clientId]->stop(); + } +} + +void MainWidget::onCheckConnectionStatus() +{ + int activeThreadCount = clients_1.size(); + //qDebug() << "------Number of active threads:" << activeThreadCount; + for (auto it = clients_1.begin(); it != clients_1.end(); ++it) { + int clientId = it.key(); + ClientHandler* handler = it.value(); + QTcpSocket* socket = handler->getSocket(); + if (socket->state() != QTcpSocket::ConnectedState) { + qCritical() << "--------------Connection lost for clientId:" << clientId << ". Socket state:" << socket->state(); + emit handler->clientDisconnected(handler); + } + else { + qDebug() << "Connection for clientId:" << clientId << "is active."; + } + } +} + +void MainWidget::onCheckThreadStatus() +{ + //qDebug() << "Checking thread status..."; + int activeThreadCount = clientThreads.size(); + //qDebug() << "Number of active threads:" << activeThreadCount; + for (auto it = clientThreads.begin(); it != clientThreads.end(); ++it) { + int clientId = it.key(); + QThread* thread = it.value(); + ClientHandler* handler = nullptr; + for (ClientHandler* h : clients) { + if (h->getClientId() == clientId) { + handler = h; + break; + } + } + if (handler && handler->isData_Stuck()) { + qDebug() << "Thread for clientId:" << clientId << "is stuck."; + // 处理线程卡住的情况,比如重启线程或记录更多日志 + } + else if (thread->isRunning()) { + qDebug() << "isData_Stuck = :" << handler->isData_Stuck(); + qDebug() << "Thread for clientId:" << clientId << "is running."; + } + else { + qDebug() << "Thread for clientId:" << clientId << "is not running."; + // 处理线程意外停止的情况 + } + } +} + +// 打印线程池信息 +void MainWidget::printThreadPoolInfo() +{ + QThreadPool* threadPool = QThreadPool::globalInstance(); + //qDebug() << "Active threads:" << threadPool->activeThreadCount(); + //qDebug() << "Max threads:" << threadPool->maxThreadCount(); +} + +void MainWidget::setupTimerForThreadPoolInfo() +{ + QTimer* timer = new QTimer(this); + connect(timer, &QTimer::timeout, this, &MainWidget::printThreadPoolInfo); + timer->start(5000); // 每5秒打印一次线程池信息 +} + +void MainWidget::readJsonConfig() +{ + frontBoardOneClickTest = readJson_frontBoardOneClickTest(); + frontBoardTest = readJson_frontBoardTest(); + frontBoardFuncConfig = readJson_frontBoardFuncConfig(); + frontBoardDevInfoJson = readJson_frontDevInfo(); + frontBoardLicenseJson = readJson_frontLicense(); + + backBoardOneClickTest = readJson_backBoardOneClickTest(); + backBoardTest = readJson_backBoardTest(); + backBoardFuncConfig = readJson_backBoardFuncConfig(); + backBoardDevInfoJson = readJson_backDevInfo(); + backBoardUuidJson = readJson_backUuid(); + + testJsonConfig = readJson_testConfig(); + funcJsonConfig = readJson_funcConfig(); + + getPicJson = readJson_getPic(); + getVideoJson = readJson_getVideo(); +} + +void MainWidget::onSelectFileButtonClicked() +{ + QString filePath = QFileDialog::getSaveFileName(this, tr("选择文件路径"), "", tr("Text Files (*.txt);;All Files (*)")); + if (!filePath.isEmpty()) { + filePathLineEdit->setText(filePath); + } +} + +void MainWidget::onclearLogButtonClicked() +{ + statusListWidget->clear(); +} + +void MainWidget::onSaveCheckBoxStateChanged(int state) +{ + if (state == Qt::Checked) checkBoxState = true; + else checkBoxState = false; +} + +void MainWidget::saveStatusListToFile(const QString& filePath) +{ + QString actualFilePath = filePath; + if (actualFilePath.isEmpty()) { + QString defaultDirPath = QDir::currentPath() + "/TestLog"; + QDir dir(defaultDirPath); + if (!dir.exists()) { + if (!dir.mkpath(defaultDirPath)) { + qWarning() << "Failed to create directory:" << defaultDirPath; + return; + } + } + QString currentTime = QDateTime::currentDateTime().toString("yyyyMMdd_HHmmss"); + actualFilePath = defaultDirPath + "/" + currentTime + ".txt"; + } + + QFile file(actualFilePath); + if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { + qWarning() << "Failed to open file:" << actualFilePath; + return; + } + + QTextStream out(&file); + for (int i = 0; i < statusListWidget->count(); ++i) { + QListWidgetItem* item = statusListWidget->item(i); + out << item->text() << "\n"; + } + file.close(); +} + +void MainWidget::onStartTimeout(int clientId, int timeout) +{ + //qDebug() << "---------------> onStartTimeout :" << clientId << "timeout :" << timeout; + if (clientTimers.contains(clientId)) { + QTimer* timer = clientTimers[clientId]; + if (timeout > 0) { + timer->start(timeout); + } + else { + timer->stop(); + } + } +} + +void MainWidget::scrollToBottom() +{ + statusListWidget->scrollToBottom(); +} + +void MainWidget::onDisconnectClient(int clientId) +{ + for (ClientHandler* handler : clients) { + if (handler->getClientId() == clientId) { + // 断开与该客户端的连接 + handler->getSocket()->disconnectFromHost(); + handler->getSocket()->waitForDisconnected(); + clients.removeOne(handler); + if (clientTimers.contains(clientId)) { + QTimer* timer = clientTimers[clientId]; + timer->stop(); + delete timer; + clientTimers.remove(clientId); + } + handler->deleteLater(); + connectedClientsCount --; + updateServerButtonText(); + break; + } + } + if (connectedClientsCount == 0) { + // 启动 mDNS 服务广播 + startMdnsService(); + } +} + +QString formatLicenseKey(const QString& licenseKey) { + QString formattedKey; + qDebug() << "licenseKey.length():" << licenseKey.length(); + for (int i = 0; i < licenseKey.length(); i += 2) { + QString byteStr = licenseKey.mid(i, 2); // 每次取两个字符 + formattedKey.append(QString("0x%1, ").arg(byteStr)); + } + if (!formattedKey.isEmpty()) { + formattedKey.chop(2); + } + + return formattedKey; +} + +void MainWidget::onLicenseButtonClicked() +{ + if (connectedClientsCount) { + QPushButton* button = qobject_cast(sender()); + if (button) { + int index = button->property("licenseIndex").toInt(); + if (index >= 0 && index < frontBoardLicenseJson.size()) { + QJsonObject jsonObject = frontBoardLicenseJson[index].toObject(); + unsigned char hardware_info[PIX_HARDWARE_INFO_BYTES] = { 0 }; + unsigned char license_info[PIX_LICENCE_BYTES] = { 0 }; + QString dataStr = ""; + if (jsonObject["lable"].toString() == "get_license") { + QString hwInfoText = licenseHwInfoEdit->toPlainText(); + if (hwInfoText.count("0x") != PIX_HARDWARE_INFO_BYTES) { + isRequestSuccessful = 0; + //licenseHwInfoEdit->setPlainText("您使用了License去获取License,这是不允许的!!!"); + LicenseConfirmWindow dialog("您使用了License去获取License,这是不允许的!!!"); + dialog.exec(); + return; + } + dataStr = hwInfoText.remove(","); // 去掉所有的逗号 + QString sendToHttpServerDataStr = dataStr.replace("0x", "").replace(" ", ""); // 去掉0x和空格 +#if 1 + qDebug() << "sendToHttpServerDataStr:" << sendToHttpServerDataStr; + FactoryToolSendGetLicenseToHttpServer(sendToHttpServerDataStr); + while (isRequestSuccessful == 0) { + QCoreApplication::processEvents(); // 防止阻塞线程 + } + qDebug() << "isRequestSuccessful:" << isRequestSuccessful; + if (isRequestSuccessful == 2) { + isRequestSuccessful = 0; + return; + } + else if(isRequestSuccessful == 1) { + if (licenseDataArray.contains("has") && licenseDataArray["has"].toBool()) { + qDebug() << "Found item with 'has' = true"; + if (licenseDataArray.contains("key")) { + QString licenseKey = licenseDataArray["key"].toString(); + licenseKey = formatLicenseKey(licenseKey); + licenseHwInfoEdit->setPlainText(licenseKey); + qDebug() << "HTTP Server License is:" << licenseKey; + isRequestSuccessful = 0; + return; + } + } + else if (licenseDataArray.contains("has")) { + qDebug() << "licenseDataArray[\"has\"].toBool():" << licenseDataArray["has"].toBool(); + } + } +#else + QString licenseKey = "128532C1D2A8"; + licenseKey = formatLicenseKey(licenseKey); + licenseHwInfoEdit->setPlainText(licenseKey); + qDebug() << "License Key set in licenseHwInfoEdit:" << licenseKey; + return; +#endif + QByteArray dataByteArray = QByteArray::fromHex(dataStr.toUtf8()); + memcpy(hardware_info, dataByteArray.data(), qMin(dataByteArray.size(), PIX_HARDWARE_INFO_BYTES)); + //unsigned char hardware_info[PIX_HARDWARE_INFO_BYTES] = { 0x46,0x0b,0x5d,0x11,0x58,0x17,0x4d,0x5e,0x55,0x5c,0x51,0x4a,0x5a,0x07,0x59,0x4c,0x5f,0x45,0x5b,0x5f,0x5a,0x45,0x1c,0x5a,0x45,0x43,0x44,0x47,0x51,0x5e,0x44,0x30 }; + LicenseConfirmWindow dialog("你确定要获取此授权吗?\n请确认你的hw_info是否正确"); + if (dialog.exec() == QDialog::Accepted) { +#if !MANUAL_UPLOAD_LICENSE + if (!(licenseGenerate(hardware_info, license_info))) { + qDebug() << "从U盘获取License失败"; + isRequestSuccessful = 0; + licenseHwInfoEdit->setPlainText("从U盘获取License失败,请检查U盘是否插入电脑!!!"); + return; + } + QString licenseInfoHex = QByteArray(reinterpret_cast(license_info), PIX_LICENCE_BYTES).toHex().toUpper(); +#else + //unsigned char license_info_1[PIX_LICENCE_BYTES] = { 0x07, 0xe8, 0xf3, 0x80, 0xa8, 0x07, 0x72, 0xa1, 0x17, 0xfe, 0xda, 0x67, 0xbd, 0x4a, 0x5a, 0xb5, 0xbb, 0x8b, 0x2d, 0xb2, 0xbf, 0x89, 0x74, 0xe5, 0xb0, 0x99, 0x70, 0x74, 0x3c, 0x6f, 0xf8, 0x82, 0x79, 0xab, 0x31, 0x9c, 0xdf, 0xe8, 0x9e, 0x75, 0x8f, 0x42, 0xb3, 0xcf, 0x00, 0x60, 0xa0, 0x38, 0xa4, 0xb8, 0xbe, 0xa6, 0x5d, 0x9f, 0x8b, 0x41, 0xf3, 0x0a, 0x69, 0xf6, 0x50, 0x94, 0x3f, 0xd0, 0xa5, 0xee, 0x88, 0x20, 0x93, 0x9a, 0x1c, 0xe9, 0x64, 0xd3, 0xaf, 0x9f, 0xc7, 0x66, 0x00, 0x7d, 0x7d, 0x68, 0xf1, 0xa4, 0xe1, 0x58, 0x00, 0x1d, 0x03, 0x0d, 0x40, 0x08, 0xa4, 0xcc, 0x0b, 0xd8, 0x19, 0x70, 0x9a, 0x83, 0x81, 0xbf, 0x27, 0x35, 0xb8, 0xec, 0x59, 0xa8, 0xd0, 0x03, 0xdb, 0xf6, 0xcf, 0x83, 0xaa, 0x0e, 0xfc, 0x95, 0x29, 0x77, 0xec, 0x89, 0xc5, 0x79, 0x10, 0x40, 0xd8, 0xbb }; + unsigned char license_info_1[PIX_LICENCE_BYTES] = { 0x6a, 0x70, 0xc0, 0x40, 0xc9, 0x20, 0xf5, 0xd2, 0x78, 0xac, 0x05, 0x80, 0xa6, 0xcf, 0x3f, 0xd5, 0x72, 0xf6, 0xc3, 0x82, 0x11, 0x0d, 0x56, 0x37, 0xb3, 0x87, 0x19, 0x13, 0x79, 0xa5, 0x9b, 0x37, 0xf2, 0xab, 0xcb, 0xa3, 0xea, 0xc4, 0x45, 0xc6, 0xae, 0xc4, 0xa4, 0x72, 0xe9, 0x36, 0x1e, 0xbe, 0x78, 0xd6, 0xcd, 0x85, 0xd, 0x63, 0x93, 0x7a, 0x84, 0x9a, 0x31, 0x99, 0xe1, 0x09, 0xc1, 0xfa, 0xbe, 0x32, 0x42, 0xc5, 0xc9, 0x89, 0x03, 0x7e, 0x81, 0xe5, 0x25, 0xf, 0x4d, 0x68, 0x9d, 0x53, 0xd1, 0x04, 0x29, 0x34, 0x53, 0x09, 0x22, 0x5, 0x29, 0xce, 0xb1, 0xc9, 0x01, 0xed, 0x2a, 0xd2, 0x16, 0xfb, 0x3c, 0x27, 0xba, 0x4a, 0x69, 0x10, 0x3a, 0x54, 0x5a, 0x8f, 0xca, 0x47, 0x8d, 0x34, 0x2b, 0x57, 0xad, 0x27, 0x9a, 0x15, 0x37, 0x86, 0x60, 0xd6, 0x34, 0xd8, 0x32, 0xee, 0x9c, 0x46 }; + QString licenseInfoHex = QByteArray(reinterpret_cast(license_info_1), PIX_LICENCE_BYTES).toHex().toUpper(); +#endif + qDebug() << "上报服务器 licenseInfoHex:" << licenseInfoHex; + // License上报服务器 + FactoryToolSendPostLicenseToHttpServer(sendToHttpServerDataStr, licenseInfoHex); + QString licenseInfoStr; + printf("U盘 Get License is\n"); + for (int j = 0; j < PIX_LICENCE_BYTES; ++j) { +#if !MANUAL_UPLOAD_LICENSE + printf("0x%02x, ", license_info[j]); + licenseInfoStr.append(QString::asprintf("0x%02x, ", license_info[j])); +#else + printf("0x%02x, ", license_info_1[j]); + licenseInfoStr.append(QString::asprintf("0x%02x, ", license_info_1[j])); +#endif + } + printf("\n"); + licenseHwInfoEdit->setPlainText(licenseInfoStr); + isRequestSuccessful = 0; + } + } + else { +#if 0 + if (jsonObject["lable"].toString() == "write_license") { + QString hwInfoText = licenseHwInfoEdit->toPlainText(); + dataStr = hwInfoText.remove(","); // 去掉所有的逗号 + QByteArray dataByteArray = QByteArray::fromHex(dataStr.toUtf8()); + memcpy(hardware_info, dataByteArray.data(), qMin(dataByteArray.size(), PIX_HARDWARE_INFO_BYTES)); + qDebug() << "hardware_info:" << QByteArray(reinterpret_cast(hardware_info), PIX_HARDWARE_INFO_BYTES).toHex(); + licenseGenerate(hardware_info, license_info); + QString licenseInfoStr; + printf("License is\n"); + for (int j = 0; j < PIX_LICENCE_BYTES; ++j) { + printf("0x%02x, ", license_info[j]); + licenseInfoStr.append(QString::asprintf("0x%02x, ", license_info[j])); + } + printf("\n"); + licenseHwInfoEdit->setPlainText(licenseInfoStr); + dataStr = QByteArray(reinterpret_cast(license_info), PIX_LICENCE_BYTES).toHex(); + qDebug() << "license_info:" << dataStr; + } +#else + if (jsonObject["lable"].toString() == "write_license") { + QString licenseInfoText = licenseHwInfoEdit->toPlainText(); + qDebug() << "licenseInfoText:" << licenseInfoText; + dataStr = licenseInfoText.remove(","); // 去掉所有的逗号 + dataStr = dataStr.replace("0x", "").replace(" ", ""); // 去掉0x和空格 + QByteArray dataByteArray = QByteArray::fromHex(dataStr.toUtf8()); + memcpy(license_info, dataByteArray.data(), qMin(dataByteArray.size(), PIX_LICENCE_BYTES)); + QString licenseInfoStr; + for (int j = 0; j < PIX_LICENCE_BYTES; ++j) { + licenseInfoStr.append(QString::asprintf("0x%02x, ", license_info[j])); + } + dataStr = QByteArray(reinterpret_cast(license_info), PIX_LICENCE_BYTES).toHex(); + qDebug() << "license_info:" << dataStr; + dataStr = dataByteArray.toBase64(); + qDebug() << "Base64 Encoded:" << dataStr; + } +#endif + for (ClientHandler* handler : clients) { + handler->sendLicenseItem(index, dataStr); + } + } + } + } + } + else { + QListWidgetItem* listItem = new QListWidgetItem(QString("No device is connected !!!"), statusListWidget); + listItem->setBackground(Qt::red); + } +} + +void MainWidget::onUuidButtonClicked() +{ + if (connectedClientsCount) { + QPushButton* button = qobject_cast(sender()); + if (button) { + int index = button->property("UuidIndex").toInt(); + if (index >= 0 && index < backBoardUuidJson.size()) { + QJsonObject jsonObject = backBoardUuidJson[index].toObject(); + QString dataStr = ""; + if (jsonObject["lable"].toString() == "get_UUID_SN") { + QString sendToHttpServerDataStr = UuidHwInfoEdit->toPlainText(); + qDebug() << "sendToHttpServerDataStr:" << sendToHttpServerDataStr; + // 测试随机生成8-12位字符串 + sendToHttpServerDataStr = generateRandomRequestID(8, 13); + FactoryToolSendGetUuidToHttpServer(sendToHttpServerDataStr); + while (isRequestSuccessful == 0) { + QCoreApplication::processEvents(); // 防止阻塞UI线程 + } + qDebug() << "isRequestSuccessful:" << isRequestSuccessful; + if (isRequestSuccessful == 2) { + return; + } + else if (isRequestSuccessful == 1) { + + } + } + else { + if (jsonObject["lable"].toString() == "write_UUID_SN") { + + } + for (ClientHandler* handler : clients) { + handler->sendUuidItem(index, ""); + } + } + } + } + } + else { + QListWidgetItem* listItem = new QListWidgetItem(QString("No device is connected !!!"), statusListWidget); + listItem->setBackground(Qt::red); + } +} + +void MainWidget::startMdnsService() +{ + QDateTime currentTime = QDateTime::currentDateTime(); + QString formattedTime = currentTime.toString("yyyy-MM-dd hh:mm:ss.zzz"); + qDebug() << "[" << formattedTime << "]:" << "Start Mdns Broadcast Service"; + QString serviceName = "SL100 FactoryTool Mdns Broadcast Service"; + QString serviceType = "_myservice._tcp.local"; + quint16 port = TCP_CONNECT_PORT; + mServiceProvider->startServiceBroadcast(serviceName, serviceType, port); + + if (!mdnsTimer->isActive()) { + mdnsTimer->start(1000); + } +} + +void MainWidget::stopMdnsService() +{ + if (mdnsTimer->isActive()) { + mdnsTimer->stop(); // 停止定时器 + } + mServiceProvider->stopServiceBroadcast(); +} + +#if TEST_UDP_BROADCAST +void MainWidget::sendMulticastMessage() +{ + QByteArray datagram = "--------------------------------- Test multicast message from MainWidget"; + QHostAddress groupAddress("224.0.0.251"); + quint16 port = 5353; + + qint64 sentBytes = multicastSocket->writeDatagram(datagram, groupAddress, port); + if (sentBytes == -1) { + qWarning() << "Failed to send multicast message:" << multicastSocket->errorString(); + } + else { + qDebug() << "Multicast message sentBytes:" << sentBytes; + qDebug() << "Multicast message sent:" << datagram; + } +} +#endif + +// 处理开始服务器按键点击事件 +void MainWidget::onStartServerClicked() +{ + if (!server->isListening()) { + startMdnsService(); +#if TEST_UDP_BROADCAST + sendMulticastMessage(); +#endif + // QHostAddress specifiedIpAddress("10.10.10.253"); + quint16 specifiedPort = TCP_CONNECT_PORT; + qDebug() << "" << specifiedPort; + if (server->listen(QHostAddress::Any, specifiedPort)) { + startServerButton->setText(tr("正在监听(Listening)")); + startServerButton->setStyleSheet("background-color: green;"); + sendAllButton->setEnabled(true); + } + else { + qDebug() << "Failed to start server. Error:" << server->errorString(); + } + } + else { + server->close(); + startServerButton->setText(tr("开始监听\n(Start Listening...)")); + startServerButton->setStyleSheet(""); + sendAllButton->setEnabled(false); + stopMdnsService(); + } +} + +void MainWidget::sendDataToClient(int clientId, const QByteArray& data) +{ + if ((clientId == 0) && (isBackBoardOrAllBoard)) { + clientId = isBackBoardOrAllBoard; + } + if (clients_1.contains(clientId)) { + ClientHandler* handler = clients_1[clientId]; + handler->sendDataToClient(data); // 调用 ClientHandler 中的方法发送数据 + } + else { + qWarning() << "没有找到 ID 为" << clientId << "的客户端!"; + } +} + +// 处理发送获取设备信息按键点击事件 +void MainWidget::onSendGetDevInfoClicked() +{ + if (connectedClientsCount) { + QPushButton* button = qobject_cast(sender()); + int itemIndex = button->property("deviceInfoIndex").toInt(); + if (itemIndex + 1 > connectedClientsCount) { + QListWidgetItem* listItem = new QListWidgetItem(QString("No device %1 is connected !!!").arg(itemIndex + 1), statusListWidget); + listItem->setBackground(Qt::red); + } + else { + for (ClientHandler* handler : clients) { + if (handler->getClientId() == handler->controlClientId) { + handler->sendGetDevInfoItem(itemIndex); + break; + } + } + } + } + else { + QListWidgetItem* listItem = new QListWidgetItem(QString("No device is connected !!!"), statusListWidget); + listItem->setBackground(Qt::red); + } +} + +// 处理发送取图按键点击事件 +void MainWidget::onSendGetPicClicked() +{ + if (connectedClientsCount) { + QPushButton* button = qobject_cast(sender()); + int itemIndex = button->property("getPicIndex").toInt(); + + if (itemIndex < 2) { + button->setStyleSheet("background-color: green;"); + if (lastClickedGetPicCamIndex != -1 && lastClickedGetPicCamIndex != itemIndex) { + getPicButtons[lastClickedGetPicCamIndex]->setStyleSheet(""); + if (lastClickedGetPicDevIndex != -1) { + getPicButtons[lastClickedGetPicDevIndex]->setStyleSheet(""); + } + } + lastClickedGetPicCamIndex = itemIndex; + } + else { + if (lastClickedGetPicCamIndex == -1) { + QListWidgetItem* listItem = new QListWidgetItem(QString("Please select IR or RGB lens to get image!!!"), statusListWidget); + listItem->setBackground(Qt::red); + } + else { + if (itemIndex - 2 >= connectedClientsCount) { + QListWidgetItem* listItem = new QListWidgetItem(QString("This device is not connected !!!"), statusListWidget); + listItem->setBackground(Qt::red); + } + else { + button->setStyleSheet("background-color: green;"); + if (lastClickedGetPicDevIndex != -1 && lastClickedGetPicDevIndex != itemIndex) { + getPicButtons[lastClickedGetPicDevIndex]->setStyleSheet(""); + } + lastClickedGetPicDevIndex = itemIndex; + //QMutexLocker locker(&mutex); + for (ClientHandler* handler : clients) { + if (handler->getClientId() == handler->controlClientId) { + handler->sendGetPicItem(itemIndex - 2, lastClickedGetPicCamIndex); + break; + } + } + } + } + } + } + else { + QListWidgetItem* listItem = new QListWidgetItem(QString("No device is connected !!!"), statusListWidget); + listItem->setBackground(Qt::red); + } +} + +// 处理发送拉视频流按键点击事件 +void MainWidget::onSendGetVideoClicked() +{ + if (connectedClientsCount) { + QPushButton* button = qobject_cast(sender()); + int itemIndex = button->property("getVideoIndex").toInt(); + + if (itemIndex < 4) { + button->setStyleSheet("background-color: green;"); + if (lastClickedGetVideoCamIndex != -1 && lastClickedGetVideoCamIndex != itemIndex) { + getVideoButtons[lastClickedGetVideoCamIndex]->setStyleSheet(""); + if (lastClickedGetVideoDevIndex != -1) { + getVideoButtons[lastClickedGetVideoDevIndex - 2]->setStyleSheet(""); + } + } + lastClickedGetVideoCamIndex = itemIndex; + } + else { + if (lastClickedGetVideoCamIndex == -1) { + QListWidgetItem* listItem = new QListWidgetItem(QString("Please select lens to get video!!!"), statusListWidget); + listItem->setBackground(Qt::red); + } + else { + if (itemIndex - 8 >= connectedClientsCount) { + QListWidgetItem* listItem = new QListWidgetItem(QString("This device is not connected !!!").arg(itemIndex - 6), statusListWidget); + listItem->setBackground(Qt::red); + } + else { + button->setStyleSheet("background-color: green;"); + if (lastClickedGetVideoDevIndex != -1 && lastClickedGetVideoDevIndex != itemIndex) { + //qDebug() << "itemIndex:" << itemIndex; + getVideoButtons[lastClickedGetVideoDevIndex - 2]->setStyleSheet(""); + } + lastClickedGetVideoDevIndex = itemIndex; + //QMutexLocker locker(&mutex); + for (ClientHandler* handler : clients) { + if (handler->getClientId() == handler->controlClientId) { + qDebug() << "lens number:" << lastClickedGetVideoCamIndex; + handler->sendGetVideoItem(itemIndex - 7, lastClickedGetVideoCamIndex); + break; + } + } + getVideoButtons[FOCUS_WINDOWS_BUTTON]->setEnabled(true); + } + } + } + } + else { + QListWidgetItem* listItem = new QListWidgetItem(QString("No device is connected !!!"), statusListWidget); + listItem->setBackground(Qt::red); + } +} + +void MainWidget::onOpenFocusWindowClicked() +{ + QPushButton* button = qobject_cast(sender()); + if (button) { + int itemIndex = button->property("getVideoIndex").toInt(); + qDebug() << "New Button clicked with itemIndex:" << itemIndex; + if (itemIndex == FOCUS_WINDOWS_BUTTON) { + for (ClientHandler* handler : clients) { + if (handler->getClientId() == handler->preVideoClientId) { + emit openFocusWindowRequested(itemIndex); // 发送信号 + } + + } + + } + } +} + +// 处理一键发送按键点击事件 +void MainWidget::onSendAllClicked() +{ + if (connectedClientsCount) { + QMutexLocker locker(&mutex); + isSendingAll = !isSendingAll; + if (isSendingAll) { + sendAllButton->setText("一键功能测试中...\n再次点击取消"); + sendAllButton->setStyleSheet("background-color: green;"); + manualSend = true; + for (ClientHandler* handler : clients) { + // 重置索引 + handler->resetCurrentItemIndex(); + if (handler->getClientId() == handler->controlClientId) { + handler->sendNextItem(); + //handler->sendDevInfoItem(); + break; + } + } + } + else { + sendAllButton->setText("一键功能测试"); + sendAllButton->setStyleSheet("background-color: white;"); + manualSend = false; + for (ClientHandler* handler : clients) { + handler->resetCurrentItemIndex(); + } + } + } + else { + QListWidgetItem* listItem = new QListWidgetItem(QString("No device is connected !!!"), statusListWidget); + listItem->setBackground(Qt::red); + } +} + +// 处理单独发送功能项按键点击事件 +void MainWidget::onSendFrontFuncItemClicked() +{ + if (connectedClientsCount) { + QPushButton* button = qobject_cast(sender()); + int itemIndex = button->property("frontBoardFuncConfig").toInt(); + for (ClientHandler* handler : clients) { + if (handler->getClientId() == handler->controlClientId) { + QString text = frontFuncConfigLineEdit->text(); + qDebug() << "Text in frontFuncConfigLineEdit:" << text; + handler->sendFrontFuncItem(itemIndex, text); + break; + } + } + } + else { + QListWidgetItem* listItem = new QListWidgetItem(QString("No device is connected !!!"), statusListWidget); + listItem->setBackground(Qt::red); + } +} + +void MainWidget::onSendBackFuncItemClicked() +{ + if (connectedClientsCount) { + QPushButton* button = qobject_cast(sender()); + int itemIndex = button->property("backBoardFuncConfig").toInt(); + for (ClientHandler* handler : clients) { + if ((isBackBoardOrAllBoard) || (handler->getClientId() == handler->controlClientId)) { + QString text = backFuncConfigLineEdit->text(); + qDebug() << "Text in backFuncConfigLineEdit:" << text; + handler->sendBackFuncItem(itemIndex, text); + break; + } + } + } + else { + QListWidgetItem* listItem = new QListWidgetItem(QString("No device is connected !!!"), statusListWidget); + listItem->setBackground(Qt::red); + } +} + +// 处理单独发送项按键点击事件 +void MainWidget::onSendFrontItemClicked() +{ + qDebug() << "onSendFrontItemClicked" ; + if (connectedClientsCount) { + QPushButton* button = qobject_cast(sender()); + int itemIndex = button->property("frontBoardTest").toInt(); + for (ClientHandler* handler : clients) { + if (handler->getClientId() == handler->controlClientId) { + handler->sendFrontItem(itemIndex); + break; + } + } + } + else { + QListWidgetItem* listItem = new QListWidgetItem(QString("No device is connected !!!"), statusListWidget); + listItem->setBackground(Qt::red); + } +} + +void MainWidget::onSendBackItemClicked() +{ + qDebug() << "onSendBackItemClicked"; + if (connectedClientsCount) { + QPushButton* button = qobject_cast(sender()); + int itemIndex = button->property("backBoardTest").toInt(); + for (ClientHandler* handler : clients) { + if ((isBackBoardOrAllBoard) || (handler->getClientId() == handler->controlClientId)) { + handler->sendBackItem(itemIndex); + break; + } + } + } + else { + QListWidgetItem* listItem = new QListWidgetItem(QString("No device is connected !!!"), statusListWidget); + listItem->setBackground(Qt::red); + } +} + +// 处理状态更新信号 +void MainWidget::onStatusUpdated(const QString& client, int itemIndex, int FuncItemIndex, + bool success, const QString& itemData, const QString& funcItemData, + const QJsonArray& jsonArray, int itemJsonIndex) +{ + int clientId = -1; + QString label; + // 遍历所有的 ClientHandler,找到匹配的 client + for (ClientHandler* handler : clients) { + if (handler->getClientAddress() == client) { + clientId = handler->getClientId(); + QString lable = handler->getCurrentItemLable(); + lable = handler->getCurrentFuncItemLable(); + break; + } + else + { + //qDebug() << "" << __FUNCTION__ << "handler->getClientAddress() != client" ; + } + } + //qDebug() << "itemIndex :" << itemIndex; + //qDebug() << "FuncItemIndex:" << FuncItemIndex; + //if (itemIndex > 0) { + // QListWidgetItem* listItem = new QListWidgetItem(QString("device ID: %1 - Item %2: %3 ---> %4") + // .arg(clientId) + // .arg(itemIndex) + // .arg(itemData) // data 字段 + // .arg(success ? "OK" : "NG"), statusListWidget); + + // listItem->setBackground(success ? Qt::green : Qt::red); + // statusListWidget->addItem(listItem); + //} + //else if (FuncItemIndex > 0) { + // QListWidgetItem* listItem = new QListWidgetItem(QString("device ID: %1 - funcItem %2: %3 ---> %4") + // .arg(clientId) + // .arg(FuncItemIndex) + // .arg(funcItemData) // data 字段 + // .arg(success ? "OK" : "NG"), statusListWidget); + + // listItem->setBackground(success ? Qt::green : Qt::red); + // statusListWidget->addItem(listItem); + //} + + + qDebug() << "itemJsonIndex :" << itemJsonIndex; + if (itemJsonIndex >= 0 && itemJsonIndex < jsonArray.size()) { + QJsonObject jsonObject = jsonArray.at(itemJsonIndex).toObject(); + if (jsonObject.contains("lable")) { + label = jsonObject["lable"].toString(); + qDebug() << "label :" << label; + } + } + QListWidgetItem* listItem = new QListWidgetItem(QString("device ID: %1 - Item %2: %3 ---> %4") + .arg(clientId) + .arg(itemJsonIndex + 1) + .arg(label) // data 字段 + .arg(success ? "OK" : "NG"), statusListWidget); + listItem->setBackground(success ? Qt::green : Qt::red); + statusListWidget->addItem(listItem); + + statusListWidget->scrollToBottom(); +} + +// json文件里面的配置项都测试结束 +void MainWidget::onAllItemsProcessed(const QString& client, int itemsProcessedCount) +{ + isSendingAll = false; + sendAllButton->setText("一键功能测试"); + sendAllButton->setStyleSheet("background-color: white;"); + //qDebug() << "onAllItemsProcessed called for client:" << client << "itemsProcessedCount:" << itemsProcessedCount; + int clientId = -1; + for (ClientHandler* handler : clients) { + if (handler->getClientAddress() == client) { + clientId = handler->getClientId(); + qDebug() << "Current clientId:" << clientId; + break; + } + else + { + //qDebug() << "" << __FUNCTION__ << "handler->getClientAddress() != client"; + } + } + + QListWidgetItem* listItem = new QListWidgetItem(QString("device ID:-%1 ---> All %2 items test completed !!!") + .arg(clientId) + .arg(itemsProcessedCount), statusListWidget); + if(checkBoxState) + saveStatusListToFile(filePathLineEdit->text()); + statusListWidget->addItem(listItem); + statusListWidget->scrollToBottom(); +} +