From db87dab03bb6ec6aab64e9bc73410bad146763d8 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 25 Apr 2020 18:30:49 +0200 Subject: [PATCH 001/251] initial HushChat push: Add HushChat tab and a few QWidgets - work in progress --- src/mainwindow.ui | 126 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 125 insertions(+), 1 deletion(-) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index d7caf5d..f54a0a2 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -22,7 +22,7 @@ - 0 + 5 @@ -1324,6 +1324,125 @@ + + + HushChat + + + + + 0 + 80 + 341 + 561 + + + + + + + 6 + 40 + 311 + 20 + + + + <html><head/><body><p align="center">Contact</p></body></html> + + + + + + 340 + 80 + 871 + 361 + + + + + + + 357 + 460 + 329 + 17 + + + + Memo + + + + + + 357 + 483 + 851 + 128 + + + + + + + 360 + 620 + 158 + 25 + + + + Include Reply Address + + + + + + 692 + 618 + 189 + 25 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 1110 + 460 + 91 + 17 + + + + 0 / 512 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 340 + 50 + 861 + 20 + + + + <html><head/><body><p align="center">Messages</p></body></html> + + + @@ -1509,6 +1628,11 @@ QLabel
fillediconlabel.h
+ + MemoEdit + QPlainTextEdit +
memoedit.h
+
Address1 From d398709da95d30760da6c466e65b7d1d1ac9f0e4 Mon Sep 17 00:00:00 2001 From: Strider Date: Sat, 25 Apr 2020 20:30:53 +0200 Subject: [PATCH 002/251] update// added speechbubble wigdets --- silentdragon-lite.pro | 12 ++++++--- src/chatbubbleme.cpp | 14 ++++++++++ src/chatbubbleme.h | 22 +++++++++++++++ src/chatbubbleme.ui | 57 +++++++++++++++++++++++++++++++++++++++ src/chatbubblepartner.cpp | 14 ++++++++++ src/chatbubblepartner.h | 22 +++++++++++++++ src/chatbubblepartner.ui | 57 +++++++++++++++++++++++++++++++++++++++ src/mainwindow.ui | 16 +++++------ 8 files changed, 203 insertions(+), 11 deletions(-) create mode 100644 src/chatbubbleme.cpp create mode 100644 src/chatbubbleme.h create mode 100644 src/chatbubbleme.ui create mode 100644 src/chatbubblepartner.cpp create mode 100644 src/chatbubblepartner.h create mode 100644 src/chatbubblepartner.ui diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index cc9092d..e8c50d5 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -65,7 +65,9 @@ SOURCES += \ src/datamodel.cpp \ src/controller.cpp \ src/liteinterface.cpp \ - src/camount.cpp + src/camount.cpp \ + src/chatbubbleme.cpp \ + src/chatbubblepartner.cpp HEADERS += \ src/firsttimewizard.h \ @@ -94,7 +96,9 @@ HEADERS += \ src/controller.h \ src/liteinterface.h \ src/camount.h \ - lib/silentdragonlitelib.h + lib/silentdragonlitelib.h \ + src/chatbubbleme.h \ + src/chatbubblepartner.h FORMS += \ src/encryption.ui \ @@ -117,7 +121,9 @@ FORMS += \ src/recurringdialog.ui \ src/newrecurring.ui \ src/requestdialog.ui \ - src/recurringmultiple.ui + src/recurringmultiple.ui \ + src/chatbubbleme.ui \ + src/chatbubblepartner.ui TRANSLATIONS = res/silentdragonlite_es.ts \ diff --git a/src/chatbubbleme.cpp b/src/chatbubbleme.cpp new file mode 100644 index 0000000..1f17250 --- /dev/null +++ b/src/chatbubbleme.cpp @@ -0,0 +1,14 @@ +#include "chatbubbleme.h" +#include "ui_chatbubbleme.h" + +ChatBubbleMe::ChatBubbleMe(QWidget *parent) : + QWidget(parent), + ui(new Ui::ChatBubbleMe) +{ + ui->setupUi(this); +} + +ChatBubbleMe::~ChatBubbleMe() +{ + delete ui; +} diff --git a/src/chatbubbleme.h b/src/chatbubbleme.h new file mode 100644 index 0000000..86e9c6f --- /dev/null +++ b/src/chatbubbleme.h @@ -0,0 +1,22 @@ +#ifndef CHATBUBBLEME_H +#define CHATBUBBLEME_H + +#include + +namespace Ui { +class ChatBubbleMe; +} + +class ChatBubbleMe : public QWidget +{ + Q_OBJECT + +public: + explicit ChatBubbleMe(QWidget *parent = nullptr); + ~ChatBubbleMe(); + +private: + Ui::ChatBubbleMe *ui; +}; + +#endif // CHATBUBBLEME_H diff --git a/src/chatbubbleme.ui b/src/chatbubbleme.ui new file mode 100644 index 0000000..f35baaa --- /dev/null +++ b/src/chatbubbleme.ui @@ -0,0 +1,57 @@ + + + ChatBubbleMe + + + + 0 + 0 + 646 + 76 + + + + Form + + + QWidget{ + background: whitesmoke; + border: 1px solid #afafaf; + border-radius: 3px; +} +QLabel +{ + background: none; + border: none; +} + + + + + 10 + 30 + 611 + 41 + + + + Lorem ipsum dolor sit amet + + + + + + 10 + 10 + 611 + 17 + + + + 12/03/2020 12:34 + + + + + + diff --git a/src/chatbubblepartner.cpp b/src/chatbubblepartner.cpp new file mode 100644 index 0000000..690f608 --- /dev/null +++ b/src/chatbubblepartner.cpp @@ -0,0 +1,14 @@ +#include "chatbubblepartner.h" +#include "ui_chatbubblepartner.h" + +ChatBubblePartner::ChatBubblePartner(QWidget *parent) : + QWidget(parent), + ui(new Ui::ChatBubblePartner) +{ + ui->setupUi(this); +} + +ChatBubblePartner::~ChatBubblePartner() +{ + delete ui; +} diff --git a/src/chatbubblepartner.h b/src/chatbubblepartner.h new file mode 100644 index 0000000..feb950b --- /dev/null +++ b/src/chatbubblepartner.h @@ -0,0 +1,22 @@ +#ifndef CHATBUBBLEPARTNER_H +#define CHATBUBBLEPARTNER_H + +#include + +namespace Ui { +class ChatBubblePartner; +} + +class ChatBubblePartner : public QWidget +{ + Q_OBJECT + +public: + explicit ChatBubblePartner(QWidget *parent = nullptr); + ~ChatBubblePartner(); + +private: + Ui::ChatBubblePartner *ui; +}; + +#endif // CHATBUBBLEPARTNER_H diff --git a/src/chatbubblepartner.ui b/src/chatbubblepartner.ui new file mode 100644 index 0000000..4decec9 --- /dev/null +++ b/src/chatbubblepartner.ui @@ -0,0 +1,57 @@ + + + ChatBubblePartner + + + + 0 + 0 + 646 + 76 + + + + Form + + + QWidget{ + background: #c8e1ff; + border: 1px solid #fefefe; + border-radius: 3px; +} +QLabel +{ + background: none; + border: none; +} + + + + + 10 + 30 + 611 + 41 + + + + Lorem ipsum dolor sit amet + + + + + + 10 + 10 + 611 + 17 + + + + 12/03/2020 12:34 + + + + + + diff --git a/src/mainwindow.ui b/src/mainwindow.ui index f54a0a2..5ccfb7a 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1356,7 +1356,7 @@ 340 80 - 871 + 908 361 @@ -1379,7 +1379,7 @@ 357 483 - 851 + 891 128 @@ -1416,7 +1416,7 @@ - 1110 + 1150 460 91 17 @@ -1613,6 +1613,11 @@ + + MemoEdit + QPlainTextEdit +
memoedit.h
+
AddressCombo QComboBox @@ -1628,11 +1633,6 @@ QLabel
fillediconlabel.h
- - MemoEdit - QPlainTextEdit -
memoedit.h
-
Address1 From 8793d96e39c79d5b1ef77b8565a47b598a9ecef4 Mon Sep 17 00:00:00 2001 From: Strider Date: Sun, 26 Apr 2020 11:03:22 +0200 Subject: [PATCH 003/251] update// changed small things of chat tab --- src/mainwindow.ui | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 5ccfb7a..a43877e 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1360,6 +1360,9 @@ 361 + + QListView::Adjust + From 22cc12212002af83b68f254aedbd1b9d20898546 Mon Sep 17 00:00:00 2001 From: Strider Date: Sun, 26 Apr 2020 21:50:49 +0200 Subject: [PATCH 004/251] update// addec chatmodel.h chatmodel.cpp to realize the whole chat history --- silentdragon-lite.pro | 6 ++- src/chatmodel.cpp | 49 ++++++++++++++++++++++ src/chatmodel.h | 94 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 147 insertions(+), 2 deletions(-) create mode 100644 src/chatmodel.cpp create mode 100644 src/chatmodel.h diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index e8c50d5..b692159 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -67,7 +67,8 @@ SOURCES += \ src/liteinterface.cpp \ src/camount.cpp \ src/chatbubbleme.cpp \ - src/chatbubblepartner.cpp + src/chatbubblepartner.cpp \ + src/chatmodel.cpp HEADERS += \ src/firsttimewizard.h \ @@ -98,7 +99,8 @@ HEADERS += \ src/camount.h \ lib/silentdragonlitelib.h \ src/chatbubbleme.h \ - src/chatbubblepartner.h + src/chatbubblepartner.h \ + src/chatmodel.h FORMS += \ src/encryption.ui \ diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp new file mode 100644 index 0000000..b65bd4a --- /dev/null +++ b/src/chatmodel.cpp @@ -0,0 +1,49 @@ +#include "chatmodel.h" + +ChatModel::ChatModel(std::map chatItems) +{ + this->chatItems = chatItems; +} + +ChatModel::ChatModel(std::vector chatItems) +{ + this->setItems(chatItems); +} + +std::map ChatModel::getItems() +{ + return this->chatItems; +} + +void ChatModel::setItems(std::map items) +{ + this->chatItems = chatItems; +} + +void ChatModel::setItems(std::vector items) +{ + for(ChatItem c : items) + { + this->chatItems[c.getTimestamp()] = c; + } +} + +void ChatModel::renderChatBox(QListView &view) +{ + for(ChatItem c : items) + { + view.getItems().add(QString("[Timestamp] : lorem ipsum ....")); + } + + //todo render items to view +} + +void ChatModel::renderChatBox(QListView *view) +{ + for(ChatItem c : items) + { + view->getItems().add(QString("[Timestamp] : lorem ipsum ....")); + } + + //todo render items to view +} \ No newline at end of file diff --git a/src/chatmodel.h b/src/chatmodel.h new file mode 100644 index 0000000..5dd8904 --- /dev/null +++ b/src/chatmodel.h @@ -0,0 +1,94 @@ +#include +#include +#include +#include + +class ChatItem +{ + private: + long timestamp; + std::string address; + std::string contact; + std::string memo; + bool outgoing = false; + + public: + ChatItem() {} + ChatItem(long timestamp, std::string address, std::string contact, std::string memo); + ChatItem(long timestamp, std::string address, std::string contact, std::string memo, bool outgoing = false); + + long getTimestamp() + { + return this->timestamp; + } + + std::string getAddress() + { + return this->address; + } + + std::string getContact() + { + return this->contact; + } + + std::string getMemo() + { + return this->memo; + } + + bool isOutgoing() + { + return this->outgoing; + } + + void setTimestamp(long timestamp) + { + this->timestamp = timestamp; + } + + void setAddress(std::string address) + { + this->address = address; + } + + void setContact(std::string contact) + { + this->contact = contact; + } + + void setMemo(std::string memo) + { + this->memo = memo; + } + + void toggleOutgo() + { + this->outgoing = true; + } + + ~ChatItem() + { + delete timestamp; + delete address; + delete contact; + delete memo; + delete outgoing; + } +}; + +class ChatModel +{ + private: + std::map chatItems; + + public: + ChatModel() {}; + ChatModel(std::map chatItems); + ChatModel(std::vector chatItems); + std::map getItems(); + void setItems(std::map items); + void setItems(std::vector items); + void renderChatBox(QListView &view); + void renderChatBox(QListView *view); +}; \ No newline at end of file From 008d3fd6c2fbe22c68e188f076c70d1aab0d45bf Mon Sep 17 00:00:00 2001 From: Strider Date: Sun, 26 Apr 2020 22:28:27 +0200 Subject: [PATCH 005/251] update// fixed stuff --- src/chatmodel.cpp | 39 +++++++++++++++++++++++++++++++-------- src/chatmodel.h | 32 ++++++++++++++++++-------------- src/controller.cpp | 24 +++++++++++++++++++++++- src/controller.h | 3 +++ 4 files changed, 75 insertions(+), 23 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index b65bd4a..f6fbb84 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -28,22 +28,45 @@ void ChatModel::setItems(std::vector items) } } -void ChatModel::renderChatBox(QListView &view) +void ChatModel::clear() { - for(ChatItem c : items) + this->chatItems.clear(); +} + +void ChatModel::addMessage(ChatItem item) +{ + this->chatItems[item.getTimestamp()] = item; +} + +void ChatModel::addMessage(long timestamp, ChatItem item) +{ + this->chatItems[timestamp] = item; +} + +void ChatModel::showMessages() +{ + for(auto &c : this->chatItems) { - view.getItems().add(QString("[Timestamp] : lorem ipsum ....")); + qDebug() << "[" << c.second.getTimestamp() << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); } - +} + +void ChatModel::renderChatBox(QListView &view) +{ + /*for(auto &c : this->chatItems) + { + //view.getItems().add(QString("[Timestamp] : lorem ipsum ....")); + }*/ + qDebug() << "not implemented yet"; //todo render items to view } void ChatModel::renderChatBox(QListView *view) { - for(ChatItem c : items) + /*for(auto &c : this->chatItems) { - view->getItems().add(QString("[Timestamp] : lorem ipsum ....")); - } - + //view->getItems().add(QString("[Timestamp] : lorem ipsum ....")); + }*/ + qDebug() << "not implemented yet blyat"; //todo render items to view } \ No newline at end of file diff --git a/src/chatmodel.h b/src/chatmodel.h index 5dd8904..5a35db9 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -1,4 +1,4 @@ -#include +#include #include #include #include @@ -7,32 +7,32 @@ class ChatItem { private: long timestamp; - std::string address; - std::string contact; - std::string memo; + QString address; + QString contact; + QString memo; bool outgoing = false; public: ChatItem() {} - ChatItem(long timestamp, std::string address, std::string contact, std::string memo); - ChatItem(long timestamp, std::string address, std::string contact, std::string memo, bool outgoing = false); + ChatItem(long timestamp, QString address, QString contact, QString memo); + ChatItem(long timestamp, QString address, QString contact, QString memo, bool outgoing = false); long getTimestamp() { return this->timestamp; } - std::string getAddress() + QString getAddress() { return this->address; } - std::string getContact() + QString getContact() { return this->contact; } - std::string getMemo() + QString getMemo() { return this->memo; } @@ -47,17 +47,17 @@ class ChatItem this->timestamp = timestamp; } - void setAddress(std::string address) + void setAddress(QString address) { this->address = address; } - void setContact(std::string contact) + void setContact(QString contact) { this->contact = contact; } - void setMemo(std::string memo) + void setMemo(QString memo) { this->memo = memo; } @@ -69,11 +69,11 @@ class ChatItem ~ChatItem() { - delete timestamp; + /*delete timestamp; delete address; delete contact; delete memo; - delete outgoing; + delete outgoing;*/ } }; @@ -91,4 +91,8 @@ class ChatModel void setItems(std::vector items); void renderChatBox(QListView &view); void renderChatBox(QListView *view); + void showMessages(); + void clear(); + void addMessage(ChatItem item); + void addMessage(long timestamp, ChatItem item); }; \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 18a158e..0661b06 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -876,7 +876,18 @@ void Controller::refreshTransactions() QString memo; if (!o["memo"].is_null()) + { + ChatItem item = ChatItem( + datetime, + address, + QString(""), + memo, + true // is an outgoing message + ); + chatModel->addMessage(item); memo = QString::fromStdString(o["memo"]); + } + items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; @@ -913,6 +924,15 @@ void Controller::refreshTransactions() model->markAddressUsed(address); QString memo; if (!it["memo"].is_null()) + { + ChatItem item = ChatItem( + datetime, + address, + QString(""), + memo + ); + chatModel->addMessage(item); + } memo = QString::fromStdString(it["memo"]); items.push_back( @@ -958,7 +978,9 @@ void Controller::refreshTransactions() updateUIBalances(); // Update model data, which updates the table view - transactionsTableModel->replaceData(txdata); + transactionsTableModel->replaceData(txdata); + //chatModel->renderChatBox(); + chatModel->showMessages(); }); } diff --git a/src/controller.h b/src/controller.h index 29d5c0d..5071dee 100644 --- a/src/controller.h +++ b/src/controller.h @@ -11,9 +11,12 @@ #include "mainwindow.h" #include "liteinterface.h" #include "connection.h" +#include "chatmodel.h" using json = nlohmann::json; +ChatModel *chatModel = new ChatModel(); + struct WatchedTx { QString opid; Tx tx; From a8ee1c68be5999f2a3b03544100be27e3a4c4fb5 Mon Sep 17 00:00:00 2001 From: Strider Date: Mon, 27 Apr 2020 20:18:14 +0200 Subject: [PATCH 006/251] update// moved class to a normal variable instace --- src/chatmodel.h | 57 +++++++++++++++++++++++++++++++--------------- src/controller.cpp | 7 ++++-- src/controller.h | 2 -- 3 files changed, 44 insertions(+), 22 deletions(-) diff --git a/src/chatmodel.h b/src/chatmodel.h index 5a35db9..d44a35f 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -1,3 +1,5 @@ +#ifndef CHATMODEL_H +#define CHATMODEL_H #include #include #include @@ -6,65 +8,83 @@ class ChatItem { private: - long timestamp; - QString address; - QString contact; - QString memo; - bool outgoing = false; + long _timestamp; + QString _address; + QString _contact; + QString _memo; + bool _outgoing = false; public: ChatItem() {} - ChatItem(long timestamp, QString address, QString contact, QString memo); - ChatItem(long timestamp, QString address, QString contact, QString memo, bool outgoing = false); + + ChatItem(long timestamp, QString address, QString contact, QString memo) + { + _timestamp = timestamp; + _address = address; + _contact = contact; + _memo = memo; + _outgoing = false; + + } + + ChatItem(long timestamp, QString address, QString contact, QString memo, bool outgoing) + { + _timestamp = timestamp; + _address = address; + _contact = contact; + _memo = memo; + _outgoing = outgoing; + + } long getTimestamp() { - return this->timestamp; + return _timestamp; } QString getAddress() { - return this->address; + return _address; } QString getContact() { - return this->contact; + return _contact; } QString getMemo() { - return this->memo; + return _memo; } bool isOutgoing() { - return this->outgoing; + return _outgoing; } void setTimestamp(long timestamp) { - this->timestamp = timestamp; + _timestamp = timestamp; } void setAddress(QString address) { - this->address = address; + _address = address; } void setContact(QString contact) { - this->contact = contact; + _contact = contact; } void setMemo(QString memo) { - this->memo = memo; + _memo = memo; } void toggleOutgo() { - this->outgoing = true; + _outgoing = true; } ~ChatItem() @@ -95,4 +115,5 @@ class ChatModel void clear(); void addMessage(ChatItem item); void addMessage(long timestamp, ChatItem item); -}; \ No newline at end of file +}; +#endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 0661b06..b7c5dba 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -10,6 +10,7 @@ template<> DataStore* DataStore::instance = nullptr; template<> bool DataStore::instanced = false; +ChatModel *chatModel = new ChatModel(); using json = nlohmann::json; @@ -877,6 +878,7 @@ void Controller::refreshTransactions() QString memo; if (!o["memo"].is_null()) { + memo = QString::fromStdString(o["memo"]); ChatItem item = ChatItem( datetime, address, @@ -885,7 +887,7 @@ void Controller::refreshTransactions() true // is an outgoing message ); chatModel->addMessage(item); - memo = QString::fromStdString(o["memo"]); + } @@ -925,6 +927,7 @@ void Controller::refreshTransactions() QString memo; if (!it["memo"].is_null()) { + memo = QString::fromStdString(it["memo"]); ChatItem item = ChatItem( datetime, address, @@ -933,7 +936,7 @@ void Controller::refreshTransactions() ); chatModel->addMessage(item); } - memo = QString::fromStdString(it["memo"]); + items.push_back( TransactionItemDetail{ diff --git a/src/controller.h b/src/controller.h index 5071dee..a5f0fee 100644 --- a/src/controller.h +++ b/src/controller.h @@ -15,8 +15,6 @@ using json = nlohmann::json; -ChatModel *chatModel = new ChatModel(); - struct WatchedTx { QString opid; Tx tx; From fd7170cf2a6811411d32955f7d920dd5d63d7e52 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 27 Apr 2020 21:01:06 +0200 Subject: [PATCH 007/251] add switch to QListWidget for Chat --- src/mainwindow.ui | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index a43877e..700892d 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1328,7 +1328,7 @@ HushChat - + 0 @@ -1351,19 +1351,6 @@ <html><head/><body><p align="center">Contact</p></body></html> - - - - 340 - 80 - 908 - 361 - - - - QListView::Adjust - - @@ -1445,6 +1432,16 @@ <html><head/><body><p align="center">Messages</p></body></html> + + + + 340 + 80 + 921 + 371 + + + From b69297f9da79d15dfaa87c80c8ad18e83c68303f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 27 Apr 2020 21:04:11 +0200 Subject: [PATCH 008/251] rename QListWidget --- src/mainwindow.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 700892d..39e5e9e 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1432,7 +1432,7 @@ <html><head/><body><p align="center">Messages</p></body></html> - + 340 From b79334a497dbcca30f57bd5795d4931a88f660ff Mon Sep 17 00:00:00 2001 From: Strider Date: Mon, 27 Apr 2020 21:53:37 +0200 Subject: [PATCH 009/251] update// added chatmessages to chatwindow --- src/chatmodel.cpp | 27 ++++++++++++++++++++------- src/chatmodel.h | 6 +++--- src/controller.cpp | 10 ++++++++-- src/controller.h | 1 + src/mainwindow.cpp | 7 ++++++- src/mainwindow.h | 1 + src/mainwindow.ui | 2 +- 7 files changed, 40 insertions(+), 14 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index f6fbb84..e1962c9 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -51,7 +51,7 @@ void ChatModel::showMessages() } } -void ChatModel::renderChatBox(QListView &view) +void ChatModel::renderChatBox(QListWidget &view) { /*for(auto &c : this->chatItems) { @@ -61,12 +61,25 @@ void ChatModel::renderChatBox(QListView &view) //todo render items to view } -void ChatModel::renderChatBox(QListView *view) +void ChatModel::renderChatBox(QListWidget *view) { - /*for(auto &c : this->chatItems) + qDebug() << "called ChatModel::renderChatBox(QListWidget *view)"; + QString line = ""; + while(view->count() > 0) { - //view->getItems().add(QString("[Timestamp] : lorem ipsum ....")); - }*/ - qDebug() << "not implemented yet blyat"; - //todo render items to view + view->takeItem(0); + } + + for(auto &c : this->chatItems) + { + QDateTime myDateTime; + + myDateTime.setTime_t(c.second.getTimestamp()); + qDebug() << "[" << myDateTime.toString("dd.MM.yyyy hh:mm:ss ") << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); + line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); + line += QString("<") + QString(c.second.getAddress()) + QString("> :"); + line += QString(c.second.getMemo()); + view->addItem(line); + line =""; + } } \ No newline at end of file diff --git a/src/chatmodel.h b/src/chatmodel.h index d44a35f..56db136 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -3,7 +3,7 @@ #include #include #include -#include +#include class ChatItem { @@ -109,8 +109,8 @@ class ChatModel std::map getItems(); void setItems(std::map items); void setItems(std::vector items); - void renderChatBox(QListView &view); - void renderChatBox(QListView *view); + void renderChatBox(QListWidget &view); + void renderChatBox(QListWidget *view); void showMessages(); void clear(); void addMessage(ChatItem item); diff --git a/src/controller.cpp b/src/controller.cpp index b7c5dba..daace4e 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -982,11 +982,17 @@ void Controller::refreshTransactions() // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); - //chatModel->renderChatBox(); - chatModel->showMessages(); + chatModel->renderChatBox(ui->listChatMemo); + //chatModel->showMessages(); }); } +void Controller::refreshChat(QListWidget *listWidget) +{ + qDebug() << "Called Controller::refreshChat(QListWidget *listWidget)"; + chatModel->renderChatBox(listWidget); +} + // If the wallet is encrpyted and locked, we need to unlock it void Controller::unlockIfEncrypted(std::function cb, std::function error) { diff --git a/src/controller.h b/src/controller.h index a5f0fee..32d843b 100644 --- a/src/controller.h +++ b/src/controller.h @@ -71,6 +71,7 @@ public: void refreshGBPCAP(); void refreshAUDCAP(); + void refreshChat(QListWidget *listWidget); void executeStandardUITransaction(Tx tx); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 5352a95..b268750 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -900,7 +900,6 @@ void MainWindow::setupTransactionsTab() { // Set up context menu on transactions tab ui->transactionsTable->setContextMenuPolicy(Qt::CustomContextMenu); - // Table right click QObject::connect(ui->transactionsTable, &QTableView::customContextMenuRequested, [=] (QPoint pos) { QModelIndex index = ui->transactionsTable->indexAt(pos); @@ -983,6 +982,12 @@ void MainWindow::setupTransactionsTab() { }); } +void MainWindow::updateChat() +{ + qDebug() << "Called MainWindow::updateChat()"; + rpc->refreshChat(ui->listChatMemo); +} + void MainWindow::addNewZaddr(bool sapling) { rpc->createNewZaddr(sapling, [=] (json reply) { QString addr = QString::fromStdString(reply.get()[0]); diff --git a/src/mainwindow.h b/src/mainwindow.h index 50f833a..85f3595 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -85,6 +85,7 @@ private: void setupSendTab(); void setupTransactionsTab(); + void updateChat(); void setupReceiveTab(); void setupBalancesTab(); void setuphushdTab(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 39e5e9e..6e8dcfe 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1432,7 +1432,7 @@ <html><head/><body><p align="center">Messages</p></body></html> - + 340 From 38a1d6966aab880e2e21370423218149b96db005 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 27 Apr 2020 23:10:42 +0200 Subject: [PATCH 010/251] add sending ability for HushChat tab --- src/chatmodel.cpp | 205 ++++++++++++++++++++++++++++++++++++++++++++- src/chatmodel.h | 18 ++++ src/mainwindow.cpp | 1 + src/mainwindow.h | 7 +- src/mainwindow.ui | 42 ++++++---- 5 files changed, 253 insertions(+), 20 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index e1962c9..25e012d 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -1,4 +1,13 @@ #include "chatmodel.h" +#include "settings.h" +#include "ui_confirm.h" +#include "controller.h" +#include "mainwindow.h" +#include "ui_mainwindow.h" +#include "addressbook.h" +#include "ui_memodialog.h" + + ChatModel::ChatModel(std::map chatItems) { @@ -77,9 +86,203 @@ void ChatModel::renderChatBox(QListWidget *view) myDateTime.setTime_t(c.second.getTimestamp()); qDebug() << "[" << myDateTime.toString("dd.MM.yyyy hh:mm:ss ") << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); - line += QString("<") + QString(c.second.getAddress()) + QString("> :"); + line += QString("<") + QString(c.second.getAddress()) + QString("> :\n"); line += QString(c.second.getMemo()); view->addItem(line); line =""; } +} + +void MainWindow::setupchatTab() { + +// Send button + QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); + + } + +ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { + QObject::connect(this, &QPlainTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); +} + +void ChatMemoEdit::updateDisplay() { + QString txt = this->toPlainText(); + if (lenDisplayLabel) + lenDisplayLabel->setText(QString::number(txt.toUtf8().size()) + "/" + QString::number(maxlen)); + + if (txt.toUtf8().size() <= maxlen) { + // Everything is fine + if (sendChatButton) + sendChatButton->setEnabled(true); + + if (lenDisplayLabel) + lenDisplayLabel->setStyleSheet(""); + } + else { + // Overweight + if (sendChatButton) + sendChatButton->setEnabled(false); + + if (lenDisplayLabel) + lenDisplayLabel->setStyleSheet("color: red;"); + } +} + +void ChatMemoEdit::setMaxLen(int len) { + this->maxlen = len; + updateDisplay(); +} + +void ChatMemoEdit::setLenDisplayLabel(QLabel* label) { + this->lenDisplayLabel = label; +} + +void ChatMemoEdit::setSendChatButton(QPushButton* button) { + this->sendChatButton = button; +} + +// Create a Tx from the current state of the Chat page. +Tx MainWindow::createTxFromChatPage() { + Tx tx; + CAmount totalAmt; + // For each addr/amt in the Chat tab + { + QString addr = ""; // We need to set the reply Address for our Contact here + // Remove label if it exists + addr = AddressBook::addressFromAddressLabel(addr); + + QString amtStr = "0.00001"; + + // bool ok; + CAmount amt; + + + amt = CAmount::fromDecimalString("0.00001"); + totalAmt = totalAmt + amt; + + + QString memo = ui->memoTxtChat->toPlainText().trimmed(); + //ui->chatmemoSize->setLenDisplayLabel() + + + tx.toAddrs.push_back(ToFields{addr, amt, memo,}) ; + + qDebug() << "pushback chattx"; + } + + tx.fee = Settings::getMinerFee(); + + return tx; + + qDebug() << "ChatTx created"; +} + +void MainWindow::sendChatButton() { + // Create a Tx from the values on the send tab. Note that this Tx object + // might not be valid yet. + + // Memos can only be used with zAddrs. So check that first + //auto addr = "zs1fllv4hgrjddnz2yz5dng9kchcg3wkhs0j2v5v3nc89w3r3kntkgq2sefcz2a9k2ycc8f6t0gm2q"; + // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { + // QMessageBox msg(QMessageBox::Critical, tr("Memos can only be used with z-addresses"), + // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), + // QMessageBox::Ok, this); + + // msg.exec(); + //return; + //} + + Tx tx = createTxFromChatPage(); + + QString error = doSendChatTxValidations(tx); + + if (!error.isEmpty()) { + // Something went wrong, so show an error and exit + QMessageBox msg(QMessageBox::Critical, tr("Message Error"), error, + QMessageBox::Ok, this); + + msg.exec(); + + // abort the Tx + return; + qDebug() << "Tx aborted"; + } + + // Create a new Dialog to show that we are computing/sending the Tx + auto d = new QDialog(this); + auto connD = new Ui_ConnectionDialog(); + connD->setupUi(d); + QPixmap logo(":/img/res/logobig.gif"); + connD->topIcon->setBasePixmap(logo.scaled(256, 256, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + + connD->status->setText(tr("Please wait...")); + connD->statusDetail->setText(tr("Your Message will be send")); + + d->show(); + + // And send the Tx + rpc->executeTransaction(tx, + [=] (QString txid) { + ui->statusBar->showMessage(Settings::txidStatusMessage + " " + txid); + + connD->status->setText(tr("Done!")); + connD->statusDetail->setText(txid); + + QTimer::singleShot(1000, [=]() { + d->accept(); + d->close(); + delete connD; + delete d; + + }); + + // Force a UI update so we get the unconfirmed Tx + rpc->refresh(true); + + }, + // Errored out + [=] (QString opid, QString errStr) { + ui->statusBar->showMessage(QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000); + + d->accept(); + d->close(); + delete connD; + delete d; + + if (!opid.isEmpty()) + errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; + + QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); + } + ); + } + + +QString MainWindow::doSendChatTxValidations(Tx tx) { + // Check to see if we have enough verified funds to send the Tx. + + CAmount total; + for (auto toAddr : tx.toAddrs) { + if (!Settings::isValidAddress(toAddr.addr)) { + QString addr = (toAddr.addr.length() > 100 ? toAddr.addr.left(100) + "..." : toAddr.addr); + return QString(tr("Recipient Address ")) % addr % tr(" is Invalid"); + } + + // This technically shouldn't be possible, but issue #62 seems to have discovered a bug + // somewhere, so just add a check to make sure. + if (toAddr.amount.toqint64() < 0) { + return QString(tr("Amount for address '%1' is invalid!").arg(toAddr.addr)); + } + + total = total + toAddr.amount; + } + total = total + tx.fee; + + auto available = rpc->getModel()->getAvailableBalance(); + + if (available < total) { + return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 5 confirmations before they can be spent") + .arg(available.toDecimalhushString(), total.toDecimalhushString()); + } + + return ""; } \ No newline at end of file diff --git a/src/chatmodel.h b/src/chatmodel.h index 56db136..e893acf 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -116,4 +116,22 @@ class ChatModel void addMessage(ChatItem item); void addMessage(long timestamp, ChatItem item); }; + +class ChatMemoEdit : public QPlainTextEdit +{ +public: + ChatMemoEdit(QWidget* parent); + + void setMaxLen(int len); + void setLenDisplayLabel(QLabel* label); + void setSendChatButton(QPushButton* button); + void includeReplyTo(QString replyToAddress); + void updateDisplay(); + +private: + int maxlen = 512; + QLabel* lenDisplayLabel = nullptr; + QPushButton* sendChatButton = nullptr; +}; + #endif \ No newline at end of file diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b268750..b17f086 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -152,6 +152,7 @@ MainWindow::MainWindow(QWidget *parent) : setupReceiveTab(); setupBalancesTab(); setuphushdTab(); + setupchatTab(); rpc = new Controller(this); diff --git a/src/mainwindow.h b/src/mainwindow.h index 85f3595..17194b4 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -47,6 +47,7 @@ public: QRegExpValidator* getAmountValidator() { return amtValidator; } QString doSendTxValidations(Tx tx); + QString doSendChatTxValidations(Tx tx); void replaceWormholeClient(WormholeClient* newClient); bool isWebsocketListening(); @@ -85,10 +86,11 @@ private: void setupSendTab(); void setupTransactionsTab(); - void updateChat(); void setupReceiveTab(); void setupBalancesTab(); void setuphushdTab(); + void setupchatTab(); + void updateChat(); void setupSettingsModal(); void setupStatusBar(); @@ -98,11 +100,14 @@ private: Tx createTxFromSendPage(); bool confirmTx(Tx tx, RecurringPaymentInfo* rpi); + Tx createTxFromChatPage(); + void encryptWallet(); void removeWalletEncryption(); void cancelButton(); void sendButton(); + void sendChatButton(); void addAddressSection(); void maxAmountChecked(int checked); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 6e8dcfe..6d493af 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1367,9 +1367,9 @@ - 357 + 347 483 - 891 + 901 128 @@ -1387,22 +1387,6 @@ Include Reply Address - - - - 692 - 618 - 189 - 25 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - @@ -1442,6 +1426,28 @@ + + + + 1130 + 620 + 114 + 25 + + + + + 100 + 0 + + + + Send + + + false + + From ec5057e4ce2e73138c5936bf0e2839f2a5134f77 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 27 Apr 2020 23:12:43 +0200 Subject: [PATCH 011/251] set amt to 0 for HushChat Memos --- src/chatmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 25e012d..e3374f1 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -150,7 +150,7 @@ Tx MainWindow::createTxFromChatPage() { // Remove label if it exists addr = AddressBook::addressFromAddressLabel(addr); - QString amtStr = "0.00001"; + QString amtStr = "0"; // bool ok; CAmount amt; From 2efec07e42cf107a8e4cdc219ffe9e2c5922794c Mon Sep 17 00:00:00 2001 From: Strider Date: Tue, 28 Apr 2020 20:24:50 +0200 Subject: [PATCH 012/251] update// refactored addressbook with new storage format --- compile.log | 5 +++ src/addressbook.cpp | 98 +++++++++++++++++++++++++++++--------------- src/addressbook.h | 17 ++++---- src/chatmodel.cpp | 4 +- src/contactmodel.cpp | 9 ++++ src/contactmodel.h | 68 ++++++++++++++++++++++++++++++ src/controller.cpp | 1 + src/controller.h | 1 + src/mainwindow.cpp | 4 +- src/sendtab.cpp | 2 +- 10 files changed, 165 insertions(+), 44 deletions(-) create mode 100644 compile.log create mode 100644 src/contactmodel.cpp create mode 100644 src/contactmodel.h diff --git a/compile.log b/compile.log new file mode 100644 index 0000000..6c6584f --- /dev/null +++ b/compile.log @@ -0,0 +1,5 @@ +Compiling SilentDragonLite 1.2.2 with 4 threads... +g++ -c -include bin/SilentDragonLite -pipe -g -std=gnu++1y -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQAPPLICATION_CLASS=QApplication -D_FORTIFY_SOURCE=2 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Isrc/3rdparty -Isrc -Isingleapplication -Ires -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebSockets -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Ibin -Isrc -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o bin/mainwindow.o src/mainwindow.cpp +g++ -c -include bin/SilentDragonLite -pipe -g -std=gnu++1y -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQAPPLICATION_CLASS=QApplication -D_FORTIFY_SOURCE=2 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Isrc/3rdparty -Isrc -Isingleapplication -Ires -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebSockets -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Ibin -Isrc -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o bin/sendtab.o src/sendtab.cpp +g++ -c -include bin/SilentDragonLite -pipe -g -std=gnu++1y -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQAPPLICATION_CLASS=QApplication -D_FORTIFY_SOURCE=2 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Isrc/3rdparty -Isrc -Isingleapplication -Ires -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebSockets -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Ibin -Isrc -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o bin/addressbook.o src/addressbook.cpp +g++ -c -include bin/SilentDragonLite -pipe -g -std=gnu++1y -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQAPPLICATION_CLASS=QApplication -D_FORTIFY_SOURCE=2 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Isrc/3rdparty -Isrc -Isingleapplication -Ires -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebSockets -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Ibin -Isrc -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o bin/addresscombo.o src/addresscombo.cpp diff --git a/src/addressbook.cpp b/src/addressbook.cpp index a00a355..060b5ca 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -38,10 +38,10 @@ void AddressBookModel::loadData() ); } -void AddressBookModel::addNewLabel(QString label, QString addr) +void AddressBookModel::addNewLabel(QString label, QString addr, QString myAddr) { //labels.push_back(QPair(label, addr)); - AddressBook::getInstance()->addAddressLabel(label, addr); + AddressBook::getInstance()->addAddressLabel(label, addr, myAddr); labels.clear(); labels = AddressBook::getInstance()->getAllAddressLabels(); dataChanged(index(0, 0), index(labels.size()-1, columnCount(index(0,0))-1)); @@ -53,22 +53,27 @@ void AddressBookModel::removeItemAt(int row) if (row >= labels.size()) return; - AddressBook::getInstance()->removeAddressLabel(labels[row].first, labels[row].second); + AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress()); labels.clear(); labels = AddressBook::getInstance()->getAllAddressLabels(); dataChanged(index(0, 0), index(labels.size()-1, columnCount(index(0,0))-1)); layoutChanged(); } -QPair AddressBookModel::itemAt(int row) +ContactItem AddressBookModel::itemAt(int row) { - if (row >= labels.size()) - return QPair(); + if (row >= labels.size()) + { + ContactItem item = ContactItem("", "", ""); + return item; + } + return labels.at(row); } + int AddressBookModel::rowCount(const QModelIndex&) const { return labels.size(); @@ -86,8 +91,8 @@ QVariant AddressBookModel::data(const QModelIndex &index, int role) const { switch(index.column()) { - case 0: return labels.at(index.row()).first; - case 1: return labels.at(index.row()).second; + case 0: return labels.at(index.row()).getName(); + case 1: return labels.at(index.row()).getPartnerAddress(); } } @@ -171,7 +176,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) return; } - model.addNewLabel(newLabel, ab.addr->text()); + model.addNewLabel(newLabel, ab.addr->text(), ""); }); // Import Button @@ -209,7 +214,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) continue; // Add label, address. - model.addNewLabel(items.at(1), items.at(0)); + model.addNewLabel(items.at(1), items.at(0), ""); numImported++; } @@ -233,8 +238,8 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) if (index.row() < 0) return; - QString lbl = model.itemAt(index.row()).first; - QString addr = model.itemAt(index.row()).second; + QString lbl = model.itemAt(index.row()).getName(); + QString addr = model.itemAt(index.row()).getPartnerAddress(); d.accept(); fnSetTargetLabelAddr(target, lbl, addr); }); @@ -246,8 +251,8 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) if (index.row() < 0) return; - QString lbl = model.itemAt(index.row()).first; - QString addr = model.itemAt(index.row()).second; + QString lbl = model.itemAt(index.row()).getName(); + QString addr = model.itemAt(index.row()).getPartnerAddress(); QMenu menu(parent); @@ -273,7 +278,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) auto selection = ab.addresses->selectionModel(); if (selection && selection->hasSelection() && selection->selectedRows().size() > 0) { auto item = model.itemAt(selection->selectedRows().at(0).row()); - fnSetTargetLabelAddr(target, item.first, item.second); + fnSetTargetLabelAddr(target, item.getName(), item.getPartnerAddress()); } }; @@ -307,15 +312,35 @@ void AddressBook::readFromStorage() file.open(QIODevice::ReadOnly); QDataStream in(&file); // read the data serialized from the file QString version; - in >> version >> allLabels; + in >> version; + qDebug() << "Detected old addressbook format"; + // Convert old addressbook format v1 to v2 + QList> stuff; + in >> stuff; + qDebug() << "Stuff: " << stuff; + for (int i=0; i < stuff.size(); i++) + { + //qDebug() << "0:" << stuff[i][0]; + //qDebug() << "1:" << stuff[i][1]; + //qDebug() << "2:" << stuff[i][2]; + ContactItem contact = ContactItem(stuff[i][2], stuff[i][1], stuff[i][0]); + qDebug() << "contact=" << contact.toQTString(); + allLabels.push_back(contact); + } + + qDebug() << "Read " << version << " Hush contacts from disk..."; file.close(); } + else + { + qDebug() << "No Hush contacts found on disk!"; + } // Special. // Add the default silentdragon donation address if it isn't already present // QList allAddresses; // std::transform(allLabels.begin(), allLabels.end(), - // std::back_inserter(allAddresses), [=] (auto i) { return i.second; }); + // std::back_inserter(allAddresses), [=] (auto i) { return i.getPartnerAddress(); }); // if (!allAddresses.contains(Settings::getDonationAddr(true))) { // allLabels.append(QPair("silentdragon donation", Settings::getDonationAddr(true))); // } @@ -326,7 +351,16 @@ void AddressBook::writeToStorage() QFile file(AddressBook::writeableFile()); file.open(QIODevice::ReadWrite | QIODevice::Truncate); QDataStream out(&file); // we will serialize the data into the file - out << QString("v1") << allLabels; + QList> contacts; + for(auto &item: allLabels) + { + QList c; + c.push_back(item.getName()); + c.push_back(item.getPartnerAddress()); + c.push_back(item.getMyAddress()); + contacts.push_back(c); + } + out << QString("v1") << contacts; file.close(); } @@ -346,17 +380,17 @@ QString AddressBook::writeableFile() // Add a new address/label to the database -void AddressBook::addAddressLabel(QString label, QString address) +void AddressBook::addAddressLabel(QString label, QString address, QString myAddr) { Q_ASSERT(Settings::isValidAddress(address)); - - // First, remove any existing label + // getName(), remove any existing label // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) - if (allLabels[i].first == label) - removeAddressLabel(allLabels[i].first, allLabels[i].second); + if (allLabels[i].getName() == label) + removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress()); - allLabels.push_back(QPair(label, address)); + ContactItem item = ContactItem(myAddr, address, label); + allLabels.push_back(item); writeToStorage(); } @@ -366,7 +400,7 @@ void AddressBook::removeAddressLabel(QString label, QString address) // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) { - if (allLabels[i].first == label && allLabels[i].second == address) + if (allLabels[i].getName() == label && allLabels[i].getPartnerAddress() == address) { allLabels.removeAt(i); writeToStorage(); @@ -380,9 +414,9 @@ void AddressBook::updateLabel(QString oldlabel, QString address, QString newlabe // Iterate over the list and update the label/address for (int i = 0; i < allLabels.size(); i++) { - if (allLabels[i].first == oldlabel && allLabels[i].second == address) + if (allLabels[i].getName() == oldlabel && allLabels[i].getPartnerAddress() == address) { - allLabels[i].first = newlabel; + allLabels[i].setName(newlabel); writeToStorage(); return; } @@ -390,7 +424,7 @@ void AddressBook::updateLabel(QString oldlabel, QString address, QString newlabe } // Read all addresses -const QList>& AddressBook::getAllAddressLabels() +const QList& AddressBook::getAllAddressLabels() { if (allLabels.isEmpty()) readFromStorage(); @@ -402,8 +436,8 @@ const QList>& AddressBook::getAllAddressLabels() QString AddressBook::getLabelForAddress(QString addr) { for (auto i : allLabels) - if (i.second == addr) - return i.first; + if (i.getPartnerAddress() == addr) + return i.getName(); return ""; } @@ -412,8 +446,8 @@ QString AddressBook::getLabelForAddress(QString addr) QString AddressBook::getAddressForLabel(QString label) { for (auto i: allLabels) - if (i.first == label) - return i.second; + if (i.getName() == label) + return i.getPartnerAddress(); return ""; } diff --git a/src/addressbook.h b/src/addressbook.h index af64c07..13ba606 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -2,6 +2,7 @@ #define ADDRESSBOOK_H #include "precompiled.h" +#include "contactmodel.h" class MainWindow; @@ -10,10 +11,11 @@ class AddressBookModel : public QAbstractTableModel { public: AddressBookModel(QTableView* parent); ~AddressBookModel(); - - void addNewLabel(QString label, QString addr); + + void addNewLabel(QString label, QString address, QString myAddr); void removeItemAt(int row); - QPair itemAt(int row); + //QPair itemAt(int row); + ContactItem itemAt(int row); int rowCount(const QModelIndex &parent) const; int columnCount(const QModelIndex &parent) const; @@ -25,7 +27,8 @@ private: void saveData(); QTableView* parent; - QList> labels; + //QList> labels; + QList labels; QStringList headers; }; @@ -39,7 +42,7 @@ public: static QString addressFromAddressLabel(const QString& lblAddr); // Add a new address/label to the database - void addAddressLabel(QString label, QString address); + void addAddressLabel(QString label, QString address, QString myAddr); // Remove a new address/label from the database void removeAddressLabel(QString label, QString address); @@ -48,7 +51,7 @@ public: void updateLabel(QString oldlabel, QString address, QString newlabel); // Read all addresses - const QList>& getAllAddressLabels(); + const QList& getAllAddressLabels(); // Get an address's first label QString getLabelForAddress(QString address); @@ -61,7 +64,7 @@ private: void writeToStorage(); QString writeableFile(); - QList> allLabels; + QList allLabels; static AddressBook* instance; }; diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index e3374f1..1561d4e 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -86,8 +86,8 @@ void ChatModel::renderChatBox(QListWidget *view) myDateTime.setTime_t(c.second.getTimestamp()); qDebug() << "[" << myDateTime.toString("dd.MM.yyyy hh:mm:ss ") << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); - line += QString("<") + QString(c.second.getAddress()) + QString("> :\n"); - line += QString(c.second.getMemo()); + line += QString("<") + QString(c.second.getContact()) + QString("> :\n"); + line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; } diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp new file mode 100644 index 0000000..60df97b --- /dev/null +++ b/src/contactmodel.cpp @@ -0,0 +1,9 @@ +#include "contactmodel.h" + +void ContactModel::renderContactList(QListWidget* view) +{ + for(auto &c : this->_contacts) + { + view->addItem(c.getName()); + } +} \ No newline at end of file diff --git a/src/contactmodel.h b/src/contactmodel.h new file mode 100644 index 0000000..d1ce239 --- /dev/null +++ b/src/contactmodel.h @@ -0,0 +1,68 @@ +#ifndef CONTACTMODEL_H +#define CONTACTMODEL_H + +#include +#include +#include + +class ContactItem +{ + private: + QString _myAddress; + QString _partnerAddress; + QString _name; + + public: + ContactItem(); + ContactItem(QString myAddress, QString partnerAddress, QString name) + { + _myAddress = myAddress; + _partnerAddress = partnerAddress; + _name = name; + } + + QString getName() const + { + return _name; + } + + QString getMyAddress() const + { + return _myAddress; + } + + QString getPartnerAddress() const + { + return _partnerAddress; + } + + void setName(QString name) + { + _name = name; + } + + void setMyAddress(QString myAddress) + { + _myAddress = myAddress; + } + + void setPartnerAddress(QString partnerAddress) + { + _partnerAddress = partnerAddress; + } + + QString toQTString() + { + return _name + "|" + _partnerAddress + "|" + _myAddress; + } + +}; + +class ContactModel +{ + public: + ContactModel() {} + void renderContactList(QListWidget* view); +}; + +#endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index daace4e..24560e3 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -11,6 +11,7 @@ DataStore* DataStore::instance = nullptr; template<> bool DataStore::instanced = false; ChatModel *chatModel = new ChatModel(); +ContactModel *contactModel = new ContactModel(); using json = nlohmann::json; diff --git a/src/controller.h b/src/controller.h index 32d843b..7684863 100644 --- a/src/controller.h +++ b/src/controller.h @@ -12,6 +12,7 @@ #include "liteinterface.h" #include "connection.h" #include "chatmodel.h" +#include "contactmodel.h" using json = nlohmann::json; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b17f086..b243a6f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1241,7 +1241,7 @@ void MainWindow::setupReceiveTab() { } else if (curLabel.isEmpty() && !label.isEmpty()) { info = "Added Label '" % label % "'"; - AddressBook::getInstance()->addAddressLabel(label, addr); + AddressBook::getInstance()->addAddressLabel(label, addr, ""); } // Update labels everywhere on the UI @@ -1291,7 +1291,7 @@ void MainWindow::updateTAddrCombo(bool checked) { auto allTaddrs = this->rpc->getModel()->getAllTAddresses(); QSet labels; for (auto p : AddressBook::getInstance()->getAllAddressLabels()) { - labels.insert(p.second); + labels.insert(p.getPartnerAddress()); } std::for_each(allTaddrs.begin(), allTaddrs.end(), [=, &addrs] (auto& taddr) { // If the address is in the address book, add it. diff --git a/src/sendtab.cpp b/src/sendtab.cpp index 3fc5510..6d4ba38 100644 --- a/src/sendtab.cpp +++ b/src/sendtab.cpp @@ -207,7 +207,7 @@ void MainWindow::updateLabelsAutoComplete() { auto labels = AddressBook::getInstance()->getAllAddressLabels(); std::transform(labels.begin(), labels.end(), std::back_inserter(list), [=] (auto la) -> QString { - return la.first % "/" % la.second; + return la.getName() % "/" % la.getPartnerAddress(); }); delete labelCompleter; From 555ac40ec28d9e9b239e2cdda083e9dba0d3146f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 28 Apr 2020 20:32:31 +0200 Subject: [PATCH 013/251] Add Headermemo, work in Progress --- src/chatmodel.cpp | 74 ++++++++++++++++------------------------------ src/chatmodel.h | 18 +---------- src/mainwindow.cpp | 48 ++++++++++++++++++++++++++++++ src/mainwindow.h | 18 +++++++++++ src/mainwindow.ui | 8 ----- 5 files changed, 93 insertions(+), 73 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 1561d4e..b799abd 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -6,6 +6,8 @@ #include "ui_mainwindow.h" #include "addressbook.h" #include "ui_memodialog.h" +#include "addressbook.h" +#include @@ -93,51 +95,23 @@ void ChatModel::renderChatBox(QListWidget *view) } } -void MainWindow::setupchatTab() { - -// Send button - QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); - - } - -ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { - QObject::connect(this, &QPlainTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); -} - -void ChatMemoEdit::updateDisplay() { - QString txt = this->toPlainText(); - if (lenDisplayLabel) - lenDisplayLabel->setText(QString::number(txt.toUtf8().size()) + "/" + QString::number(maxlen)); - - if (txt.toUtf8().size() <= maxlen) { - // Everything is fine - if (sendChatButton) - sendChatButton->setEnabled(true); - - if (lenDisplayLabel) - lenDisplayLabel->setStyleSheet(""); - } - else { - // Overweight - if (sendChatButton) - sendChatButton->setEnabled(false); - - if (lenDisplayLabel) - lenDisplayLabel->setStyleSheet("color: red;"); - } -} - -void ChatMemoEdit::setMaxLen(int len) { - this->maxlen = len; - updateDisplay(); -} - -void ChatMemoEdit::setLenDisplayLabel(QLabel* label) { - this->lenDisplayLabel = label; -} - -void ChatMemoEdit::setSendChatButton(QPushButton* button) { - this->sendChatButton = button; +QString MainWindow::createHeaderMemo(QString cid, QString zaddr, int version=0, int headerNumber=1) +{ + QString header=""; + QJsonDocument j; + QJsonObject h; + // We use short keynames to use less space for metadata and so allow + // the user to send more actual data in memos + h["h"] = headerNumber; // header number + h["v"] = version; // HushChat version + h["z"] = zaddr; // zaddr to respond to + h["cid"] = cid; // conversation id + + j.setObject(h); + header = j.toJson(); + qDebug() << "made header=" << header; + + return header; } // Create a Tx from the current state of the Chat page. @@ -158,13 +132,17 @@ Tx MainWindow::createTxFromChatPage() { amt = CAmount::fromDecimalString("0.00001"); totalAmt = totalAmt + amt; - + QString cid = QString::number( time(NULL) % std::rand() ); // low entropy for testing! + // QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // Needs to get a fix + QString hmemo= createHeaderMemo(cid,"ZADDR"); QString memo = ui->memoTxtChat->toPlainText().trimmed(); - //ui->chatmemoSize->setLenDisplayLabel() + // ui->memoSizeChat->setLenDisplayLabel(); - tx.toAddrs.push_back(ToFields{addr, amt, memo,}) ; + tx.toAddrs.push_back(ToFields{addr, amt, hmemo.toUtf8().toHex()}) ; + qDebug()< #include #include +#include "precompiled.h" class ChatItem { @@ -117,21 +118,4 @@ class ChatModel void addMessage(long timestamp, ChatItem item); }; -class ChatMemoEdit : public QPlainTextEdit -{ -public: - ChatMemoEdit(QWidget* parent); - - void setMaxLen(int len); - void setLenDisplayLabel(QLabel* label); - void setSendChatButton(QPushButton* button); - void includeReplyTo(QString replyToAddress); - void updateDisplay(); - -private: - int maxlen = 512; - QLabel* lenDisplayLabel = nullptr; - QPushButton* sendChatButton = nullptr; -}; - #endif \ No newline at end of file diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b243a6f..a6af0d0 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -983,6 +983,54 @@ void MainWindow::setupTransactionsTab() { }); } +void MainWindow::setupchatTab() { + +// Send button + QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); + + } + +ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { + QObject::connect(this, &QPlainTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); +} + +void ChatMemoEdit::updateDisplay() { + QString txt = this->toPlainText(); + if (lenDisplayLabel) + lenDisplayLabel->setText(QString::number(txt.toUtf8().size()) + "/" + QString::number(maxlen)); + + if (txt.toUtf8().size() <= maxlen) { + // Everything is fine + if (sendChatButton) + sendChatButton->setEnabled(true); + + if (lenDisplayLabel) + lenDisplayLabel->setStyleSheet(""); + } + else { + // Overweight + if (sendChatButton) + sendChatButton->setEnabled(false); + + if (lenDisplayLabel) + lenDisplayLabel->setStyleSheet("color: red;"); + } +} + +void ChatMemoEdit::setMaxLen(int len) { + this->maxlen = len; + updateDisplay(); +} + +void ChatMemoEdit::setLenDisplayLabel(QLabel* label_40) { + this->lenDisplayLabel = label_40; +} + +void ChatMemoEdit::setSendChatButton(QPushButton* button) { + this->sendChatButton = button; +} + + void MainWindow::updateChat() { qDebug() << "Called MainWindow::updateChat()"; diff --git a/src/mainwindow.h b/src/mainwindow.h index 17194b4..6ce5fd5 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -76,6 +76,7 @@ public: Logger* logger; void doClose(); + QString createHeaderMemo(QString cid, QString zaddr, int version, int headerNumnber); public slots: void slot_change_theme(const QString& themeName); @@ -153,4 +154,21 @@ private: QMovie* loadingMovie; }; +class ChatMemoEdit : public QPlainTextEdit +{ +public: + ChatMemoEdit(QWidget* parent); + + void setMaxLen(int len); + void setLenDisplayLabel(QLabel* label_40); + void setSendChatButton(QPushButton* button); + void includeReplyTo(QString replyToAddress); + void updateDisplay(); + +private: + int maxlen = 512; + QLabel* lenDisplayLabel = nullptr; + QPushButton* sendChatButton = nullptr; +}; + #endif // MAINWINDOW_H diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 6d493af..f08d9be 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1388,14 +1388,6 @@ - - - 1150 - 460 - 91 - 17 - - 0 / 512 From 08fdee2557a20001712fc10bd5ddb7837ae29808 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 28 Apr 2020 20:34:44 +0200 Subject: [PATCH 014/251] set amt 0 for HushChat Memo --- src/chatmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index b799abd..0cec51a 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -130,7 +130,7 @@ Tx MainWindow::createTxFromChatPage() { CAmount amt; - amt = CAmount::fromDecimalString("0.00001"); + amt = CAmount::fromDecimalString("0"); totalAmt = totalAmt + amt; QString cid = QString::number( time(NULL) % std::rand() ); // low entropy for testing! // QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // Needs to get a fix From 30edee0470e7463b8824ef601ff079e6ac1e4a3a Mon Sep 17 00:00:00 2001 From: Strider Date: Tue, 28 Apr 2020 22:05:40 +0200 Subject: [PATCH 015/251] update// added rederfcuntion to contactlist (causes segfaul on compiling) --- silentdragon-lite.pro | 6 ++++-- src/addressbook.cpp | 29 +++++++++++++++++++++++++---- src/addressbook.h | 1 + src/chatmodel.cpp | 2 +- src/contactmodel.cpp | 3 ++- src/controller.cpp | 11 +++++++++-- src/controller.h | 1 + src/mainwindow.cpp | 7 ++++++- src/mainwindow.h | 1 + 9 files changed, 50 insertions(+), 11 deletions(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index b692159..c76b209 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -68,7 +68,8 @@ SOURCES += \ src/camount.cpp \ src/chatbubbleme.cpp \ src/chatbubblepartner.cpp \ - src/chatmodel.cpp + src/chatmodel.cpp \ + src/contactmodel.cpp HEADERS += \ src/firsttimewizard.h \ @@ -100,7 +101,8 @@ HEADERS += \ lib/silentdragonlitelib.h \ src/chatbubbleme.h \ src/chatbubblepartner.h \ - src/chatmodel.h + src/chatmodel.h \ + src/contactmodel.h FORMS += \ src/encryption.ui \ diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 060b5ca..6ed874c 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -42,6 +42,12 @@ void AddressBookModel::addNewLabel(QString label, QString addr, QString myAddr) { //labels.push_back(QPair(label, addr)); AddressBook::getInstance()->addAddressLabel(label, addr, myAddr); + updateUi(); + +} + +void AddressBookModel::updateUi() +{ labels.clear(); labels = AddressBook::getInstance()->getAllAddressLabels(); dataChanged(index(0, 0), index(labels.size()-1, columnCount(index(0,0))-1)); @@ -175,8 +181,22 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) ); return; } - - model.addNewLabel(newLabel, ab.addr->text(), ""); + Controller* rpc = parent->getRPC(); + bool sapling = true; + rpc->createNewZaddr(sapling, [=] (json reply) { + QString myAddr = QString::fromStdString(reply.get()[0]); + QString message = QString("New Chat Address for your partner: ") + myAddr; + QMessageBox::critical( + parent, + QObject::tr("Success"), + message, //todo traslate this shit + QMessageBox::Ok + ); + qDebug() << "new generated myAddr" << myAddr; + AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), myAddr); + }); + model.updateUi(); //todo fix updating gui after adding + }); // Import Button @@ -284,6 +304,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) // Refresh after the dialog is closed to update the labels everywhere. parent->getRPC()->refresh(true); + model.updateUi(); //todo fix updating gui after adding } //============= @@ -317,14 +338,14 @@ void AddressBook::readFromStorage() // Convert old addressbook format v1 to v2 QList> stuff; in >> stuff; - qDebug() << "Stuff: " << stuff; + //qDebug() << "Stuff: " << stuff; for (int i=0; i < stuff.size(); i++) { //qDebug() << "0:" << stuff[i][0]; //qDebug() << "1:" << stuff[i][1]; //qDebug() << "2:" << stuff[i][2]; ContactItem contact = ContactItem(stuff[i][2], stuff[i][1], stuff[i][0]); - qDebug() << "contact=" << contact.toQTString(); + //qDebug() << "contact=" << contact.toQTString(); allLabels.push_back(contact); } diff --git a/src/addressbook.h b/src/addressbook.h index 13ba606..fc3d4b9 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -13,6 +13,7 @@ public: ~AddressBookModel(); void addNewLabel(QString label, QString address, QString myAddr); + void updateUi(); void removeItemAt(int row); //QPair itemAt(int row); ContactItem itemAt(int row); diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 1561d4e..5bb9718 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -84,7 +84,7 @@ void ChatModel::renderChatBox(QListWidget *view) QDateTime myDateTime; myDateTime.setTime_t(c.second.getTimestamp()); - qDebug() << "[" << myDateTime.toString("dd.MM.yyyy hh:mm:ss ") << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); + //qDebug() << "[" << myDateTime.toString("dd.MM.yyyy hh:mm:ss ") << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString(c.second.getContact()) + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 60df97b..ad6a8fb 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -1,8 +1,9 @@ #include "contactmodel.h" +#include "addressbook.h" void ContactModel::renderContactList(QListWidget* view) { - for(auto &c : this->_contacts) + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { view->addItem(c.getName()); } diff --git a/src/controller.cpp b/src/controller.cpp index 24560e3..dd46217 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -984,16 +984,23 @@ void Controller::refreshTransactions() // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); chatModel->renderChatBox(ui->listChatMemo); - //chatModel->showMessages(); + refreshContacts( + ui->listContactWidget + ); }); } void Controller::refreshChat(QListWidget *listWidget) { - qDebug() << "Called Controller::refreshChat(QListWidget *listWidget)"; chatModel->renderChatBox(listWidget); } +void Controller::refreshContacts(QListWidget *listWidget) +{ + qDebug() << "Called Controller::refreshContacts(QListWidget *listWidget)"; + contactModel->renderContactList(listWidget); +} + // If the wallet is encrpyted and locked, we need to unlock it void Controller::unlockIfEncrypted(std::function cb, std::function error) { diff --git a/src/controller.h b/src/controller.h index 7684863..4a0835f 100644 --- a/src/controller.h +++ b/src/controller.h @@ -73,6 +73,7 @@ public: void refreshAUDCAP(); void refreshChat(QListWidget *listWidget); + void refreshContacts(QListWidget *listWidget); void executeStandardUITransaction(Tx tx); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b243a6f..92e233f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -985,10 +985,15 @@ void MainWindow::setupTransactionsTab() { void MainWindow::updateChat() { - qDebug() << "Called MainWindow::updateChat()"; rpc->refreshChat(ui->listChatMemo); } +void MainWindow::updateContacts() +{ + qDebug() << "Called MainWindow::updateContacts()"; + rpc->refreshContacts(ui->listContactWidget); +} + void MainWindow::addNewZaddr(bool sapling) { rpc->createNewZaddr(sapling, [=] (json reply) { QString addr = QString::fromStdString(reply.get()[0]); diff --git a/src/mainwindow.h b/src/mainwindow.h index 17194b4..eb30a9a 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -91,6 +91,7 @@ private: void setuphushdTab(); void setupchatTab(); void updateChat(); + void updateContacts(); void setupSettingsModal(); void setupStatusBar(); From 96ea7278d8c780f6ec1b6a61a1120123269aecf9 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 28 Apr 2020 22:16:29 +0200 Subject: [PATCH 016/251] refresh contactlist on HushChat tab --- src/contactmodel.cpp | 5 +++++ src/mainwindow.ui | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index ad6a8fb..3423be1 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -3,8 +3,13 @@ void ContactModel::renderContactList(QListWidget* view) { + while(view->count() > 0) + { + view->takeItem(0); + } for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { view->addItem(c.getName()); + } } \ No newline at end of file diff --git a/src/mainwindow.ui b/src/mainwindow.ui index f08d9be..02c074c 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1388,6 +1388,14 @@ + + + 1180 + 460 + 47 + 17 + + 0 / 512 From a5020cbe24c5578f2fd8b30ad24db6f815ffa94c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 28 Apr 2020 23:01:11 +0200 Subject: [PATCH 017/251] render HushChat Address in Addressbook --- src/addressbook.cpp | 22 ++++++++------ src/addressbook.h | 2 +- src/addressbook.ui | 70 +++++++++++++++++++++------------------------ src/mainwindow.cpp | 2 +- src/mainwindow.ui | 15 ++++++++++ 5 files changed, 63 insertions(+), 48 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 6ed874c..178cbdf 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -8,7 +8,7 @@ AddressBookModel::AddressBookModel(QTableView *parent) : QAbstractTableModel(parent) { - headers << tr("Label") << tr("Address"); + headers << tr("Label") << tr("Address") << tr("HushChatAddress"); this->parent = parent; loadData(); } @@ -59,7 +59,7 @@ void AddressBookModel::removeItemAt(int row) if (row >= labels.size()) return; - AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress()); + AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress(), labels[row].getMyAddress()); labels.clear(); labels = AddressBook::getInstance()->getAllAddressLabels(); dataChanged(index(0, 0), index(labels.size()-1, columnCount(index(0,0))-1)); @@ -99,6 +99,7 @@ QVariant AddressBookModel::data(const QModelIndex &index, int role) const { case 0: return labels.at(index.row()).getName(); case 1: return labels.at(index.row()).getPartnerAddress(); + case 2: return labels.at(index.row()).getMyAddress(); } } @@ -192,6 +193,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) message, //todo traslate this shit QMessageBox::Ok ); + // ab.addr_chat->setText(myAddr); qDebug() << "new generated myAddr" << myAddr; AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), myAddr); }); @@ -245,8 +247,8 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) ); }); - auto fnSetTargetLabelAddr = [=] (QLineEdit* target, QString label, QString addr) { - target->setText(label % "/" % addr); + auto fnSetTargetLabelAddr = [=] (QLineEdit* target, QString label, QString addr, QString myAddr) { + target->setText(label % "/" % addr % myAddr); }; // Double-Click picks the item @@ -260,8 +262,9 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString lbl = model.itemAt(index.row()).getName(); QString addr = model.itemAt(index.row()).getPartnerAddress(); + QString myAddr = model.itemAt(index.row()).getMyAddress(); d.accept(); - fnSetTargetLabelAddr(target, lbl, addr); + fnSetTargetLabelAddr(target, lbl, addr, myAddr); }); // Right-Click @@ -273,13 +276,14 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString lbl = model.itemAt(index.row()).getName(); QString addr = model.itemAt(index.row()).getPartnerAddress(); + QString myAddr = model.itemAt(index.row()).getMyAddress(); QMenu menu(parent); if (target != nullptr) menu.addAction("Pick", [&] () { d.accept(); - fnSetTargetLabelAddr(target, lbl, addr); + fnSetTargetLabelAddr(target, lbl, addr, myAddr); }); menu.addAction(QObject::tr("Copy address"), [&] () { @@ -298,7 +302,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) auto selection = ab.addresses->selectionModel(); if (selection && selection->hasSelection() && selection->selectedRows().size() > 0) { auto item = model.itemAt(selection->selectedRows().at(0).row()); - fnSetTargetLabelAddr(target, item.getName(), item.getPartnerAddress()); + fnSetTargetLabelAddr(target, item.getName(), item.getMyAddress(), item.getPartnerAddress()); } }; @@ -408,7 +412,7 @@ void AddressBook::addAddressLabel(QString label, QString address, QString myAddr // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) if (allLabels[i].getName() == label) - removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress()); + removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress(),allLabels[i].getMyAddress()); ContactItem item = ContactItem(myAddr, address, label); allLabels.push_back(item); @@ -416,7 +420,7 @@ void AddressBook::addAddressLabel(QString label, QString address, QString myAddr } // Remove a new address/label from the database -void AddressBook::removeAddressLabel(QString label, QString address) +void AddressBook::removeAddressLabel(QString label, QString address, QString myAddr) { // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) diff --git a/src/addressbook.h b/src/addressbook.h index fc3d4b9..ec3b6fe 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -46,7 +46,7 @@ public: void addAddressLabel(QString label, QString address, QString myAddr); // Remove a new address/label from the database - void removeAddressLabel(QString label, QString address); + void removeAddressLabel(QString label, QString address, QString myAddr); // Update a label/address void updateLabel(QString oldlabel, QString address, QString newlabel); diff --git a/src/addressbook.ui b/src/addressbook.ui index a20ee8f..20104b9 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -13,65 +13,61 @@ Address Book - - + + Add New Address - - - + + + - Address (z-Addr or t-Addr) + HushChat Address - give this Address only to your contact - - + + - - + + - Label + Address (z-Addr or t-Addr) - + 40 - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Add to Address Book - - - - + + + + + + + Label + + + + + + + + + + Add to Address Book + + - + QAbstractItemView::SingleSelection @@ -87,7 +83,7 @@ - + diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 7ab2da2..d1c331e 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1286,7 +1286,7 @@ void MainWindow::setupReceiveTab() { if (!curLabel.isEmpty() && label.isEmpty()) { info = "Removed Label '" % curLabel % "'"; - AddressBook::getInstance()->removeAddressLabel(curLabel, addr); + AddressBook::getInstance()->removeAddressLabel(curLabel, addr, ""); } else if (!curLabel.isEmpty() && !label.isEmpty()) { info = "Updated Label '" % curLabel % "' to '" % label % "'"; diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 02c074c..8dd559f 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1417,6 +1417,9 @@ + + true + 340 @@ -1425,6 +1428,18 @@ 371 + + QAbstractItemView::NoEditTriggers + + + false + + + Qt::IgnoreAction + + + QAbstractItemView::NoSelection + From e9ae0e78c5f21402b8f87ba4df6a0dde5cdfa731 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 00:51:07 +0200 Subject: [PATCH 018/251] send Memo to selected Contact --- lib/Cargo.lock | 6 ++--- lib/Cargo.toml | 2 +- src/chatmodel.cpp | 17 ++++++++++---- src/contactmodel.cpp | 4 +++- src/mainwindow.cpp | 15 ++++++++++++ src/mainwindow.ui | 55 +++++++++++++++++++++++++++++++++++++------- 6 files changed, 82 insertions(+), 17 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 089d4ac..96d8bdf 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/MyHush/silentdragonlite-cli?rev=7efa024660cbe08e7eadf2524134e153c89c51ad)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d3a66550ed8c6216b13002ce6e5b425367f30770)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/MyHush/silentdragonlite-cli?rev=7efa024660cbe08e7eadf2524134e153c89c51ad#7efa024660cbe08e7eadf2524134e153c89c51ad" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=d3a66550ed8c6216b13002ce6e5b425367f30770#d3a66550ed8c6216b13002ce6e5b425367f30770" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2630,7 +2630,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/MyHush/silentdragonlite-cli?rev=7efa024660cbe08e7eadf2524134e153c89c51ad)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d3a66550ed8c6216b13002ce6e5b425367f30770)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 65c97ad..bd615ca 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/MyHush/silentdragonlite-cli", rev = "7efa024660cbe08e7eadf2524134e153c89c51ad" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "d3a66550ed8c6216b13002ce6e5b425367f30770" } diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 43e929e..64a781b 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -74,6 +74,7 @@ void ChatModel::renderChatBox(QListWidget &view) void ChatModel::renderChatBox(QListWidget *view) { + qDebug() << "called ChatModel::renderChatBox(QListWidget *view)"; QString line = ""; while(view->count() > 0) @@ -97,6 +98,7 @@ void ChatModel::renderChatBox(QListWidget *view) QString MainWindow::createHeaderMemo(QString cid, QString zaddr, int version=0, int headerNumber=1) { + QString header=""; QJsonDocument j; QJsonObject h; @@ -120,7 +122,14 @@ Tx MainWindow::createTxFromChatPage() { CAmount totalAmt; // For each addr/amt in the Chat tab { - QString addr = ""; // We need to set the reply Address for our Contact here + + + + // ui->ContactZaddr->setText("Zaddr"); + + + + QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here // Remove label if it exists addr = AddressBook::addressFromAddressLabel(addr); @@ -134,15 +143,15 @@ Tx MainWindow::createTxFromChatPage() { totalAmt = totalAmt + amt; QString cid = QString::number( time(NULL) % std::rand() ); // low entropy for testing! // QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // Needs to get a fix - QString hmemo= createHeaderMemo(cid,"ZADDR"); + QString hmemo= createHeaderMemo(cid,"Some ZADDR"); QString memo = ui->memoTxtChat->toPlainText().trimmed(); // ui->memoSizeChat->setLenDisplayLabel(); - tx.toAddrs.push_back(ToFields{addr, amt, hmemo.toUtf8().toHex()}) ; + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; qDebug()<getAllAddressLabels()) { - view->addItem(c.getName()); + view->addItem(c.getPartnerAddress()); + } } \ No newline at end of file diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index d1c331e..cf063b1 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -988,7 +988,22 @@ void MainWindow::setupchatTab() { // Send button QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); + +///////// Set selected Zaddr for Chat with Doubleklick + + QObject::connect(ui->listContactWidget, &QTableView::doubleClicked, [=] () { + for (auto p : AddressBook::getInstance()->getAllAddressLabels()) { + QModelIndex index = ui->listContactWidget->currentIndex(); + QString itemText = index.data(Qt::DisplayRole).toString(); + ui->ContactZaddr->setText(itemText); + + } + + /// ui->listContactWidget->setCurrentRow(1) + + }); +} ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { QObject::connect(this, &QPlainTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 8dd559f..a2e83da 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1354,9 +1354,9 @@ - 357 - 460 - 329 + 340 + 490 + 61 17 @@ -1367,8 +1367,8 @@ - 347 - 483 + 340 + 510 901 128 @@ -1377,8 +1377,8 @@ - 360 - 620 + 350 + 650 158 25 @@ -1445,7 +1445,7 @@ 1130 - 620 + 650 114 25 @@ -1463,6 +1463,45 @@ false + + + + 410 + 490 + 67 + 17 + + + + To: + + + + + + 520 + 490 + 67 + 17 + + + + + + + + + + 740 + 490 + 171 + 17 + + + + + + From 205bb29f4a52c9ce662838bceceb94aaef61fd70 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 01:24:38 +0200 Subject: [PATCH 019/251] show only memos from selcted contact - work in progress --- src/chatmodel.cpp | 13 +++++++++++++ src/chatmodel.h | 1 + src/mainwindow.cpp | 7 +------ 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 64a781b..c037fa5 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -62,6 +62,8 @@ void ChatModel::showMessages() } } + + void ChatModel::renderChatBox(QListWidget &view) { /*for(auto &c : this->chatItems) @@ -82,8 +84,15 @@ void ChatModel::renderChatBox(QListWidget *view) view->takeItem(0); } + //QModelIndex index = parent->listContactWidget->currentIndex(); + // QString itemText = index.data(Qt::DisplayRole).toString(); + + for(auto &c : this->chatItems) + { + + // if ("" == QString(c.second.getAddress())){ ////// ToDo: render only memos from selected contact QDateTime myDateTime; myDateTime.setTime_t(c.second.getTimestamp()); @@ -93,6 +102,10 @@ void ChatModel::renderChatBox(QListWidget *view) line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; + // } + // else{ + + // } } } diff --git a/src/chatmodel.h b/src/chatmodel.h index 8472028..524ce61 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -102,6 +102,7 @@ class ChatModel { private: std::map chatItems; + QTableView* parent; public: ChatModel() {}; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index cf063b1..21f922a 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -992,15 +992,10 @@ void MainWindow::setupchatTab() { ///////// Set selected Zaddr for Chat with Doubleklick QObject::connect(ui->listContactWidget, &QTableView::doubleClicked, [=] () { - for (auto p : AddressBook::getInstance()->getAllAddressLabels()) { + QModelIndex index = ui->listContactWidget->currentIndex(); QString itemText = index.data(Qt::DisplayRole).toString(); ui->ContactZaddr->setText(itemText); - - - } - - /// ui->listContactWidget->setCurrentRow(1) }); } From 17cc83ab7b3ec0c48e116532f46f86ef81a1bdfd Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 14:40:13 +0200 Subject: [PATCH 020/251] use quuid as cid in headermemo --- src/chatmodel.cpp | 11 ++++++----- src/mainwindow.cpp | 6 +++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c037fa5..552116c 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -140,9 +140,9 @@ Tx MainWindow::createTxFromChatPage() { // ui->ContactZaddr->setText("Zaddr"); - + - QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here + QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here // Remove label if it exists addr = AddressBook::addressFromAddressLabel(addr); @@ -154,12 +154,13 @@ Tx MainWindow::createTxFromChatPage() { amt = CAmount::fromDecimalString("0"); totalAmt = totalAmt + amt; - QString cid = QString::number( time(NULL) % std::rand() ); // low entropy for testing! - // QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // Needs to get a fix + + // QString cid = QString::number( time(NULL) % std::rand() ); // low entropy for testing! + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // Needs to get a fix QString hmemo= createHeaderMemo(cid,"Some ZADDR"); QString memo = ui->memoTxtChat->toPlainText().trimmed(); - // ui->memoSizeChat->setLenDisplayLabel(); + // ui->memoSizeChat->setLenDisplayLabel(); tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 21f922a..b703b53 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -991,11 +991,11 @@ void MainWindow::setupchatTab() { ///////// Set selected Zaddr for Chat with Doubleklick - QObject::connect(ui->listContactWidget, &QTableView::doubleClicked, [=] () { + QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { QModelIndex index = ui->listContactWidget->currentIndex(); - QString itemText = index.data(Qt::DisplayRole).toString(); - ui->ContactZaddr->setText(itemText); + QString zaddr = index.data(Qt::DisplayRole).toString(); + ui->ContactZaddr->setText(zaddr); }); } From dd48ab87ebeed2af26a9756f3ca17e970f91a69b Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 16:58:33 +0200 Subject: [PATCH 021/251] create and add cid to Addressbook --- src/addressbook.cpp | 45 +++++++++++++++++++++++++++----------------- src/addressbook.h | 6 +++--- src/contactmodel.cpp | 2 +- src/contactmodel.h | 16 ++++++++++++++-- src/mainwindow.cpp | 4 ++-- src/mainwindow.ui | 28 +++++++++++++++++++++++---- 6 files changed, 72 insertions(+), 29 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 178cbdf..5c6a229 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -8,7 +8,7 @@ AddressBookModel::AddressBookModel(QTableView *parent) : QAbstractTableModel(parent) { - headers << tr("Label") << tr("Address") << tr("HushChatAddress"); + headers << tr("Label") << tr("Address") << tr("HushChatAddress") << tr("cid"); this->parent = parent; loadData(); } @@ -38,10 +38,10 @@ void AddressBookModel::loadData() ); } -void AddressBookModel::addNewLabel(QString label, QString addr, QString myAddr) +void AddressBookModel::addNewLabel(QString label, QString addr, QString myAddr, QString cid) { //labels.push_back(QPair(label, addr)); - AddressBook::getInstance()->addAddressLabel(label, addr, myAddr); + AddressBook::getInstance()->addAddressLabel(label, addr, myAddr, cid); updateUi(); } @@ -59,7 +59,7 @@ void AddressBookModel::removeItemAt(int row) if (row >= labels.size()) return; - AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress(), labels[row].getMyAddress()); + AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress(), labels[row].getMyAddress(),labels[row].getcid()); labels.clear(); labels = AddressBook::getInstance()->getAllAddressLabels(); dataChanged(index(0, 0), index(labels.size()-1, columnCount(index(0,0))-1)); @@ -70,7 +70,7 @@ ContactItem AddressBookModel::itemAt(int row) { if (row >= labels.size()) { - ContactItem item = ContactItem("", "", ""); + ContactItem item = ContactItem("", "", "", ""); return item; } @@ -100,6 +100,7 @@ QVariant AddressBookModel::data(const QModelIndex &index, int role) const case 0: return labels.at(index.row()).getName(); case 1: return labels.at(index.row()).getPartnerAddress(); case 2: return labels.at(index.row()).getMyAddress(); + case 3: return labels.at(index.row()).getcid(); } } @@ -190,17 +191,24 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QMessageBox::critical( parent, QObject::tr("Success"), - message, //todo traslate this shit + message, //todo translate this QMessageBox::Ok ); // ab.addr_chat->setText(myAddr); qDebug() << "new generated myAddr" << myAddr; - AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), myAddr); + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // + AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), myAddr, cid); }); model.updateUi(); //todo fix updating gui after adding }); + /// Generate CID for Contact + + + + // AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), cid); + // Import Button QObject::connect(ab.btnImport, &QPushButton::clicked, [&] () { // Get the import file name. @@ -236,7 +244,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) continue; // Add label, address. - model.addNewLabel(items.at(1), items.at(0), ""); + model.addNewLabel(items.at(1), items.at(0), "", ""); numImported++; } @@ -247,7 +255,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) ); }); - auto fnSetTargetLabelAddr = [=] (QLineEdit* target, QString label, QString addr, QString myAddr) { + auto fnSetTargetLabelAddr = [=] (QLineEdit* target, QString label, QString addr, QString myAddr, QString cid) { target->setText(label % "/" % addr % myAddr); }; @@ -263,8 +271,9 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString lbl = model.itemAt(index.row()).getName(); QString addr = model.itemAt(index.row()).getPartnerAddress(); QString myAddr = model.itemAt(index.row()).getMyAddress(); + QString cid = model.itemAt(index.row()).getcid(); d.accept(); - fnSetTargetLabelAddr(target, lbl, addr, myAddr); + fnSetTargetLabelAddr(target, lbl, addr, myAddr, cid); }); // Right-Click @@ -277,13 +286,14 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString lbl = model.itemAt(index.row()).getName(); QString addr = model.itemAt(index.row()).getPartnerAddress(); QString myAddr = model.itemAt(index.row()).getMyAddress(); + QString cid = model.itemAt(index.row()).getcid(); QMenu menu(parent); if (target != nullptr) menu.addAction("Pick", [&] () { d.accept(); - fnSetTargetLabelAddr(target, lbl, addr, myAddr); + fnSetTargetLabelAddr(target, lbl, addr, myAddr, cid); }); menu.addAction(QObject::tr("Copy address"), [&] () { @@ -302,7 +312,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) auto selection = ab.addresses->selectionModel(); if (selection && selection->hasSelection() && selection->selectedRows().size() > 0) { auto item = model.itemAt(selection->selectedRows().at(0).row()); - fnSetTargetLabelAddr(target, item.getName(), item.getMyAddress(), item.getPartnerAddress()); + fnSetTargetLabelAddr(target, item.getName(), item.getMyAddress(), item.getPartnerAddress(), item.getcid()); } }; @@ -348,7 +358,7 @@ void AddressBook::readFromStorage() //qDebug() << "0:" << stuff[i][0]; //qDebug() << "1:" << stuff[i][1]; //qDebug() << "2:" << stuff[i][2]; - ContactItem contact = ContactItem(stuff[i][2], stuff[i][1], stuff[i][0]); + ContactItem contact = ContactItem(stuff[i][3],stuff[i][2], stuff[i][1], stuff[i][0]); //qDebug() << "contact=" << contact.toQTString(); allLabels.push_back(contact); } @@ -383,6 +393,7 @@ void AddressBook::writeToStorage() c.push_back(item.getName()); c.push_back(item.getPartnerAddress()); c.push_back(item.getMyAddress()); + c.push_back(item.getcid()); contacts.push_back(c); } out << QString("v1") << contacts; @@ -405,22 +416,22 @@ QString AddressBook::writeableFile() // Add a new address/label to the database -void AddressBook::addAddressLabel(QString label, QString address, QString myAddr) +void AddressBook::addAddressLabel(QString label, QString address, QString myAddr, QString cid) { Q_ASSERT(Settings::isValidAddress(address)); // getName(), remove any existing label // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) if (allLabels[i].getName() == label) - removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress(),allLabels[i].getMyAddress()); + removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress(),allLabels[i].getMyAddress(), allLabels[i].getcid()); - ContactItem item = ContactItem(myAddr, address, label); + ContactItem item = ContactItem(myAddr, address, label, cid); allLabels.push_back(item); writeToStorage(); } // Remove a new address/label from the database -void AddressBook::removeAddressLabel(QString label, QString address, QString myAddr) +void AddressBook::removeAddressLabel(QString label, QString address, QString myAddr, QString cid) { // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) diff --git a/src/addressbook.h b/src/addressbook.h index ec3b6fe..6f8308b 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -12,7 +12,7 @@ public: AddressBookModel(QTableView* parent); ~AddressBookModel(); - void addNewLabel(QString label, QString address, QString myAddr); + void addNewLabel(QString label, QString address, QString myAddr, QString cid); void updateUi(); void removeItemAt(int row); //QPair itemAt(int row); @@ -43,10 +43,10 @@ public: static QString addressFromAddressLabel(const QString& lblAddr); // Add a new address/label to the database - void addAddressLabel(QString label, QString address, QString myAddr); + void addAddressLabel(QString label, QString address, QString myAddr, QString cid); // Remove a new address/label from the database - void removeAddressLabel(QString label, QString address, QString myAddr); + void removeAddressLabel(QString label, QString address, QString myAddr, QString cid); // Update a label/address void updateLabel(QString oldlabel, QString address, QString newlabel); diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index fe96fce..154124b 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -10,7 +10,7 @@ void ContactModel::renderContactList(QListWidget* view) } for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { - view->addItem(c.getPartnerAddress()); + view->addItem(c.getPartnerAddress()); //hide } diff --git a/src/contactmodel.h b/src/contactmodel.h index d1ce239..fcf6b5b 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -11,14 +11,16 @@ class ContactItem QString _myAddress; QString _partnerAddress; QString _name; + QString _cid; public: ContactItem(); - ContactItem(QString myAddress, QString partnerAddress, QString name) + ContactItem(QString myAddress, QString partnerAddress, QString name, QString cid) { _myAddress = myAddress; _partnerAddress = partnerAddress; _name = name; + _cid = cid; } QString getName() const @@ -36,6 +38,11 @@ class ContactItem return _partnerAddress; } + QString getcid() const + { + return _cid; + } + void setName(QString name) { _name = name; @@ -51,9 +58,14 @@ class ContactItem _partnerAddress = partnerAddress; } + void setcid(QString cid) + { + _cid = cid; + } + QString toQTString() { - return _name + "|" + _partnerAddress + "|" + _myAddress; + return _name + "|" + _partnerAddress + "|" + _myAddress + "|" + _cid; } }; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b703b53..cc60938 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1296,7 +1296,7 @@ void MainWindow::setupReceiveTab() { if (!curLabel.isEmpty() && label.isEmpty()) { info = "Removed Label '" % curLabel % "'"; - AddressBook::getInstance()->removeAddressLabel(curLabel, addr, ""); + AddressBook::getInstance()->removeAddressLabel(curLabel, addr, "", ""); } else if (!curLabel.isEmpty() && !label.isEmpty()) { info = "Updated Label '" % curLabel % "' to '" % label % "'"; @@ -1304,7 +1304,7 @@ void MainWindow::setupReceiveTab() { } else if (curLabel.isEmpty() && !label.isEmpty()) { info = "Added Label '" % label % "'"; - AddressBook::getInstance()->addAddressLabel(label, addr, ""); + AddressBook::getInstance()->addAddressLabel(label, addr, "", ""); } // Update labels everywhere on the UI diff --git a/src/mainwindow.ui b/src/mainwindow.ui index a2e83da..4197b0f 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -14,7 +14,7 @@ SilentDragonLite - + :/icons/res/icon.ico:/icons/res/icon.ico @@ -1502,6 +1502,28 @@ + + + + 943 + 20 + 211 + 25 + + + + + 100 + 0 + + + + Sicheren Kontakt hinzufügen + + + false + + @@ -1714,8 +1736,6 @@ minerFeeAmt sendToScrollArea - - - + From 1aa5a05589a862fdb29b4b35632808cbd0e8a6bb Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 18:20:53 +0200 Subject: [PATCH 022/251] take sendtoaddr,myaddr and cid from contact object --- src/addressbook.cpp | 18 +++++++++--------- src/chatmodel.cpp | 18 ++++++++++++------ src/contactmodel.cpp | 2 +- src/contactmodel.h | 6 +++--- 4 files changed, 25 insertions(+), 19 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 5c6a229..ca224b4 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -59,7 +59,7 @@ void AddressBookModel::removeItemAt(int row) if (row >= labels.size()) return; - AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress(), labels[row].getMyAddress(),labels[row].getcid()); + AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress(), labels[row].getMyAddress(),labels[row].getCid()); labels.clear(); labels = AddressBook::getInstance()->getAllAddressLabels(); dataChanged(index(0, 0), index(labels.size()-1, columnCount(index(0,0))-1)); @@ -100,7 +100,7 @@ QVariant AddressBookModel::data(const QModelIndex &index, int role) const case 0: return labels.at(index.row()).getName(); case 1: return labels.at(index.row()).getPartnerAddress(); case 2: return labels.at(index.row()).getMyAddress(); - case 3: return labels.at(index.row()).getcid(); + case 3: return labels.at(index.row()).getCid(); } } @@ -271,7 +271,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString lbl = model.itemAt(index.row()).getName(); QString addr = model.itemAt(index.row()).getPartnerAddress(); QString myAddr = model.itemAt(index.row()).getMyAddress(); - QString cid = model.itemAt(index.row()).getcid(); + QString cid = model.itemAt(index.row()).getCid(); d.accept(); fnSetTargetLabelAddr(target, lbl, addr, myAddr, cid); }); @@ -286,7 +286,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString lbl = model.itemAt(index.row()).getName(); QString addr = model.itemAt(index.row()).getPartnerAddress(); QString myAddr = model.itemAt(index.row()).getMyAddress(); - QString cid = model.itemAt(index.row()).getcid(); + QString cid = model.itemAt(index.row()).getCid(); QMenu menu(parent); @@ -312,7 +312,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) auto selection = ab.addresses->selectionModel(); if (selection && selection->hasSelection() && selection->selectedRows().size() > 0) { auto item = model.itemAt(selection->selectedRows().at(0).row()); - fnSetTargetLabelAddr(target, item.getName(), item.getMyAddress(), item.getPartnerAddress(), item.getcid()); + fnSetTargetLabelAddr(target, item.getName(), item.getMyAddress(), item.getPartnerAddress(), item.getCid()); } }; @@ -358,7 +358,7 @@ void AddressBook::readFromStorage() //qDebug() << "0:" << stuff[i][0]; //qDebug() << "1:" << stuff[i][1]; //qDebug() << "2:" << stuff[i][2]; - ContactItem contact = ContactItem(stuff[i][3],stuff[i][2], stuff[i][1], stuff[i][0]); + ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3]); //qDebug() << "contact=" << contact.toQTString(); allLabels.push_back(contact); } @@ -393,7 +393,7 @@ void AddressBook::writeToStorage() c.push_back(item.getName()); c.push_back(item.getPartnerAddress()); c.push_back(item.getMyAddress()); - c.push_back(item.getcid()); + c.push_back(item.getCid()); contacts.push_back(c); } out << QString("v1") << contacts; @@ -423,9 +423,9 @@ void AddressBook::addAddressLabel(QString label, QString address, QString myAddr // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) if (allLabels[i].getName() == label) - removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress(),allLabels[i].getMyAddress(), allLabels[i].getcid()); + removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress(),allLabels[i].getMyAddress(), allLabels[i].getCid()); - ContactItem item = ContactItem(myAddr, address, label, cid); + ContactItem item = ContactItem(label, address, myAddr, cid); allLabels.push_back(item); writeToStorage(); } diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 552116c..d412bc4 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -136,9 +136,9 @@ Tx MainWindow::createTxFromChatPage() { // For each addr/amt in the Chat tab { - + - // ui->ContactZaddr->setText("Zaddr"); + @@ -155,10 +155,16 @@ Tx MainWindow::createTxFromChatPage() { amt = CAmount::fromDecimalString("0"); totalAmt = totalAmt + amt; - // QString cid = QString::number( time(NULL) % std::rand() ); // low entropy for testing! - QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // Needs to get a fix - QString hmemo= createHeaderMemo(cid,"Some ZADDR"); + + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + if (ui->ContactZaddr->text().trimmed() == c.getName()) { + + QString cid = c.getCid(); + QString myAddr = c.getMyAddress(); + QString addr = c.getPartnerAddress(); + + QString hmemo= createHeaderMemo(cid,myAddr); QString memo = ui->memoTxtChat->toPlainText().trimmed(); // ui->memoSizeChat->setLenDisplayLabel(); @@ -168,7 +174,7 @@ Tx MainWindow::createTxFromChatPage() { tx.toAddrs.push_back( ToFields{addr, amt, memo}); qDebug() << "pushback chattx"; - } + } } tx.fee = Settings::getMinerFee(); diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 154124b..0e9a6ea 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -10,7 +10,7 @@ void ContactModel::renderContactList(QListWidget* view) } for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { - view->addItem(c.getPartnerAddress()); //hide + view->addItem(c.getName()); } diff --git a/src/contactmodel.h b/src/contactmodel.h index fcf6b5b..886b285 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -15,11 +15,11 @@ class ContactItem public: ContactItem(); - ContactItem(QString myAddress, QString partnerAddress, QString name, QString cid) + ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid) { + _name = name; _myAddress = myAddress; _partnerAddress = partnerAddress; - _name = name; _cid = cid; } @@ -38,7 +38,7 @@ class ContactItem return _partnerAddress; } - QString getcid() const + QString getCid() const { return _cid; } From e3e537b1a40be65929790c93be25490d4a9f5899 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 22:07:19 +0200 Subject: [PATCH 023/251] do not render Headermemos --- src/controller.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/controller.cpp b/src/controller.cpp index dd46217..a28b74c 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -880,6 +880,10 @@ void Controller::refreshTransactions() if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); + if (memo.startsWith("{")) + { + + }else{ ChatItem item = ChatItem( datetime, address, @@ -890,6 +894,7 @@ void Controller::refreshTransactions() chatModel->addMessage(item); } + } items.push_back(TransactionItemDetail{address, amount, memo}); @@ -929,6 +934,11 @@ void Controller::refreshTransactions() if (!it["memo"].is_null()) { memo = QString::fromStdString(it["memo"]); + if (memo.startsWith("{")) + { + + }else{ + ChatItem item = ChatItem( datetime, address, @@ -936,7 +946,7 @@ void Controller::refreshTransactions() memo ); chatModel->addMessage(item); - } + }} items.push_back( From e263719206f98fd602aad68715f5baaf8da1126a Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 22:16:33 +0200 Subject: [PATCH 024/251] fix gui element --- src/mainwindow.ui | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 4197b0f..59d3e78 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -14,7 +14,7 @@ SilentDragonLite - + :/icons/res/icon.ico:/icons/res/icon.ico @@ -1356,7 +1356,7 @@ 340 490 - 61 + 331 17 @@ -1466,7 +1466,7 @@ - 410 + 690 490 67 17 @@ -1736,6 +1736,8 @@ minerFeeAmt sendToScrollArea
- + + + From 45f3a80885bce88338bf47a2de5cb29d839d33ec Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 22:53:04 +0200 Subject: [PATCH 025/251] add contact request flag to headermemo - work in progress --- src/chatmodel.cpp | 180 +++++++++++++++++++++++++++++++++++++++++---- src/mainwindow.cpp | 2 +- src/mainwindow.h | 5 +- src/mainwindow.ui | 2 +- 4 files changed, 173 insertions(+), 16 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index d412bc4..53f94a2 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -83,11 +83,7 @@ void ChatModel::renderChatBox(QListWidget *view) { view->takeItem(0); } - - //QModelIndex index = parent->listContactWidget->currentIndex(); - // QString itemText = index.data(Qt::DisplayRole).toString(); - - + for(auto &c : this->chatItems) { @@ -109,7 +105,7 @@ void ChatModel::renderChatBox(QListWidget *view) } } -QString MainWindow::createHeaderMemo(QString cid, QString zaddr, int version=0, int headerNumber=1) +QString MainWindow::createHeaderMemo(QString safeContact, QString cid, QString zaddr, int version=0, int headerNumber=1) { QString header=""; @@ -121,6 +117,7 @@ QString MainWindow::createHeaderMemo(QString cid, QString zaddr, int version=0, h["v"] = version; // HushChat version h["z"] = zaddr; // zaddr to respond to h["cid"] = cid; // conversation id + h["c"] = safeContact; // Is this a safe Contact request? j.setObject(h); header = j.toJson(); @@ -135,13 +132,7 @@ Tx MainWindow::createTxFromChatPage() { CAmount totalAmt; // For each addr/amt in the Chat tab { - - - - - - QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here // Remove label if it exists addr = AddressBook::addressFromAddressLabel(addr); @@ -162,9 +153,11 @@ Tx MainWindow::createTxFromChatPage() { QString cid = c.getCid(); QString myAddr = c.getMyAddress(); + QString safeContact = "false"; QString addr = c.getPartnerAddress(); + - QString hmemo= createHeaderMemo(cid,myAddr); + QString hmemo= createHeaderMemo(safeContact,cid,myAddr); QString memo = ui->memoTxtChat->toPlainText().trimmed(); // ui->memoSizeChat->setLenDisplayLabel(); @@ -291,5 +284,166 @@ QString MainWindow::doSendChatTxValidations(Tx tx) { .arg(available.toDecimalhushString(), total.toDecimalhushString()); } + return ""; +} + +// Create a Safe Contact Request. +Tx MainWindow::createTxForSafeContactRequest() { + Tx tx; + CAmount totalAmt; + // For each addr/amt in the Chat tab + { + + QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here + // Remove label if it exists + addr = AddressBook::addressFromAddressLabel(addr); + + QString amtStr = "0"; + + // bool ok; + CAmount amt; + + + amt = CAmount::fromDecimalString("0"); + totalAmt = totalAmt + amt; + + + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + + if (ui->ContactZaddr->text().trimmed() == c.getName()) { + + // QString cid = c.getCid(); // This has to be a new cid for the contact + // QString myAddr = c.getMyAddress(); // this should be a new HushChat zaddr + // QString addr = c.getPartnerAddress(); // this address will be insert by the user + QString safeContact = "true"; + + + QString hmemo= createHeaderMemo(safeContact,cid,myAddr); + QString memo = ui->memoTxtChat->toPlainText().trimmed(); + // ui->memoSizeChat->setLenDisplayLabel(); + + + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; + qDebug()<text()))) { + // QMessageBox msg(QMessageBox::Critical, tr("Memos can only be used with z-addresses"), + // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), + // QMessageBox::Ok, this); + + // msg.exec(); + //return; + //} + + Tx tx = createTxForSafeContactRequest(); + + QString error = doSendChatTxValidations(tx); + + if (!error.isEmpty()) { + // Something went wrong, so show an error and exit + QMessageBox msg(QMessageBox::Critical, tr("Message Error"), error, + QMessageBox::Ok, this); + + msg.exec(); + + // abort the Tx + return; + qDebug() << "Tx aborted"; + } + + // Create a new Dialog to show that we are computing/sending the Tx + auto d = new QDialog(this); + auto connD = new Ui_ConnectionDialog(); + connD->setupUi(d); + QPixmap logo(":/img/res/logobig.gif"); + connD->topIcon->setBasePixmap(logo.scaled(256, 256, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + + connD->status->setText(tr("Please wait...")); + connD->statusDetail->setText(tr("Your Safe Contact Request will be send")); + + d->show(); + + // And send the Tx + rpc->executeTransaction(tx, + [=] (QString txid) { + ui->statusBar->showMessage(Settings::txidStatusMessage + " " + txid); + + connD->status->setText(tr("Done!")); + connD->statusDetail->setText(txid); + + QTimer::singleShot(1000, [=]() { + d->accept(); + d->close(); + delete connD; + delete d; + + }); + + // Force a UI update so we get the unconfirmed Tx + rpc->refresh(true); + + }, + // Errored out + [=] (QString opid, QString errStr) { + ui->statusBar->showMessage(QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000); + + d->accept(); + d->close(); + delete connD; + delete d; + + if (!opid.isEmpty()) + errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; + + QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); + } + ); + } + + +QString MainWindow::doSendRequestTxValidations(Tx tx) { + // Check to see if we have enough verified funds to send the Tx. + + CAmount total; + for (auto toAddr : tx.toAddrs) { + if (!Settings::isValidAddress(toAddr.addr)) { + QString addr = (toAddr.addr.length() > 100 ? toAddr.addr.left(100) + "..." : toAddr.addr); + return QString(tr("Recipient Address ")) % addr % tr(" is Invalid"); + } + + // This technically shouldn't be possible, but issue #62 seems to have discovered a bug + // somewhere, so just add a check to make sure. + if (toAddr.amount.toqint64() < 0) { + return QString(tr("Amount for address '%1' is invalid!").arg(toAddr.addr)); + } + + total = total + toAddr.amount; + } + total = total + tx.fee; + + auto available = rpc->getModel()->getAvailableBalance(); + + if (available < total) { + return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 5 confirmations before they can be spent") + .arg(available.toDecimalhushString(), total.toDecimalhushString()); + } + return ""; } \ No newline at end of file diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index cc60938..88a4d5f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -987,7 +987,7 @@ void MainWindow::setupchatTab() { // Send button QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); - + QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::safeContactRequest); ///////// Set selected Zaddr for Chat with Doubleklick diff --git a/src/mainwindow.h b/src/mainwindow.h index ad83f73..f9f781b 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -48,6 +48,7 @@ public: QString doSendTxValidations(Tx tx); QString doSendChatTxValidations(Tx tx); + QString doSendRequestTxValidations(Tx tx); void replaceWormholeClient(WormholeClient* newClient); bool isWebsocketListening(); @@ -76,7 +77,7 @@ public: Logger* logger; void doClose(); - QString createHeaderMemo(QString cid, QString zaddr, int version, int headerNumnber); + QString createHeaderMemo(QString safeContact, QString cid, QString zaddr, int version, int headerNumber); public slots: void slot_change_theme(const QString& themeName); @@ -103,6 +104,7 @@ private: bool confirmTx(Tx tx, RecurringPaymentInfo* rpi); Tx createTxFromChatPage(); + Tx createTxForSafeContactRequest(); void encryptWallet(); void removeWalletEncryption(); @@ -110,6 +112,7 @@ private: void cancelButton(); void sendButton(); void sendChatButton(); + void safeContactRequest(); void addAddressSection(); void maxAmountChecked(int checked); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 59d3e78..4c8fa7b 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1502,7 +1502,7 @@ - + 943 From bf7cb9416816fcae841512b29061447f9056b4c4 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 29 Apr 2020 22:54:27 +0200 Subject: [PATCH 026/251] add contact request flag to headermemo - work in progress --- src/chatmodel.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 53f94a2..153fe97 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -315,6 +315,9 @@ Tx MainWindow::createTxForSafeContactRequest() { // QString cid = c.getCid(); // This has to be a new cid for the contact // QString myAddr = c.getMyAddress(); // this should be a new HushChat zaddr // QString addr = c.getPartnerAddress(); // this address will be insert by the user + QString cid = ""; + QString myAddr = ""; + QString addr = ""; QString safeContact = "true"; From d0b88255f24995c0fb98a508780436a387124b81 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 30 Apr 2020 00:08:50 +0200 Subject: [PATCH 027/251] do not render any header memo on the chatgui - render a incoming contact request - work in progress --- src/chatmodel.cpp | 21 ++++++++++++++++----- src/controller.cpp | 14 +++----------- src/mainwindow.ui | 13 ------------- 3 files changed, 19 insertions(+), 29 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 153fe97..9adcd56 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -88,8 +88,21 @@ void ChatModel::renderChatBox(QListWidget *view) { - // if ("" == QString(c.second.getAddress())){ ////// ToDo: render only memos from selected contact - QDateTime myDateTime; + if (c.second.getMemo().startsWith("{\n \"c\": \"true\"")){ + + // Render a incoming contact Request + + } + + if (c.second.getMemo().startsWith("{\n \"c\": \"false\"") ){ + + // we dont want to render this + + } + + if (c.second.getMemo().startsWith("{") == false){ //TOdo and is selected in Contact Widget - + + QDateTime myDateTime; myDateTime.setTime_t(c.second.getTimestamp()); //qDebug() << "[" << myDateTime.toString("dd.MM.yyyy hh:mm:ss ") << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); @@ -98,10 +111,8 @@ void ChatModel::renderChatBox(QListWidget *view) line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; - // } - // else{ + } - // } } } diff --git a/src/controller.cpp b/src/controller.cpp index a28b74c..4a65ba9 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -880,10 +880,7 @@ void Controller::refreshTransactions() if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); - if (memo.startsWith("{")) - { - }else{ ChatItem item = ChatItem( datetime, address, @@ -892,8 +889,7 @@ void Controller::refreshTransactions() true // is an outgoing message ); chatModel->addMessage(item); - - } + } @@ -934,11 +930,7 @@ void Controller::refreshTransactions() if (!it["memo"].is_null()) { memo = QString::fromStdString(it["memo"]); - if (memo.startsWith("{")) - { - - }else{ - + ChatItem item = ChatItem( datetime, address, @@ -946,7 +938,7 @@ void Controller::refreshTransactions() memo ); chatModel->addMessage(item); - }} + } items.push_back( diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 4c8fa7b..7bb612e 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1374,19 +1374,6 @@ - - - - 350 - 650 - 158 - 25 - - - - Include Reply Address - - From 8f3bc21844a2c78fc646248959bf07a90401e706 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 30 Apr 2020 20:17:08 +0200 Subject: [PATCH 028/251] render only memos from selected nickname --- src/chatmodel.cpp | 57 +++++++++++++++++++--------------------------- src/chatmodel.h | 11 +++++++-- src/controller.cpp | 4 ++-- src/mainwindow.cpp | 12 ++++++---- src/mainwindow.h | 2 +- src/mainwindow.ui | 8 +++---- 6 files changed, 47 insertions(+), 47 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 9adcd56..2b2b6a0 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -64,7 +64,7 @@ void ChatModel::showMessages() -void ChatModel::renderChatBox(QListWidget &view) +void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget &view) { /*for(auto &c : this->chatItems) { @@ -74,49 +74,36 @@ void ChatModel::renderChatBox(QListWidget &view) //todo render items to view } -void ChatModel::renderChatBox(QListWidget *view) +void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) { - - qDebug() << "called ChatModel::renderChatBox(QListWidget *view)"; - QString line = ""; + while(view->count() > 0) { view->takeItem(0); } - - for(auto &c : this->chatItems) - - { - - if (c.second.getMemo().startsWith("{\n \"c\": \"true\"")){ - - // Render a incoming contact Request - - } - - if (c.second.getMemo().startsWith("{\n \"c\": \"false\"") ){ - - // we dont want to render this - - } - - if (c.second.getMemo().startsWith("{") == false){ //TOdo and is selected in Contact Widget - + QString line = ""; + + for(auto &c : this->chatItems){ + QDateTime myDateTime; myDateTime.setTime_t(c.second.getTimestamp()); - //qDebug() << "[" << myDateTime.toString("dd.MM.yyyy hh:mm:ss ") << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); + + ////// + if ((ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false)) { line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString(c.second.getContact()) + QString("> :\n"); - line += QString(c.second.getMemo()) + QString("\n"); + line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; - } + }else {} } + } -QString MainWindow::createHeaderMemo(QString safeContact, QString cid, QString zaddr, int version=0, int headerNumber=1) +QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, int version=0, int headerNumber=1) { QString header=""; @@ -128,15 +115,15 @@ QString MainWindow::createHeaderMemo(QString safeContact, QString cid, QString z h["v"] = version; // HushChat version h["z"] = zaddr; // zaddr to respond to h["cid"] = cid; // conversation id - h["c"] = safeContact; // Is this a safe Contact request? + h["t"] = type; // Memo or incoming contact request j.setObject(h); header = j.toJson(); qDebug() << "made header=" << header; - return header; } + // Create a Tx from the current state of the Chat page. Tx MainWindow::createTxFromChatPage() { Tx tx; @@ -144,9 +131,9 @@ Tx MainWindow::createTxFromChatPage() { // For each addr/amt in the Chat tab { - QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here + // QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here // Remove label if it exists - addr = AddressBook::addressFromAddressLabel(addr); + // addr = AddressBook::addressFromAddressLabel(addr); QString amtStr = "0"; @@ -160,15 +147,15 @@ Tx MainWindow::createTxFromChatPage() { for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - if (ui->ContactZaddr->text().trimmed() == c.getName()) { + if (ui->ContactZaddr->text().trimmed() == c.getPartnerAddress()) { QString cid = c.getCid(); QString myAddr = c.getMyAddress(); - QString safeContact = "false"; + QString type = "memo"; QString addr = c.getPartnerAddress(); - QString hmemo= createHeaderMemo(safeContact,cid,myAddr); + QString hmemo= createHeaderMemo(type,cid,myAddr); QString memo = ui->memoTxtChat->toPlainText().trimmed(); // ui->memoSizeChat->setLenDisplayLabel(); @@ -229,6 +216,7 @@ void MainWindow::sendChatButton() { connD->statusDetail->setText(tr("Your Message will be send")); d->show(); + ui->memoTxtChat->clear(); // And send the Tx rpc->executeTransaction(tx, @@ -248,6 +236,7 @@ void MainWindow::sendChatButton() { // Force a UI update so we get the unconfirmed Tx rpc->refresh(true); + ui->memoTxtChat->clear(); }, // Errored out diff --git a/src/chatmodel.h b/src/chatmodel.h index 524ce61..e0a6dd0 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -5,6 +5,10 @@ #include #include #include "precompiled.h" +#include "mainwindow.h" +#include "controller.h" +#include "settings.h" +#include "camount.h" class ChatItem { @@ -103,6 +107,8 @@ class ChatModel private: std::map chatItems; QTableView* parent; + Ui::MainWindow* ui; + MainWindow* main; public: ChatModel() {}; @@ -110,9 +116,10 @@ class ChatModel ChatModel(std::vector chatItems); std::map getItems(); void setItems(std::map items); + QString zaddr(); void setItems(std::vector items); - void renderChatBox(QListWidget &view); - void renderChatBox(QListWidget *view); + void renderChatBox(Ui::MainWindow* ui, QListWidget &view); + void renderChatBox(Ui::MainWindow* ui, QListWidget *view); void showMessages(); void clear(); void addMessage(ChatItem item); diff --git a/src/controller.cpp b/src/controller.cpp index 4a65ba9..0c557ca 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -985,7 +985,7 @@ void Controller::refreshTransactions() // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); - chatModel->renderChatBox(ui->listChatMemo); + chatModel->renderChatBox(ui, ui->listChatMemo); refreshContacts( ui->listContactWidget ); @@ -994,7 +994,7 @@ void Controller::refreshTransactions() void Controller::refreshChat(QListWidget *listWidget) { - chatModel->renderChatBox(listWidget); + chatModel->renderChatBox(ui, listWidget); } void Controller::refreshContacts(QListWidget *listWidget) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 88a4d5f..ab37b27 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -994,10 +994,14 @@ void MainWindow::setupchatTab() { QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { QModelIndex index = ui->listContactWidget->currentIndex(); - QString zaddr = index.data(Qt::DisplayRole).toString(); - ui->ContactZaddr->setText(zaddr); - - }); + QString label_contact = index.data(Qt::DisplayRole).toString(); + + for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) + if (label_contact == p.getName()) + ui->ContactZaddr->setText(p.getPartnerAddress()); + + rpc->refresh(true); + }); } ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { diff --git a/src/mainwindow.h b/src/mainwindow.h index f9f781b..7114eda 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -77,7 +77,7 @@ public: Logger* logger; void doClose(); - QString createHeaderMemo(QString safeContact, QString cid, QString zaddr, int version, int headerNumber); + QString createHeaderMemo(QString type, QString cid, QString zaddr, int version, int headerNumber); public slots: void slot_change_theme(const QString& themeName); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 7bb612e..ed63164 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1453,7 +1453,7 @@ - 690 + 520 490 67 17 @@ -1479,10 +1479,10 @@ - 740 + 550 490 - 171 - 17 + 691 + 20 From ab1e52586000b2bc0aa54936f473973d7ccfc455 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 30 Apr 2020 21:18:37 +0200 Subject: [PATCH 029/251] render incoming and outgoing memos in a chat conversation --- src/addressbook.cpp | 2 + src/chatmodel.cpp | 106 ++++++++++++++++++++++--------------------- src/chatmodel.h | 4 +- src/controller.cpp | 108 +++++++++++++++++--------------------------- src/mainwindow.cpp | 4 +- src/mainwindow.ui | 31 +++++++++---- 6 files changed, 125 insertions(+), 130 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index ca224b4..522ec60 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -194,6 +194,8 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) message, //todo translate this QMessageBox::Ok ); + parent->ui->listReceiveAddresses->insertItem(0, addr); + parent->ui->listReceiveAddresses->setCurrentIndex(0); // ab.addr_chat->setText(myAddr); qDebug() << "new generated myAddr" << myAddr; QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 2b2b6a0..f449b99 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -62,9 +62,7 @@ void ChatModel::showMessages() } } - - -void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget &view) +void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget &view) { /*for(auto &c : this->chatItems) { @@ -90,14 +88,22 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) myDateTime.setTime_t(c.second.getTimestamp()); - ////// - if ((ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false)) { + //////Render only Memos for selected contacts. Do not render empty Memos + if ((ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)) { + line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); + line += QString("<") + QString(c.second.getContact()) + QString("> :\n"); + line += QString(c.second.getMemo()) + QString("\n"); + view->addItem(line); + line =""; + } + + if ((ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)){ line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString(c.second.getContact()) + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; - }else {} + }else{} } @@ -130,14 +136,8 @@ Tx MainWindow::createTxFromChatPage() { CAmount totalAmt; // For each addr/amt in the Chat tab { - - // QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here - // Remove label if it exists - // addr = AddressBook::addressFromAddressLabel(addr); - + QString amtStr = "0"; - - // bool ok; CAmount amt; @@ -151,17 +151,16 @@ Tx MainWindow::createTxFromChatPage() { QString cid = c.getCid(); QString myAddr = c.getMyAddress(); - QString type = "memo"; + QString type = "Memo"; QString addr = c.getPartnerAddress(); QString hmemo= createHeaderMemo(type,cid,myAddr); QString memo = ui->memoTxtChat->toPlainText().trimmed(); - // ui->memoSizeChat->setLenDisplayLabel(); - - + // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; - qDebug()<text()))) { - // QMessageBox msg(QMessageBox::Critical, tr("Memos can only be used with z-addresses"), - // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), - // QMessageBox::Ok, this); + // for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - // msg.exec(); - //return; - //} + // if (ui->ContactZaddr->text().trimmed() == c.getName()) { + + // auto addr = ""; + // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { + // QMessageBox msg(QMessageBox::Critical, tr("Memos can only be used with z-addresses"), + // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), + // QMessageBox::Ok, this); + + // msg.exec(); + // return; + // } Tx tx = createTxFromChatPage(); @@ -287,20 +292,13 @@ QString MainWindow::doSendChatTxValidations(Tx tx) { return ""; } -// Create a Safe Contact Request. +// Create a Contact Request. Tx MainWindow::createTxForSafeContactRequest() { Tx tx; CAmount totalAmt; - // For each addr/amt in the Chat tab { - QString addr = ui->ContactZaddr->text().trimmed(); // We need to set the reply Address for our Contact here - // Remove label if it exists - addr = AddressBook::addressFromAddressLabel(addr); - QString amtStr = "0"; - - // bool ok; CAmount amt; @@ -318,20 +316,17 @@ Tx MainWindow::createTxForSafeContactRequest() { QString cid = ""; QString myAddr = ""; QString addr = ""; - QString safeContact = "true"; + QString type = "Request"; - QString hmemo= createHeaderMemo(safeContact,cid,myAddr); - QString memo = ui->memoTxtChat->toPlainText().trimmed(); - // ui->memoSizeChat->setLenDisplayLabel(); - - + QString hmemo= createHeaderMemo(type,cid,myAddr); + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; - qDebug()<text()))) { - // QMessageBox msg(QMessageBox::Critical, tr("Memos can only be used with z-addresses"), - // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), - // QMessageBox::Ok, this); - - // msg.exec(); - //return; - //} + // for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + + // if (ui->ContactZaddr->text().trimmed() == c.getName()) { + + // auto addr = ""; + // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { + // QMessageBox msg(QMessageBox::Critical, tr("Contact requests can only be used with z-addresses"), + // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), + // QMessageBox::Ok, this); + + // msg.exec(); + // return; + // } Tx tx = createTxForSafeContactRequest(); diff --git a/src/chatmodel.h b/src/chatmodel.h index e0a6dd0..43a0e88 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -118,8 +118,8 @@ class ChatModel void setItems(std::map items); QString zaddr(); void setItems(std::vector items); - void renderChatBox(Ui::MainWindow* ui, QListWidget &view); - void renderChatBox(Ui::MainWindow* ui, QListWidget *view); + void renderChatBox(Ui::MainWindow* ui, QListWidget &view); + void renderChatBox(Ui::MainWindow* ui, QListWidget *view); void showMessages(); void clear(); void addMessage(ChatItem item); diff --git a/src/controller.cpp b/src/controller.cpp index 0c557ca..644fdfb 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -840,48 +840,47 @@ void Controller::refreshBalances() }); } -void Controller::refreshTransactions() -{ +void Controller::refreshTransactions() { if (!zrpc->haveConnection()) return noConnection(); zrpc->fetchTransactions([=] (json reply) { QList txdata; - for (auto& it : reply.get()) - { + for (auto& it : reply.get()) { QString address; CAmount total_amount; QList items; long confirmations; - if (it.find("unconfirmed") != it.end() && it["unconfirmed"].get()) + if (it.find("unconfirmed") != it.end() && it["unconfirmed"].get()) { confirmations = 0; - else + } else { confirmations = model->getLatestBlock() - it["block_height"].get() + 1; + } auto txid = QString::fromStdString(it["txid"]); auto datetime = it["datetime"].get(); // First, check if there's outgoing metadata - if (!it["outgoing_metadata"].is_null()) - { - for (auto o: it["outgoing_metadata"].get()) - { - QString address; + if (!it["outgoing_metadata"].is_null()) { + + for (auto o: it["outgoing_metadata"].get()) { + + QString address; + address = QString::fromStdString(o["address"]); - + // Sent items are -ve CAmount amount = CAmount::fromqint64(-1* o["value"].get()); // Check for Memos QString memo; - if (!o["memo"].is_null()) - { + if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); - - ChatItem item = ChatItem( + } + ChatItem item = ChatItem( datetime, address, QString(""), @@ -889,9 +888,6 @@ void Controller::refreshTransactions() true // is an outgoing message ); chatModel->addMessage(item); - - } - items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; @@ -901,62 +897,46 @@ void Controller::refreshTransactions() // Concat all the addresses QList addresses; - for (auto item : items) - { - if (item.amount == 0 ) - { - } - else - { - addresses.push_back(item.address); - address = addresses.join(","); - } + for (auto item : items) { + + addresses.push_back(item.address); + + address = addresses.join(","); - } + } } - txdata.push_back( - TransactionItem{"send", datetime, address, txid,confirmations, items} - ); - - } - else - { + txdata.push_back(TransactionItem{ + "send", datetime, address, txid,confirmations, items + }); + } else { // Incoming Transaction address = (it["address"].is_null() ? "" : QString::fromStdString(it["address"])); model->markAddressUsed(address); + QString memo; - if (!it["memo"].is_null()) - { + if (!it["memo"].is_null()) { memo = QString::fromStdString(it["memo"]); - - ChatItem item = ChatItem( + } + + ChatItem item = ChatItem( datetime, address, QString(""), memo ); chatModel->addMessage(item); - } - - items.push_back( - TransactionItemDetail{ - address, - CAmount::fromqint64(it["amount"].get()), - memo - } - ); + items.push_back(TransactionItemDetail{ + address, + CAmount::fromqint64(it["amount"].get()), + memo + }); TransactionItem tx{ - "Receive", - datetime, - address, - txid, - confirmations, - items + "Receive", datetime, address, txid,confirmations, items }; txdata.push_back(tx); @@ -967,29 +947,25 @@ void Controller::refreshTransactions() // Calculate the total unspent amount that's pending. This will need to be // shown in the UI so the user can keep track of pending funds CAmount totalPending; - for (auto txitem : txdata) - { - if (txitem.confirmations == 0) - { - for (auto item: txitem.items) - { + for (auto txitem : txdata) { + if (txitem.confirmations == 0) { + for (auto item: txitem.items) { totalPending = totalPending + item.amount; } } } - - getModel()->setTotalPending(totalPending); + getModel()->setTotalPending(totalPending); // Update UI Balance updateUIBalances(); - // Update model data, which updates the table view + // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); chatModel->renderChatBox(ui, ui->listChatMemo); refreshContacts( ui->listContactWidget ); - }); + }); } void Controller::refreshChat(QListWidget *listWidget) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index ab37b27..f6bb131 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -997,10 +997,12 @@ void MainWindow::setupchatTab() { QString label_contact = index.data(Qt::DisplayRole).toString(); for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) - if (label_contact == p.getName()) + if (label_contact == p.getName()) { ui->ContactZaddr->setText(p.getPartnerAddress()); + ui->MyZaddr->setText(p.getMyAddress()); rpc->refresh(true); + } }); } diff --git a/src/mainwindow.ui b/src/mainwindow.ui index ed63164..1a0bb02 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1354,8 +1354,8 @@ - 340 - 490 + 400 + 410 331 17 @@ -1453,8 +1453,8 @@ - 520 - 490 + 340 + 460 67 17 @@ -1466,21 +1466,21 @@ - 520 + 340 490 - 67 + 161 17 - + Your HushChat zaddr: - 550 - 490 + 370 + 460 691 20 @@ -1511,6 +1511,19 @@ false + + + + 490 + 490 + 691 + 20 + + + + + + From 623e5b6d2c603692a2a4aebf760cbc13c5173ef2 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 30 Apr 2020 21:45:54 +0200 Subject: [PATCH 030/251] change some gui elements --- src/chatmodel.cpp | 4 ++-- src/mainwindow.cpp | 1 + src/mainwindow.ui | 12 ++++++------ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index f449b99..1c43495 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -91,7 +91,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) //////Render only Memos for selected contacts. Do not render empty Memos if ((ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)) { line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); - line += QString("<") + QString(c.second.getContact()) + QString("> :\n"); + line += QString("<") + QString("Outgoing") + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; @@ -99,7 +99,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) if ((ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)){ line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); - line += QString("<") + QString(c.second.getContact()) + QString("> :\n"); + line += QString("<") + QString("incoming") + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index f6bb131..ce474cc 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1000,6 +1000,7 @@ void MainWindow::setupchatTab() { if (label_contact == p.getName()) { ui->ContactZaddr->setText(p.getPartnerAddress()); ui->MyZaddr->setText(p.getMyAddress()); + ui->contactNameMemo->setText(p.getName()); rpc->refresh(true); } diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 1a0bb02..2de859e 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1348,7 +1348,7 @@ - <html><head/><body><p align="center">Contact</p></body></html> + <html><head/><body><p align="center">Hushchat Contactlist</p></body></html> @@ -1390,17 +1390,17 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + - 340 + 720 50 - 861 + 481 20 - <html><head/><body><p align="center">Messages</p></body></html> + <html><head/><body><p align="center"><br/></p></body></html> @@ -1505,7 +1505,7 @@ - Sicheren Kontakt hinzufügen + Add conversation contact false From 71941224494bf0f39224b7b8361b150682d07b4f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 30 Apr 2020 22:58:35 +0200 Subject: [PATCH 031/251] change some gui elements, deactivate contact request for now --- src/chatmodel.cpp | 21 +++++++++++---------- src/controller.cpp | 42 ++++++++++++++++++++++-------------------- src/mainwindow.cpp | 2 +- src/mainwindow.ui | 10 +++++----- src/sendtab.cpp | 20 ++++++++++---------- 5 files changed, 49 insertions(+), 46 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 1c43495..e95aff7 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -36,6 +36,7 @@ void ChatModel::setItems(std::vector items) for(ChatItem c : items) { this->chatItems[c.getTimestamp()] = c; + } } @@ -95,7 +96,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; - } + }else{} if ((ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)){ line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); @@ -321,7 +322,7 @@ Tx MainWindow::createTxForSafeContactRequest() { QString hmemo= createHeaderMemo(type,cid,myAddr); - tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; + // tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; qDebug() << "pushback chattx"; } @@ -334,7 +335,7 @@ Tx MainWindow::createTxForSafeContactRequest() { qDebug() << "ChatTx created"; } - +//////////////////De-activated for now/////////////////// void MainWindow::safeContactRequest() { ////////////////////////////Todo: Check if its a zaddr////////// @@ -357,9 +358,9 @@ void MainWindow::safeContactRequest() { // return; // } - Tx tx = createTxForSafeContactRequest(); + /* Tx tx = createTxForSafeContactRequest(); - QString error = doSendChatTxValidations(tx); + QString error = doSendRequestTxValidations(tx); if (!error.isEmpty()) { // Something went wrong, so show an error and exit @@ -419,14 +420,14 @@ void MainWindow::safeContactRequest() { QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); } - ); - } + );*/ + } QString MainWindow::doSendRequestTxValidations(Tx tx) { // Check to see if we have enough verified funds to send the Tx. - CAmount total; + /* CAmount total; for (auto toAddr : tx.toAddrs) { if (!Settings::isValidAddress(toAddr.addr)) { QString addr = (toAddr.addr.length() > 100 ? toAddr.addr.left(100) + "..." : toAddr.addr); @@ -450,5 +451,5 @@ QString MainWindow::doSendRequestTxValidations(Tx tx) { .arg(available.toDecimalhushString(), total.toDecimalhushString()); } - return ""; -} \ No newline at end of file + return "";*/ +} diff --git a/src/controller.cpp b/src/controller.cpp index 644fdfb..e6b6b37 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -879,37 +879,40 @@ void Controller::refreshTransactions() { QString memo; if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); - } - ChatItem item = ChatItem( + + ChatItem item = ChatItem( datetime, address, QString(""), - memo, - true // is an outgoing message + memo + // true // is an outgoing message ); chatModel->addMessage(item); + } + items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; - } + // } - { + // { // Concat all the addresses - QList addresses; - for (auto item : items) { + // QList addresses; + // for (auto item : items) { - addresses.push_back(item.address); + // addresses.push_back(item.address); - address = addresses.join(","); + - } + // } - } + // } txdata.push_back(TransactionItem{ "send", datetime, address, txid,confirmations, items }); + } } else { // Incoming Transaction address = (it["address"].is_null() ? "" : QString::fromStdString(it["address"])); @@ -919,8 +922,14 @@ void Controller::refreshTransactions() { if (!it["memo"].is_null()) { memo = QString::fromStdString(it["memo"]); } + + TransactionItem tx{ + "Receive", datetime, address, txid,confirmations, items + }; + + txdata.push_back(tx); - ChatItem item = ChatItem( + ChatItem item = ChatItem( datetime, address, QString(""), @@ -933,13 +942,6 @@ void Controller::refreshTransactions() { CAmount::fromqint64(it["amount"].get()), memo }); - - - TransactionItem tx{ - "Receive", datetime, address, txid,confirmations, items - }; - - txdata.push_back(tx); } } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index ce474cc..76cd090 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -974,7 +974,7 @@ void MainWindow::setupTransactionsTab() { qApp->processEvents(); // Click the memo button - this->memoButtonClicked(1, true); + this->memoButtonClicked(1, true); }); } } diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 2de859e..e5eb12e 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1460,7 +1460,7 @@ - To: + <html><head/><body><p>Send to :</p></body></html> @@ -1468,18 +1468,18 @@ 340 490 - 161 + 81 17 - Your HushChat zaddr: + <html><head/><body><p>My zaddr :</p></body></html> - 370 + 420 460 691 20 @@ -1514,7 +1514,7 @@ - 490 + 420 490 691 20 diff --git a/src/sendtab.cpp b/src/sendtab.cpp index 6d4ba38..67f6553 100644 --- a/src/sendtab.cpp +++ b/src/sendtab.cpp @@ -35,7 +35,7 @@ void MainWindow::setupSendTab() { }); // The first Memo button - QObject::connect(ui->MemoBtn1, &QPushButton::clicked, [=] () { + QObject::connect(ui->MemoBtn1, &QPushButton::clicked, [=] () { this->memoButtonClicked(1); }); setMemoEnabled(1, false); @@ -377,15 +377,15 @@ void MainWindow::setMemoEnabled(int number, bool enabled) { void MainWindow::memoButtonClicked(int number, bool includeReplyTo) { // Memos can only be used with zAddrs. So check that first - auto addr = ui->sendToWidgets->findChild(QString("Address") + QString::number(number)); - if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { - QMessageBox msg(QMessageBox::Critical, tr("Memos can only be used with z-addresses"), - tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), - QMessageBox::Ok, this); - - msg.exec(); - return; - } + // auto addr = ui->sendToWidgets->findChild(QString("Address") + QString::number(number)); + //if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { + // QMessageBox msg(QMessageBox::Critical, tr("Memos can only be used with z-addresses"), + // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), + // QMessageBox::Ok, this); + + // msg.exec(); + // return; + // } // Get the current memo if it exists auto memoTxt = ui->sendToWidgets->findChild(QString("MemoTxt") + QString::number(number)); From 70302829b7618c8285df9f3f870e5a68ab247df2 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 00:02:28 +0200 Subject: [PATCH 032/251] make Addressbook HushChat address changeable and show it earlier --- src/addressbook.cpp | 51 ++++++++++++++++++++++++++++----------------- src/addressbook.ui | 28 ++++++++++++------------- 2 files changed, 46 insertions(+), 33 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 522ec60..4725959 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -138,6 +138,24 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) // Connect the dialog's closing to updating the label address completor QObject::connect(&d, &QDialog::finished, [=] (auto) { parent->updateLabels(); }); + Controller* rpc = parent->getRPC(); + bool sapling = true; + rpc->createNewZaddr(sapling, [=] (json reply) { + QString myAddr = QString::fromStdString(reply.get()[0]); + // QString myAddr = "zs1flslqurcnummsw37mfxkhx6d7uwpevlc78cdjyqrgng7357t8f3stm9fneeqtuupfnrt7f933a9"; + QString message = QString("New Chat Address for your partner: ") + myAddr; + + parent->ui->listReceiveAddresses->insertItem(0, myAddr); + parent->ui->listReceiveAddresses->setCurrentIndex(0); + // ab.addr_chat->setText(myAddr); + qDebug() << "new generated myAddr" << myAddr; + // + ab.addr_chat->setText(myAddr); + // AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), myAddr, cid); + }); + model.updateUi(); //todo fix updating gui after adding + rpc->refresh(true); + // If there is a target then make it the addr for the "Add to" button if (target != nullptr && Settings::isValidAddress(target->text())) { @@ -148,7 +166,11 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) // Add new address button QObject::connect(ab.addNew, &QPushButton::clicked, [&] () { auto addr = ab.addr->text().trimmed(); + auto myAddr = ab.addr->text().trimmed(); QString newLabel = ab.label->text(); + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + + if (addr.isEmpty() || newLabel.isEmpty()) { @@ -183,32 +205,23 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) ); return; } - Controller* rpc = parent->getRPC(); - bool sapling = true; - rpc->createNewZaddr(sapling, [=] (json reply) { - QString myAddr = QString::fromStdString(reply.get()[0]); - QString message = QString("New Chat Address for your partner: ") + myAddr; + + ////// We need a better popup here. + AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid); QMessageBox::critical( parent, - QObject::tr("Success"), - message, //todo translate this + QObject::tr("Add Successfully"), + QObject::tr("juhu").arg(newLabel), QMessageBox::Ok ); - parent->ui->listReceiveAddresses->insertItem(0, addr); - parent->ui->listReceiveAddresses->setCurrentIndex(0); - // ab.addr_chat->setText(myAddr); - qDebug() << "new generated myAddr" << myAddr; - QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); // - AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), myAddr, cid); - }); - model.updateUi(); //todo fix updating gui after adding + return; + + + rpc->refresh(true); + model.updateUi(); }); - /// Generate CID for Contact - - - // AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), cid); // Import Button diff --git a/src/addressbook.ui b/src/addressbook.ui index 20104b9..1c6ed52 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -20,7 +20,17 @@ Add New Address - + + + + Address (z-Addr or t-Addr) + + + + + + + HushChat Address - give this Address only to your contact @@ -30,10 +40,10 @@ - - + + - Address (z-Addr or t-Addr) + Label @@ -47,16 +57,6 @@ - - - - Label - - - - - - From 24d3a4e9821e4fc857ce63112f0e1a50b3ce3644 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 00:18:31 +0200 Subject: [PATCH 033/251] fix typo --- src/addressbook.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 4725959..975c3e5 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -166,7 +166,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) // Add new address button QObject::connect(ab.addNew, &QPushButton::clicked, [&] () { auto addr = ab.addr->text().trimmed(); - auto myAddr = ab.addr->text().trimmed(); + auto myAddr = ab.addr_chat->text().trimmed(); QString newLabel = ab.label->text(); QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); From 0191d3ce32f0c2e6d5d7e995b2f6d7f71d1e2baf Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Thu, 30 Apr 2020 20:15:38 -0400 Subject: [PATCH 034/251] added midnight theme --- application.qrc | 1 + res/css/midnight.css | 139 +++++++++++++++++++++++++++++++++++++++++++ src/settings.ui | 5 ++ 3 files changed, 145 insertions(+) create mode 100644 res/css/midnight.css diff --git a/application.qrc b/application.qrc index 4c7a4d9..befc00a 100644 --- a/application.qrc +++ b/application.qrc @@ -26,6 +26,7 @@ res/css/dark.css res/css/default.css res/css/light.css + res/css/midnight.css res/images/blue/unchecked.png diff --git a/res/css/midnight.css b/res/css/midnight.css new file mode 100644 index 0000000..39347c1 --- /dev/null +++ b/res/css/midnight.css @@ -0,0 +1,139 @@ +/* +Theme: Midnight Qt +Version: 1.0.2 +Reference: https://doc.qt.io/qt-5/stylesheet-reference.html + +Author: Charles Sharpe +Date: Apr. 23, 2020 +Website: https://www.csharpe.me +License: https://opensource.org/licenses/MIT +*/ + +QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel, MainWindow +{ +background-color: #111; +color: #fff; +} + +QPushButton { +padding: 10px 15px; +} + +QPushButton:hover { +background: #222; +} + +QLineEdit, QRadioButton::indicator::unchecked, QCheckBox::indicator::unchecked { +background: #222; +border: 1px solid #333; +border-radius: 3px; +} + +QLineEdit { +font-size: 12px; +} + +QLineEdit:focus { +border: 1px solid #9d8400; +} + +QWidget QLabel { +font-size: 11pt; +} + +QWidget QCheckBox { +font-weight: bold; +} + +QTabWidget QTabBar::tab { +min-height: 15px; +padding: 15px 25px; +border: 1px ridge #222; +left: 1px; /* Fix 1px alignment */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #333, stop: 1 #111); +} + +QTabWidget QTabBar::tab:selected { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #555, stop: 1 #111); +color:#fff; +border: 1px ridge #222; +border-bottom: 0px; /* Overwrites border-bottom */ +} + +QTabWidget QTabBar::tab:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #555, stop: 1 #111); +} + +QHeaderView { /* Table Header */ +background-color:#111; +} + +QHeaderView::section { /* Table Header Sections */ +qproperty-alignment:center; +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #333, stop: 1 #111); +color:#fff; +min-height:25px; +font-weight:bold; +font-size:12px; +outline:0; +border:1px ridge #222; +padding: 2px 5px; +} + +QHeaderView::section:last { +border-right: 0px ridge #222; +} + +QScrollArea { +background:transparent; +border:0px; +} + +QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */ +background:#111; +} + +QTableView::item { /* Table Item */ +background-color:#111; +border:1px solid #222; +font-size:12px; +} + +QTableView::item:selected { /* Table Item Selected */ +background-color:#fff; +color:#000; +} + +QMenuBar { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #222, stop: 1 #111); +color: #fff; +} + +QMenuBar::item { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #222, stop: 1 #111); +color: #fff; +padding: 5px 7px; +margin: 0px; +} + +QMenuBar::item:selected { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #333, stop: 1 #111); +} + +QMenu { +border:1px solid #222; +} + +QMenu::item { +padding: 7px 15px; +} + +QMenu::item:selected { +background: #222; +} + +QMenu::separator { + height: 1px; + margin: 3px 7px 3px 7px; /* space at ends of separator */ + background: #222; +} diff --git a/src/settings.ui b/src/settings.ui index 419509c..6871c7b 100644 --- a/src/settings.ui +++ b/src/settings.ui @@ -115,6 +115,11 @@ dark + + + midnight + + From b9dab96b870f70c998fcee723a95ddb482b098e8 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 12:27:21 +0200 Subject: [PATCH 035/251] add txid and cid to chatmodel --- src/chatmodel.cpp | 8 ++++++-- src/chatmodel.h | 29 +++++++++++++++++++++++++++-- src/controller.cpp | 8 ++++++-- src/mainwindow.cpp | 1 + src/mainwindow.ui | 13 +++++++++++++ 5 files changed, 53 insertions(+), 6 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index e95aff7..eaa1b88 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -8,8 +8,11 @@ #include "ui_memodialog.h" #include "addressbook.h" #include +#include +#include - +using namespace std; +using namespace boost; ChatModel::ChatModel(std::map chatItems) { @@ -89,8 +92,9 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) myDateTime.setTime_t(c.second.getTimestamp()); - //////Render only Memos for selected contacts. Do not render empty Memos + //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid if ((ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)) { + // if (c.second.getMemo.find()) line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString("Outgoing") + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); diff --git a/src/chatmodel.h b/src/chatmodel.h index 43a0e88..4e822c1 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -17,27 +17,33 @@ class ChatItem QString _address; QString _contact; QString _memo; + QString _cid; + QString _txid; bool _outgoing = false; public: ChatItem() {} - ChatItem(long timestamp, QString address, QString contact, QString memo) + ChatItem(long timestamp, QString address, QString contact, QString memo, QString cid, QString txid) { _timestamp = timestamp; _address = address; _contact = contact; _memo = memo; + _cid = cid; + _txid = txid; _outgoing = false; } - ChatItem(long timestamp, QString address, QString contact, QString memo, bool outgoing) + ChatItem(long timestamp, QString address, QString contact, QString memo, QString cid, QString txid, bool outgoing) { _timestamp = timestamp; _address = address; _contact = contact; _memo = memo; + _cid = cid; + _txid = txid; _outgoing = outgoing; } @@ -62,6 +68,16 @@ class ChatItem return _memo; } + QString getCid() + { + return _cid; + } + + QString getTxid() + { + return _cid; + } + bool isOutgoing() { return _outgoing; @@ -87,6 +103,15 @@ class ChatItem _memo = memo; } + void setCid(QString cid) + { + _cid = cid; + } + void setTxid(QString txid) + { + _txid = txid; + } + void toggleOutgo() { _outgoing = true; diff --git a/src/controller.cpp b/src/controller.cpp index e6b6b37..cf73946 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -884,7 +884,9 @@ void Controller::refreshTransactions() { datetime, address, QString(""), - memo + memo, + "", // we have to set the cid here, + txid // true // is an outgoing message ); chatModel->addMessage(item); @@ -933,7 +935,9 @@ void Controller::refreshTransactions() { datetime, address, QString(""), - memo + memo, + "", // we have to set the cid here + txid ); chatModel->addMessage(item); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 76cd090..2b252e4 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1001,6 +1001,7 @@ void MainWindow::setupchatTab() { ui->ContactZaddr->setText(p.getPartnerAddress()); ui->MyZaddr->setText(p.getMyAddress()); ui->contactNameMemo->setText(p.getName()); + ui->contactCid->setText(p.getCid()); rpc->refresh(true); } diff --git a/src/mainwindow.ui b/src/mainwindow.ui index e5eb12e..913907f 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1524,6 +1524,19 @@ + + + + 870 + 90 + 331 + 20 + + + + <html><head/><body><p align="center"><br/></p></body></html> + + From 4afd49d0a7cb79eeff2c6066548a8c74efc70257 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 13:15:05 +0200 Subject: [PATCH 036/251] read the cid from headermemo into qstring --- src/controller.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index cf73946..0871d6b 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -885,7 +885,7 @@ void Controller::refreshTransactions() { address, QString(""), memo, - "", // we have to set the cid here, + "", // we have to set the cid here, its included in our Addressbook for this contact txid // true // is an outgoing message ); @@ -924,21 +924,30 @@ void Controller::refreshTransactions() { if (!it["memo"].is_null()) { memo = QString::fromStdString(it["memo"]); } - + TransactionItem tx{ "Receive", datetime, address, txid,confirmations, items }; txdata.push_back(tx); + QString cid; + if (memo.startsWith("{")) { + + cid = memo.mid(14,36); + + }else{ cid = "";} + ChatItem item = ChatItem( datetime, address, QString(""), memo, - "", // we have to set the cid here + cid, // we have to set the cid here, its included in the headermemo txid ); + qDebug()<addMessage(item); items.push_back(TransactionItemDetail{ From 4f4ec7cd317bd21114c4cf5ebc2d79c3135b029e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 13:42:25 +0200 Subject: [PATCH 037/251] fix typo --- src/chatmodel.cpp | 4 ++++ src/chatmodel.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index eaa1b88..558ea6f 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -100,6 +100,10 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; + + ////////////////////////////////// Todo : Render green checkmark for contacts if cid = cid - We have to search for cid in txid/cid list + QString cid = c.second.getCid(); + }else{} if ((ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)){ diff --git a/src/chatmodel.h b/src/chatmodel.h index 4e822c1..9f06d3a 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -75,7 +75,7 @@ class ChatItem QString getTxid() { - return _cid; + return _txid; } bool isOutgoing() From 899826398991fa81c51e56812dfac672dc506aa7 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 17:09:49 +0200 Subject: [PATCH 038/251] fix broken sendmemo --- src/controller.cpp | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 0871d6b..c26c2f3 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -895,26 +895,27 @@ void Controller::refreshTransactions() { items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; - // } + } - // { + { + QList addresses; + for (auto item : items) { // Concat all the addresses - - // QList addresses; - // for (auto item : items) { + if (item.amount == 0) { + + }else{ + - // addresses.push_back(item.address); + addresses.push_back(item.address); } - - - // } + } - // } + } + txdata.push_back(TransactionItem{ "send", datetime, address, txid,confirmations, items }); - } } else { // Incoming Transaction address = (it["address"].is_null() ? "" : QString::fromStdString(it["address"])); @@ -925,6 +926,12 @@ void Controller::refreshTransactions() { memo = QString::fromStdString(it["memo"]); } + items.push_back(TransactionItemDetail{ + address, + CAmount::fromqint64(it["amount"].get()), + memo + }); + TransactionItem tx{ "Receive", datetime, address, txid,confirmations, items }; From 51c180af18039388332a474450fc6a9654851630 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 17:44:18 +0200 Subject: [PATCH 039/251] fix send of memos --- src/chatmodel.cpp | 10 ++++++---- src/controller.cpp | 23 +++++++++++------------ 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 558ea6f..df894c3 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -93,7 +93,9 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) myDateTime.setTime_t(c.second.getTimestamp()); //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid - if ((ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)) { + + /// + if ((ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)) { // if (c.second.getMemo.find()) line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString("Outgoing") + QString("> :\n"); @@ -102,7 +104,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) line =""; ////////////////////////////////// Todo : Render green checkmark for contacts if cid = cid - We have to search for cid in txid/cid list - QString cid = c.second.getCid(); + // QString cid = c.second.getCid(); }else{} @@ -170,7 +172,7 @@ Tx MainWindow::createTxFromChatPage() { tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; - tx.toAddrs.push_back( ToFields{addr, amt, memo}); + tx.toAddrs.push_back(ToFields{addr, amt, memo}); qDebug() << "pushback chattx"; } } @@ -249,7 +251,7 @@ void MainWindow::sendChatButton() { }); // Force a UI update so we get the unconfirmed Tx - rpc->refresh(true); + // rpc->refresh(true); ui->memoTxtChat->clear(); }, diff --git a/src/controller.cpp b/src/controller.cpp index c26c2f3..38bfada 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -926,25 +926,26 @@ void Controller::refreshTransactions() { memo = QString::fromStdString(it["memo"]); } - items.push_back(TransactionItemDetail{ + items.push_back(TransactionItemDetail{ address, CAmount::fromqint64(it["amount"].get()), memo }); - + + TransactionItem tx{ "Receive", datetime, address, txid,confirmations, items }; txdata.push_back(tx); - QString cid; - if (memo.startsWith("{")) { + QString cid = ""; + // if (memo.startsWith("{")) { - cid = memo.mid(14,36); - - }else{ cid = "";} + // cid = memo.mid(14,36); + // }else{ cid = "";} + ChatItem item = ChatItem( datetime, address, @@ -955,13 +956,9 @@ void Controller::refreshTransactions() { ); qDebug()<addMessage(item); - items.push_back(TransactionItemDetail{ - address, - CAmount::fromqint64(it["amount"].get()), - memo - }); } } @@ -986,6 +983,7 @@ void Controller::refreshTransactions() { chatModel->renderChatBox(ui, ui->listChatMemo); refreshContacts( ui->listContactWidget + ); }); } @@ -993,6 +991,7 @@ void Controller::refreshTransactions() { void Controller::refreshChat(QListWidget *listWidget) { chatModel->renderChatBox(ui, listWidget); + } void Controller::refreshContacts(QListWidget *listWidget) From 498fca3fd6cda564a45ea8abf78509cce7402c3a Mon Sep 17 00:00:00 2001 From: strider Date: Fri, 1 May 2020 18:51:09 +0200 Subject: [PATCH 040/251] update// fixed wrong savings --- src/chatmodel.cpp | 52 +++++++++++++++++++++++++++++++++++++++------- src/chatmodel.h | 17 +++++++++------ src/controller.cpp | 9 ++++---- 3 files changed, 60 insertions(+), 18 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index df894c3..c01b84c 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -14,7 +14,7 @@ using namespace std; using namespace boost; -ChatModel::ChatModel(std::map chatItems) +ChatModel::ChatModel(std::map chatItems) { this->chatItems = chatItems; } @@ -24,12 +24,26 @@ ChatModel::ChatModel(std::vector chatItems) this->setItems(chatItems); } -std::map ChatModel::getItems() +QString ChatModel::generateChatItemID(ChatItem item) +{ + QString key = QString::number(item.getTimestamp()) + QString("-"); + key += QString(QCryptographicHash::hash( + QString( + QString::number(item.getTimestamp()) + + item.getAddress() + + item.getContact() + + item.getMemo() + ).toUtf8() + ,QCryptographicHash::Md5).toHex()); + return key; +} + +std::map ChatModel::getItems() { return this->chatItems; } -void ChatModel::setItems(std::map items) +void ChatModel::setItems(std::map items) { this->chatItems = chatItems; } @@ -38,7 +52,7 @@ void ChatModel::setItems(std::vector items) { for(ChatItem c : items) { - this->chatItems[c.getTimestamp()] = c; + this->chatItems[this->generateChatItemID(c)] = c; } } @@ -50,12 +64,16 @@ void ChatModel::clear() void ChatModel::addMessage(ChatItem item) { - this->chatItems[item.getTimestamp()] = item; + QString key = this->generateChatItemID(item); + qDebug() << "inserting chatitem with id: " << key; + this->chatItems[key] = item; } -void ChatModel::addMessage(long timestamp, ChatItem item) +void ChatModel::addMessage(QString timestamp, ChatItem item) { - this->chatItems[timestamp] = item; + QString key = this->generateChatItemID(item); + timestamp = "0"; + this->chatItems[key] = item; } void ChatModel::showMessages() @@ -120,6 +138,26 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) } +void ChatModel::addCid(QString tx, QString cid) +{ + this->cidMap[tx] = cid; +} + +QString ChatModel::getCidByTx(QString tx) +{ + if(this->cidMap.count(tx) > 0) + { + return this->cidMap[tx]; + } + + return QString("0xdeadbeef"); +} + +void ChatModel::killCidCache() +{ + this->cidMap.clear(); +} + QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, int version=0, int headerNumber=1) { diff --git a/src/chatmodel.h b/src/chatmodel.h index 9f06d3a..fcc68bf 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -73,7 +73,7 @@ class ChatItem return _cid; } - QString getTxid() + QString getTxid() { return _txid; } @@ -130,17 +130,19 @@ class ChatItem class ChatModel { private: - std::map chatItems; + std::map chatItems; QTableView* parent; Ui::MainWindow* ui; MainWindow* main; + std::map cidMap; public: ChatModel() {}; - ChatModel(std::map chatItems); + ChatModel(std::map chatItems); ChatModel(std::vector chatItems); - std::map getItems(); - void setItems(std::map items); + QString generateChatItemID(ChatItem item); + std::map getItems(); + void setItems(std::map items); QString zaddr(); void setItems(std::vector items); void renderChatBox(Ui::MainWindow* ui, QListWidget &view); @@ -148,7 +150,10 @@ class ChatModel void showMessages(); void clear(); void addMessage(ChatItem item); - void addMessage(long timestamp, ChatItem item); + void addMessage(QString timestamp, ChatItem item); + void addCid(QString tx, QString cid); + QString getCidByTx(QString tx); + void killCidCache(); }; #endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 38bfada..5952201 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -940,11 +940,10 @@ void Controller::refreshTransactions() { txdata.push_back(tx); QString cid = ""; - // if (memo.startsWith("{")) { - - // cid = memo.mid(14,36); - - // }else{ cid = "";} + if (memo.startsWith("{")) { + cid = memo.mid(14,36); + chatModel->addCid(txid, cid); + }else{ cid = "";} ChatItem item = ChatItem( datetime, From 95638a25fd46c0c3619b95d36a6bdb8b6e353ddd Mon Sep 17 00:00:00 2001 From: Strider <404@127.0.0.1.com> Date: Fri, 1 May 2020 19:18:07 +0200 Subject: [PATCH 041/251] update// map read --- src/chatmodel.cpp | 5 +++++ src/controller.cpp | 13 ++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c01b84c..c4b7678 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -145,6 +145,11 @@ void ChatModel::addCid(QString tx, QString cid) QString ChatModel::getCidByTx(QString tx) { + for(auto& pair : this->cidMap) + { + qDebug() << "TXID=" << pair.first << " CID=" << pair.second; + } + if(this->cidMap.count(tx) > 0) { return this->cidMap[tx]; diff --git a/src/controller.cpp b/src/controller.cpp index 5952201..0845a16 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -943,8 +943,13 @@ void Controller::refreshTransactions() { if (memo.startsWith("{")) { cid = memo.mid(14,36); chatModel->addCid(txid, cid); - }else{ cid = "";} - + }else{ + if(chatModel->getCidByTx(txid) != QString("0xdeadbeef")) + cid = chatModel->getCidByTx(txid); + + cid = ""; + } + ChatItem item = ChatItem( datetime, address, @@ -953,9 +958,7 @@ void Controller::refreshTransactions() { cid, // we have to set the cid here, its included in the headermemo txid ); - qDebug()<addMessage(item); } From 7faf0f0b50c89d19845b7c79501ff9373089c39c Mon Sep 17 00:00:00 2001 From: Strider <404@127.0.0.1.com> Date: Fri, 1 May 2020 19:34:23 +0200 Subject: [PATCH 042/251] fix// added else --- src/chatmodel.cpp | 4 +++- src/controller.cpp | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c4b7678..6ba7255 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -117,6 +117,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) // if (c.second.getMemo.find()) line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString("Outgoing") + QString("> :\n"); + line += QString("<") + c.second.getCid() + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; @@ -129,6 +130,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) if ((ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)){ line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString("incoming") + QString("> :\n"); + line += QString("<") + c.second.getCid() + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; @@ -149,7 +151,7 @@ QString ChatModel::getCidByTx(QString tx) { qDebug() << "TXID=" << pair.first << " CID=" << pair.second; } - + if(this->cidMap.count(tx) > 0) { return this->cidMap[tx]; diff --git a/src/controller.cpp b/src/controller.cpp index 0845a16..b1e3f4f 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -947,7 +947,8 @@ void Controller::refreshTransactions() { if(chatModel->getCidByTx(txid) != QString("0xdeadbeef")) cid = chatModel->getCidByTx(txid); - cid = ""; + else + cid = ""; } ChatItem item = ChatItem( From 6ddb6855d49a1222a5f00cfafb80c6f80802787e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 19:36:38 +0200 Subject: [PATCH 043/251] merge and ui update - for debug --- src/addressbook.cpp | 4 ++-- src/addressbook.ui | 2 +- src/chatmodel.cpp | 2 ++ src/controller.cpp | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 975c3e5..be13b82 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -168,9 +168,9 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) auto addr = ab.addr->text().trimmed(); auto myAddr = ab.addr_chat->text().trimmed(); QString newLabel = ab.label->text(); - QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + // QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); - + QString cid = ab.cid->text(); if (addr.isEmpty() || newLabel.isEmpty()) { diff --git a/src/addressbook.ui b/src/addressbook.ui index 1c6ed52..f2344eb 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -55,7 +55,7 @@ - + diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c4b7678..85b135a 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -117,6 +117,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) // if (c.second.getMemo.find()) line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString("Outgoing") + QString("> :\n"); + line += QString("<") + c.second.getCid() + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; @@ -129,6 +130,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) if ((ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)){ line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString("incoming") + QString("> :\n"); + line += QString("<") + c.second.getCid() + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; diff --git a/src/controller.cpp b/src/controller.cpp index 0845a16..0457ccd 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -947,7 +947,7 @@ void Controller::refreshTransactions() { if(chatModel->getCidByTx(txid) != QString("0xdeadbeef")) cid = chatModel->getCidByTx(txid); - cid = ""; + //cid = ""; } ChatItem item = ChatItem( From 5ee796dc0f4842a36e45bba86c265b41cfb4179c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 19:46:38 +0200 Subject: [PATCH 044/251] set cid for outgoing memos --- src/controller.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/controller.cpp b/src/controller.cpp index b1e3f4f..cb32868 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -880,12 +880,19 @@ void Controller::refreshTransactions() { if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); + QString cid; + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + if (ui->ContactZaddr->text().trimmed() == c.getPartnerAddress()) { + + cid = c.getCid(); + }else {cid = "";} + ChatItem item = ChatItem( datetime, address, QString(""), memo, - "", // we have to set the cid here, its included in our Addressbook for this contact + cid, // we have to set the cid here, its included in our Addressbook for this contact txid // true // is an outgoing message ); From a3e762a4adca33602ad7501232db5fd032226982 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 20:19:29 +0200 Subject: [PATCH 045/251] add verified flag for Chatmessages --- src/chatmodel.cpp | 13 ++++++++----- src/controller.cpp | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 6ba7255..8a0689b 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -117,23 +117,26 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) // if (c.second.getMemo.find()) line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString("Outgoing") + QString("> :\n"); - line += QString("<") + c.second.getCid() + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); line =""; + ////////////////////////////////// Todo : Render green checkmark for contacts if cid = cid - We have to search for cid in txid/cid list // QString cid = c.second.getCid(); - }else{} - + } + if ((ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)){ + for(auto &p : AddressBook::getInstance()->getAllAddressLabels()){ + if (p.getCid() == c.second.getCid()){ + line += QString("<") + "verified" + QString("> :\n");} + } line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString("incoming") + QString("> :\n"); - line += QString("<") + c.second.getCid() + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); - line =""; + line =""; }else{} } diff --git a/src/controller.cpp b/src/controller.cpp index cb32868..36ac2c8 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -882,7 +882,7 @@ void Controller::refreshTransactions() { QString cid; for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - if (ui->ContactZaddr->text().trimmed() == c.getPartnerAddress()) { + if ((ui->ContactZaddr->text().trimmed() == c.getPartnerAddress()) || (ui->MyZaddr->text().trimmed() == c.getMyAddress())) { cid = c.getCid(); }else {cid = "";} From 385c6a28b66ceb3ecaf9fb71aa97ac5591a25bfd Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Fri, 1 May 2020 14:29:05 -0400 Subject: [PATCH 046/251] added files and updated qrc --- application.qrc | 4 ++++ res/silentdragonlite-animated-dark.gif | Bin 0 -> 415326 bytes ...silentdragonlite-animated-startup-dark.gif | Bin 0 -> 1072548 bytes res/silentdragonlite-animated-startup.gif | Bin 0 -> 1039318 bytes res/silentdragonlite-animated.gif | Bin 0 -> 415920 bytes 5 files changed, 4 insertions(+) create mode 100644 res/silentdragonlite-animated-dark.gif create mode 100644 res/silentdragonlite-animated-startup-dark.gif create mode 100644 res/silentdragonlite-animated-startup.gif create mode 100644 res/silentdragonlite-animated.gif diff --git a/application.qrc b/application.qrc index 4c7a4d9..200524c 100644 --- a/application.qrc +++ b/application.qrc @@ -11,6 +11,10 @@ res/hushdlogo.gif res/logobig.gif + res/silentdragonlite-animated.gif + res/silentdragonlite-animated-dark.gif + res/silentdragonlite-animated-startup.gif + res/silentdragonlite-animated-startup-dark.gif res/silentdragonlite_de.qm diff --git a/res/silentdragonlite-animated-dark.gif b/res/silentdragonlite-animated-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..10999e1e7c9144cbbe07126d77988016487c7d82 GIT binary patch literal 415326 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%0D72@aC&kodZ<&d_JIBGnV5^xaa_^Y+x#Z8Sd& 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�QeeQnWkZn(&83EnE*yb!E|F@eI=58N)bg;e- z8vXj5WIu(Ua0rt*esObTc?*TKo&FR9S12)X*9EGq6@gU;q}2WO8s)A_sY?^^Rh9WR9m&2B3 z3L)e?Q`Ed-OUMze+Up=N9qbP9CA(@b*nXBjOQ%NYzkNh8e@S~@@u=39yS?{FIr~`^ zGI&MQhbv&d39-r85255I4&4X60&hIBy#I5(Q*h$%an5Nm#*{EQI&%fm?p5&zuQ7i) zGdRaf_~M#BOU4Dk-&!Ym`m%vT<4a!D!R&O%5VRBUhlns|g>e3wclNU<|DrTO!f`Ve%|&rYcE(uQt%rh0U;(hqz2x$7z{K0B>#o~b=o%& zBhVT+ z7*NyPdEWfMQio8#`s($p+h?}laaO=6*DZzbhaBX`GcxF>oaTC?@3oV6Sh)6738R+y z-xZ|K_zv!n`$u(l#?wFCAwAoz{^CTr2VBY_{?t)b?rzrJdw;WaPrI1qY9z9{O|Y81 z)59}hHuJNq_GeG;W8Bk+i#Xj-r>A?(y_&$CjkFKHGj@J?e)zNgY^l5RSNONqcQw2Z zR7AJ6yeFRD!=HZY*Zz_DoAnT^{WsQQ{uk>Jbk?s&G<8T(xa-#DX+lu{Vm+jN|H694 z5$-yT2B+yFg8E=Of?%UI;2^VzBSY=ct?DeQO77XvlS)#5 zcrTyOm!nS!=dUnd%FNE7Z{}ZwmPPXko;`3_?UP6wp0!lLvaI^8Z^nK6Cmb)43b&*}Xx$H(Z0{4YGF+ef$B=kNDJCIHB06%&%^ zLJnX?WTH0vAP{)UPAUd7CL$z-*O6Tch_?i$L9ru~3Qhn=Tn|rG(4B^0a1z`Mh0c+~ zByzQ0RFnd>$f!B-g!mx}04>MJAT*`moAEALY8GMg1RdCDv@fe`KAM&<90t`s04p*W zA<-03=j-6J5s^#nN>@_1%}<2X(ZfeMh#ThU{`7sjY33OpvIjn_@Fz1op>uY|m3%qL zVxD{dRi`XO4#PqUFhC#h4JJA%{%!FS34BpZfw%#GmfL0DY$=E~&28v;E?vbEvUKzJ zl`yhmU1k{J!jcY{-FSCuJ@9jiwgS_jhk?xShQO%lYV`N@m68BQJ$pQ@RD-v4?t+_^ z^$gs)&ao1NTcT{2o}Z>TMDF-0EeQLAhK#De-&_uoRou@o3h71!_M@%xB zPzkcc)1<7xRegYd^T~Pjd!^emkIyRPG#FZjq*6hnVI7tqj&L6Utm~$p0IJ`=r|9aR z*N~euBw_!$Wb6E~sloUj6C((jwUr_mop&}1X_771*^Uj5+m9N1REc7A2#=(zV4?cZ z?CT7Ep49CWO@u@c1`ey#r_uH8F3yU6Wiw4w)Z50>lDH9=PY&J}yPshsZGiq&w%IPP z3mRjoAjbZ}Ew`gnc}bQ7r;5pMopcY9K}Z95N^mp+5(&QtI>fQC>PyeS!C1aC-fODZ zTJw+TuYO~r7o&><+@YPBYDDlfRB?28DM%fis;&d{`dSZ5!|Z8{3>FV`u5l$e*+5=I zqrw%Z29a5rw-U|uX#K9RHly2W#MI~`I=a@z*62ghyz38_I|~in1AKG$9%=!C^^n-- zXRt?y@ZU>;U_}-^w0T1=m$N!Q5qIa$#7DI29xZ;OGkdn8#D9; zs2XhUZydc>LJLQpUv>>HipSk`1$p|N?Dy6Pn@Fd<4n?Dnz3pmFhevC@)~ z`R7=pPN;T!;6$xSJ)7r=B3rZMq?#G&h0YA=+S5Z;c@5Wuohi@wLfcVs{e4hXb&lZ* z@pr{~+t(K^`c=y&H_?7p z_aR@{I%`4d`p)5mX~U2%dYC+G!R8b-Y81-2s)wzA^|CQDd(hC%h%(4lukk?h%WJ(( zNI|7nVP*QMXjEm9%&KL5L%~4>VgrleTy!Th-30m)nQ|PUC%|ty&7Rl$4tNomzPvr2 zv)Z@2XCz0DQS%gx(){X8UC6U8v#r-meW-o_bP7xvcN%Xl?6yljz6*01>9!)2GKes# zLgl@^HB!nrS4_S9@&`S1vCrK+E<~G&=QmZg|!5iL*u(@w^78uxI- z1{UAPjR}1qf0-PgZ8Cg!M)~SnIiKezC1UDPj{bs5AQ-8-t8Srtxwbl;VOv*%8B7lwq4{vIV0r&pc%L z)8{Lq2Da?0%5P)~iEkr;n1*(;i(-~fSU+1o-l!(MZZx80y^82P_yn-U>dS}0uJ@1= zVW)hFoMh#qDdxRfBd=<=3m(8^u_;CZ-dEAxE6lU+TSXrU0j@=>j)1TquCMWXz`#B` zfU7@|+^QgehwZSa{^q`+F-OMR=Kch!Us(QyMtRlz#FCMs*o&3zcnp7Cq}V{Q-y~*V z@`9^6aDYLDvZ{BP;(AKl%bt6`g@X!`=y#dbVJxI!g{vK3>d8kMH#xXQs^5LPAsio@ zAgV&eeYX|ua%Xb-TdIJQzk5G) z=SOJTM+?`-L%b9XZM(qK3XeqK5(V8D@s45}RU)8I^w+x~e-+>FYqg{A_qP5>C}GC} ztZRE4!=JorJ7xhlM(FxjJ!}S%Xz}og#oj|+fXq2zc>?*qGbF{k=bZ?~p>|(>27Fm8 zE;C*t`b2O5&>H5=+11~7A%nYm8v&4wn0gUM$0zMe_n}uAZ$7Oj$+jyZxF3Hg5=7F3 zXI7L9=wn>y-_pkOzlr!sKCl2_q-7VUO79IK;gMRWuW%S>#iC%Qhxc?w5;&rlp3}0i zcX99&Ztr#Fr9BIHk;~04{xqPGy`C9M=SYb8*drh-DzDUsPBNH--dPPJnD6Tlb+6OI z>IkLol5*sQP6^A1%OWQ3-)~CE5Ah?>BQ~vMC6otZlBASlq+e_ms1^xHShcDbwW=W= zc2dZ-7i6Q?WiuK`y8|ncZJDP<ZNCTi1awLZ|0gGT@o2V)FAn@l4igv^S z*CC&cax4{jlo+^(Kc0~Lh-wUls5z6ptQ?B-a3*}nv1+g=3ODybUdNr-&QadA>4n=C zle>z7N6bi!EvuLNh%|n4zENV+oJ4@ha#E;)?Q1)c&62aVG$f2 zIw55&SAl5iOes}wDb-vk)jm$7prZq5?vc?^5!!|w@dF42h62ME7UoP$Ob`r*oSYo- zI|RcK5fMf(oR4WA-Q3&|X&uDC6+S*bg5k)>y!c022jOmfeSL9oun}DyL`w%z+DS|O zn3|f3FgPF6(*7}L6&o9ikT{Htj0l5cV{3zW{clV${_k7+Klcj!|H5#H{+Z#}{s)F5 zV$M0$=4qr>O=gB*I7EoLPCH`S>fbY*YeZcK>z}5rP{%094iR;ozZnkQ-*p`X!>L61 z4|N^+zw0`&(ig~oGaU5%e`Yu&{~5zk`}YjzA9bC7VK`v85y}66;rxfX4#9uPaHRiJ zhC}~9%W(b|>N=$VU0o;m|DEBG{Fe;J;zW zrs{PN2$Nm|fC?7+i{WT$NFiYgUrYDsU_5gCgW=$_OGzV9{#Doco8h2|AnH0O5mNml zdN|ZhH7%xp*L4KoAfUMT?L7ES<*&NVH{b#r@xNm@()h!0Anjju9Wu_p>pBRAqu|9Y z0Q%Ru4uatr&i+dE+pFL+_Dp=Q8f+MzcVoC9UG7GGYvJrV_I=!%3)khZt=~x zbf(&6w5xX=F~}6p0_r(=%x=C`S4#4v>prsr+yxNt_U-Vmi#azf;rD%OU8`(@qaQBz z{8}go=A2vne#a4f%Q2ri7Q84Kl%{MoZa9ui(bxV5!s(A%Pu@tu3q*s~AOwt&BC;^I zyDH3N-twg)NgjN{01QHJ%aZYBsto794t-Myc+k-5KPj$&qi8-mKKbG(h=;up@=DES`arJi5@(fp1?zoRcDHikv0gWg7cCgGBQt^~3$co)uV+iB zl%f@RpsWYz_>XZEh8G*s$|lk#9TEGqi(?1_Qb|ck#911oBunOkD7oQsxOPu6))`6E zk1?j8BLf7(nRBJokoue9ut4cR%;ry`fd0Q2PB!}?lMTy2gbMsawK81t<$%gx3}+O3 z{{;*BG^5_PTz1F(e)bniN7k+k{af?g>b&p_Lp5Y%hKQNhK1HX$`CiC=(p;sdj64zx7V7r=7*+1?BdZBb zfFIWZ4Dl@M^oxSlTDmC7%kkN7_Fj`VG*5YcW9Br8BE_FvUVdUMDl&RgsQwUDQiLtg ztkzWB3-<%O!(}M#ZZI^)z~bE#3~g=vW~yGKRB}Xy()voE#tqMPzDUiJ$tJt_ts8W` zmdvxW6!aF3szh)Rg<1PNUCJv-bo&yT*Y%1}%FxMTH7Es_xl#4f>ryO!1=`xfXHX*^ z0)>4SJ!xurpA+JPOn|YW(ZR0?59T{pL6UJ90Fu?I97Q+h?tW~iibHpw#xhTK^zPqf zxOsV;VG;I?xQ%Z)@_i=yPR1kAP)6mA3>XWM)M;aorN4Oh25FU6U26=Sz+)aOnsm+R z*~>;+>g$DRz0xDxd{G^l`UYm5Hnutr9B}=J=DI&~n@cu@ z6LtsX}NgKQ2ky^c6N?oM8TJbdhECKNi`PoPg5i)Q0 zPY7Upgn^#!hEqB&B4KIE)+G_3?dnTQK8knbPh5_|&w_2iN#ryjKwI{!Kv%a?;|B0s zk@)=S4G+WzDG(kpnC%ZhM_xXbBI1!I`(^#cOZ;TI=RP3{cQQ@6TXLXe*QTb2E>A`x z)i_sFm~dgOF1)P(1e03i`r{s(It;9h?A&^V4?x(PL*rv9#L5*QI{lL>CSv6ZGv}*_ z6Jq5m{nr+y2GQGR)<{Ho0A$fQK$lxJ5bS*{=g#>ZG`3}iVb;aNk^5>PJYWIMz|3PM zrxeu;faLM=R)Yv|cWq3D#Kt6c{*<#ug=TiwHG5&__i%5}A$dDE5;?`m2?tO}{FF0g zl_o$7*k$eR!=!!;<*^fJBhGC>iSK@@uEaCG#Fbq<%;gS7tNU&u1h6DM9!Ej~19$NS zA48O%JF~n6N1i`_sVwjL=c7(qvOmlmh+*cNE#QE2WAh{g!{G_UgXzCv0;|~A_!7TU z?hnL->HDvMDTRZqEW~MHM&kUgwk2Mu%%mu0@3OvWJ?aI=eFg6@g?OR536Q9gc@rY& zBn?c5JP!=D4QY2Z6=4oJQULT4JI}0=5jltM1lytK2W+4spGixfhK9`Af`YtwR-ufo=_<{YJ^|taNx^3 zLn7Gw?=;~QDO}@3o`0-dsGk^}ANE41QITdqVbt;wC_h3XY-Q4HgHrXaShZ|&^@2t; zJvm>3ti(%N0-boBa?hjKNApx!!lnGH4l$n+Yy5pC?`cPxNlHZsUhc4ae#+PY= z(%8s%V}AZ{5TuW*=XHAB3Vhc3F0Pc~N?1A9+u@p7!^l?V8!U7_DOPFW!!laj4N3ew zUp(?XN0GkNF)S1lBmU>SEbe{0PeZVZMa0v~gmTXWr27wKA|4c{G^?<9>UC*s7G6?= z#A44x-U1r}#YA?NM4TtPByN^~8G!`+w!|IU4+UQn$;Oj586sHAljPPCK{CmBEU|Yy zK=l;2kTn2RxxpbxVqHjrl87>eS<1^%H_(EPr2^#q=Nk>{phRJ1srF>y(?k;%-naVX zx`Z*mUP2H6CksEp(mN&H+G%Sz)kP%4X+1e4oejSJ4ioJyG++D$0^soRrOHul2pW{F zq}E$7fy{sgUwzato@2SB%6@kGRl@r*g;=tfmonZDT{`w;OhzXnU5*}1u*-=C2P*ET zhqD;gwL8$XfDu|32BZ>2C$WztI;efhlp179 z{DK;!(p9L+RZpu~3JZYK6t+s5Y;0+#eMS307Vsw#KL0Yp?IFQ0ih$OWR3jGNLj(QL zQDE55^a3axBO$lm^$j*8H?WA5P*(T@i@PUdve-gy6=Pm#d#>7#9LzHj1jB*dW~1(X z#4<>$f01AGI{)){GJaSdX8&_XzFb|+Tt{uaLR2egRLc3d2Xlur{h67C9oWJRXn9*m z{8gJUDE?s_46rHiY$=>AE5Mc4pdJ>F&Ck2z=Nl!pR`Vf?|DGI7Eov5e;TDYT_N69kO{>C)UWL3izB_0+Pj5qbi^zu0zad`LX#B?%8Zi_*|2*KNik#m)H=-b=dR`=ACw@9 z(dEzC%1AQV#?q5sWu~8H=#cEygJnwIKxzUTA*&gU=M~^S`R1~*6ici!HZgOsT=iRX zU}#}W!M7IWXqU>fDovw2xgT}h=R|yyf`gd(f`%=o_HANVt%@F17@AG6+e)?kc7?%q z5&AZtNxt_+Evc@p#G)N%*6}Fwh#XF-JxvqqZCx2*d#YG_i34?tSle6Q7OYJo|4Ilo zb%%*^N7-aymtTE~eZ}y(nV&LZZm7&M#Lw6jYny(_XgBo$Pl@f6fTa^1GC z)7|RVy_H#wSsybas(jc9e(>ezaUiUz0_D%Q1Ps@ULEAf#@&herAedBARZPcB7@a2w8p1h~B{O z$u6x;S!v<0KdU{mgoDU)bs9-TTv*+t<{#O*dfO%kfJjIlUc>0Nkvjg_L_tHg(nAWC zLj?Il%2|VqF@xeNUFybGdhDHG?Lm#b5!YnMAbGwDdn=vqXiM~%>=TMT?oB`2!KnJY zj%6sM_+c1-s_DdUoFTmb72#l974HEn0r_J)q1PZO)<`5}j?MHuf_JKTzmO9i7|$TljCMy) zhEb?i`A6a1D#<^34TFw$}&OB7jG|CnkIgC#jTV*lM9VpKQXzL;MQDIz@S=Y~F z)d9$V*O*4s7-x<$7*1)d&mld|e(wj?zVsrO0A$|JM~+g(Jo$s660;ipBTV&D7$o7R z7rKw$&zS?pHnNzGl0H}|2n+uv5UqydUi++e&DzJby*#eM0Z&5nmu%;k*b<7%m6qGinL_pnJ1Cj{GZkv5th=H_|jjI;ELK~>{t3eMaI zk3Lpj<(3Tw*GEm_!l{ zXNbO=E)5Hs$wBny5}G4e9>%axs0tqbxQ^%_jZ_@-2V} z_yN$pOIp@s%EsM%oQ8UnuH!JWO zoiJ^pz`L23Dx2%k)9?PAJT;tQ@>KJm6CL;;gZJDnv0Om)f(x8FFvH6oi_`qK&2RSh z^GqE&kE_&~-UbzH(s^H;_0XA1LT;{z_OaTSTxP}`_C7e=lyQJZr@x$XLjB`_-EjnK zxB@fVkT)3xshJl@dx()n@J|YAs;4IoO;d;d$%_EKuT_LGNe?|*VVo)AwQ2f`micz5NJWD9h7VoLA5EiQ=&LK5F58rtcr+x+1zV zowr5~OA;;39$LE{yXJi>gIKzFqHaI8>xi@wKkxc$Au=zuN&jQRWrfEl{)@a2v9 z55zZ~=T%>So&Nwh{A}mF#-Q0_OZwg)vr2o@B>Vd^@p)geQx{eLPtSy(OzP^0j|u+l zL0tSnO6D84jfj6Pf$wv^N*oB;vjY{p=5p+x$GGbqkC*5BkVNr9A4Eb2v`0>}5hr=) z!u2zm?Pti&uXmpy6L>rsxkR6zDt=HxZi(?8dhvdnvE8ja=}weGTECpR-JB1pKrnZ9 z4|}f{ay#pGz9siuyn}q5a)QL-f&s|5^!i{a5E2Fw`$iwM*OGQdf;Mi;Yc-0#N$c@9kIifhVQMGMGg2opTMCS zHiQAS)=E`Y7nEQHvnrPBKEniy^6w$%@j}edcb6{=nnZCzv+bxkfY^rWrr*;DX?2T) zFAaw>?~Y8{LG2kPlY%AhTO$d3Q5;AZLz_^L!izE?&iy@Z-|eTX?!Q>Yp-lC-$K;<| zES0;3F~50WN1mf#a}a;pF!*s)(c<(j4oCBw21c=58KY^ImH8;{6zjMc=B)7^U8vRQsqEGwI~rhjUjKB;H%#xeWp?gP-J zi>+=5GyEVCa;VMxJgCIsL+i$F^sEFj+J+M|<^UO|6t1=mZrP2uVcr1RO>|uk294}^ zKQx7QJ`c->H!ma?e10uIZ2MRqg4boZ3n!KkpjpQdG>BslolWUwcSZs)U0hVnvEx?KAvW$)?xX8Ca{mI@(Qay)Xf_=IJu z*^+BuEj=e!00{DD^HfS3&#;kBM&zs1%KIqHsznJW9O$xMw231U`EsSe8e=4dE*oxQ zF}gNGu64tbb)c64wGQC{C{IGhrF%NpY$*2w!fx$2Y0`xG@}-({4> zb;F(5yB)xBvDYg{k%gDDA?uWDtfoLueV$jujBCS$H*bW@{k~INn8)E8^)W{>#hneM zUSN@025#z>Tc%Doz&G9#=1lBcYjS$;fvz2Wjx&+a4aSmPnt#}2vivcimiEyTEyO^U z+*rxuDQsVPDo_Z_*eh;SJ2|L4kA2wASI^lv&wOWU;E)4?-=Bb-_u*ElDyctrTbz*E z9fG=KGA-+_IZw0`XF@aS+leJf0Cp14EvHI~Prr7QNtw!&QnLcNF4{*KGwCOPOG?d* z#!>=4#i!6^^(1ymK909BsDrQPPW^B5P|5lLNLy}ReMs9rc+_57bY;IUx$t2A`Oh?+ zexEJlaR(F}_8#W_K!=A@!?%6B`h0Wky~^NWmI|9*=wxk~V(3=c06|Ud=k{+Rc8T%b zk{4`jgK=21sJym^@1FIcFjE7ILdGtg!-4mtDsDJtuV53UU5mpba4@qJk|r%2nR(ay z>45qvoP930@Dz(i@*pA)*4jbL;~YY1m7l^M57__g5M0;{>Bj6#=?3BZHYx;GA5mbAgb zX3sfGcuaArcX!3L+K3FMV@ZSPyrklR0!I)tBHM${b>7bkb*p0P_uw<%ykXv&fS75B z<$Bh4g&)pRMiE6;mDFbag~D%rRxuA12bdB>QBh-4=own&M=3dYhm69{tYBL0@w&k! zKy`L&4x{3hZTf14Y_~WdD)-G;eos*m`uP((+63Ndp#e2 z+9WRSp@MdFuZ`Qk$V0<0i%cZKU9^9ZS3a(#D1)ra=0R8_H(Z|7pu|<2s8ChRL$6;w zq%-O-AjMj|YOvX?yTmM2Mgk}`a^Vm9&>~+0aFrUnFsy7LQ>X}2EPZv#4}a=QeO>pN zhDI;ow5W&3rryz|!jh)hphYEBe81}4TAO6K+X7IVg99!MW!>1?1N9 z-)d!|C0Vsvy>_$Wf~r*}pMGAOp+VS}K~UhFjZ0~EGyfarauid_w3+E|z30eUV$B8k{do5^uj`NXL(8@n>Vs+Cu(&A}qqq z9q;uG+HczB=dH9S&J^Z5w99g5USUY*`-3Q%I-V0B{qb!{DmMyYW zXq{KemESQzyBpfSIDOPmI9Wc7;hV8E+VqJUNJWkgq=FnsO^rG2+~%Qs+`SQPk@F7r zJn^puYVRi`K0{pw$Zf7DFa$trjh3_-$8j|6w-#py5~bpj-t4$(FMK{bO-uNE@exs^B}cI2V*2vd`dc+AN(YKX zUzriqaQ)B>RY?mib4Y%7KaC+#!Fwn{d_9=YO#B&lEoxpa(CJ>+0tZA2K%!<#OIh-6*8*HGDP_8S63Q zR@yp+B%;pIS*`6Jfxf|L&>>}yHTSKmbuJpGbc^!?Z}$}^)>UAAWb3-cmnJtCKt7R2 zs`6Vfklq3CQO5v@!fPt&q?*A~t*`x-N-k`Z^pYyST~4a6vM0Sl6B?N&N1zTxy=VsL z1p1@>dSeq3uGNE)FI5n45Z069=+Mub*|4p zaAf|34oNUHb(<|Y4+Nx@<^F#D8?L^1LDciI2}f=hwo#hv0#X>fNh z?%Lum4O(1^Yw==jftI#VC{OPD?7e%=?w);S-|fuq+q_Dynfzz2Yd+WaNAWuk2^0a@ zl0Ge_&cNuDCEDb}1c_SK(B=VJ(ouj8;L|k2_hdGFI4Mt#L3s4=!tGV@C{Tr9&j2z$ z>9ch#gf50RK8cA{-eWR(wvJ#9C6VPIJK>JLe@@2K7Q#zma~LdVAC@<^PDx~n1!1vr z!4(9jq#vH^ysNjE7nkD8d^{t;XQFy= z5fUs#K+K>4S-UW=6m|XxbA+PkfMP()aOu8cz`{uM4&35L-FXx83w1GTMh*@F0CK3= zW*W8XZNLUFtuPUM%u}lR&KzF{0j^5AnksPJ z4CoqpYoq+8r>o%{9y&MCq%KF8GSPxH3P8SZOMu%1t99k8b=Rx)^s4nvsrA|XXW5*2 zYxJ9N|MEJoUcGwy^eKA#3Qcy<%^Wn=iH?aTAt6C0bpEZJql{1{BqUT*SM%}lL1%N= z*x1Cx#8Q$|&~PUrG6Ict(8E_~*%K2T^N$g%l$3u<=%6VN8t$M!_`es1{J&rRf8-VT zKf&uz|I6#B%KgLZNTAoSiU;&@|FwpN&gO8#wEvseal-ts*&IAG?0>FdVg4hVg9H8V zypHBSvpG1_=xoj_mm>b$H7uMauw=oT(wX&*EL)mr z=lcGi=rt_d|GC$3!Z`iUybkogcpYaD+Uvlu(O!r7Uu#%|^6zyNwb3;j5p5KZ-W!5a zP=3NH2P9&(fMMV0vR!mAu1dHEYAY5avBne$1&5)20`~IC%)u!@zB*GFfW+Np32=4f zbmmh(dRwfE=?;?v@;%xK#eKxPHGumFb|);iaJsIIttoszu)s$N3&s9#<5&u4zJm?4 zDfXP^8QN-&BDgfNDj_7g__@K`@~|m~^Fp|IaW%kKrf>`M{Zu*z9^)2pSWWng9Ioc% zR`U*#ne?fGD93&0rvl0pz?M8zlYJXadfx7dDOv!rUw(Uq!e%v{1LAe2?}#7M%aHx( z0ZVS*>^DE-@4`h+)|2A?NbIeS#uRxfbSBg!D|5^W&wurGxUSc;1-l0PRe|W-^=86E zc=~#I{2%e1iL_2G?TX_-4+E;4f+&VD8gYhV=I#R&dB-|2jUs+T~!a7;DS&a6 z#5IvuLWV4+ODU^96OP18nlwJRvRAy9b&XJoH^J3&fD8*xGC^Zjm!D)mVPUxR&rsXj zz_$PnWe&$X@(9Z00>$JY?j9_^o~<+VDEIE)U!?`=S>Xze0t;j#@`^mi?r9j6 z$FQ3d=N8u=?tCABSvoDOE5q!rtz8r@f8%4xEMYgQo#M}~JQE?4IoP$-|7-$LAW&FO za-IYWeNSY7+2K0a_jKF~v*M$Q@@Esx-zka%M0UIv6Mci{`yiK z^35?{GW4c%eF>cTE5h=z5qqeyd_(|_hQ1n9NX^BdjhV!q_CTh33g@TBJ6-|+E@yY@ zr_5>>T1x=#aZR)RHh*r!7l*%6fk;9s7>nHqyYUc6%LU_-iTC_aSH)pwW0%xtnj1SwN2^=XPWBqboQ#H0)%G#=?^caN3jgO*2nHQFRA_Pl>> zq#%#lp5U2(ySoY$h~K%&uk~S!Roh#om;1?z>EGl}urUchbuh|EUnWI$ZAVn=jX9=+ zrn@P{_5c26sn~*|3`s&!Ki%S9{ox5Hj62|P{@#fr%M@lMt|A|}#sbZ;h*R9_z9E@? zaHHXm!S3X>;iEKSY9JFj<-ctNL(2JH6gs9fx3i*VKMc^paFa!j(_GAgopS;5PC zKag`2=k2fxziRP(Mh4?-_fTI5q9(Q8ymWCj9U)kdqLAgX$k3yu9NS!7?V9m|plfZ( z08yuP=TulO*#KHnsg9gFb|+vBTzT>_D0c750+bD7|A|NUmTZa-ff1myQl;?ywM_A` z)b`<#pPUW-w_B_{4sV9FT0F0VsPD$RgsB!ov0q4~t)5MZsKAEzWsMVv;TtOtn!nYr zG%9K9g7%g7+Q;dI&W&bi_gV@&RW69Wv#bRi5mNgPne_Hre_LZ8{ThH=C;H*XV>ZF) zrXpx>=AJiobJFG%2seD<%shLr`2j4U8bRQd?fi;~*x+{BgUYR8DB`o>%Gnyz-Zy{J zSM21tz8Vaqzes9=zhbHMe1u+n&+@1HsPh=l{LfeSg4y0}+F9hjaI*`=YdX!*|(;;Yt_cOvWk@5skb6tZ3iZbX+K$!i8HQM?WYKwjL6eEa)g9WV>Y zcobB;93eZ^M*KHa`}M`U&xoxaO%ej{!t1J+PvMQpKI3H>Ki_|Vkg|tJlOR9-3em#F zz{!Cet+)>#LVqeF***r}ibL)w{mR;*r{d0b_E1dDP^0Ieq@hSdWq;ZdkHOErWCOro ze!*m%VHh5vuRa4%*N~Jd?{hy0CM?V&J6wPhB17f(R~ah)+k5%B)pzBfn_uC7aKq+4 z0<^Ls?m5ug)YO^?_W2JH3x1IS7?I$na8tua7>#cF5}ul!5yrnE(Uegj^aDV{NXt%^ z=t>Bt0MO1q(#X*C9Vu1Ae00cfninld?D;TL5C-WSH73N+10jZ2%$4&nkJOZ~rPZM* zyNrH42DFt6QQVbMJOo5=ih$<;OFmFV|40xdVnfL+R1jF?Z-p@zXIUM9>!Gyd5#8k( zhdT#&!Qv}d0!Sxkc*OxA(hkRG@{f0jz?B2G`zNUS*-1vl5oX2Hr36p1cn=_eI%5e5 zzuYmHT-QNfuPOcU0I{lm0A&zazajnBN)+&y!>8Zgmn(_i#{3s000zfl)@(5nB>=J= z;N+^i*D+*SBAH`36uT)DOHx4pc>;*b<_M9fY6+}I1of;yoO4n*D3URElc?6*10*1} zV}ViC$;y_=jUY$%F$l+6YUve(XFP3ASB-bfKMIs;TmqnexJXVp0^mgj2;}m7!AX3I z2ROuudiC5q5eme+NW-ZBdP`(XRk>*6IbK#Lc;I5JuF_C2W^`QzfaH?)#4)HZXe7JR zbz{@I5L!}Pp=ngkrqn#(o$#0FU<}nOT|^M$g%>kr=5Ik)FRRQ?{>GatUSL?7gIu=O z3eboo(8JIf!^0gGkcD%YlZ2D?Va4T9wKsnCBeffE7J!`dxPQh?4i9w(#7<%q6vjR1 z7yc`C0vN5e!sfQ-4)O`Dbkqj>o=gm-z6kF&OLMYnlm8``JrhHG@hni36U$Ri+6 zZrsFb=xmgIf^_0!k0A?PEaNwdV7Yvc4^$}uF3k@T4E1ZpGgYs*RYo0 zrQ_2Cy^7TU-xhc6y;&D2dS+A-J6!xJt%N3!b<@!1(5RGY406s@+9hAged<2%D7Sl4 zvfEKiDJ3URTgrj&TqBvmc+2-ivQ(U=3@lVeFIDoLsysEf?7^s9X}xS|G>2`X-2J4q zskw}}HuYDin~y$p`NkV#2asii)aEWXTu-wPv|@x+TKXqpHru?{hyDr(d2yRlko(-g zNnLZj*m+%}7AK7am49iMPtf$Zd)^*8RMPTbSP9C0eA-c!lvZg|TG1sGaju9w=77=( zm^BFk_%meRC^76kf7!@Ub4Br@$tR!cw(4ms#OKtJR40CA&-jjrDg0VBXx=IGp3DG& zPXTN+@K^)_2_ovn%QZ#bUE#zsTI7y*vk>G$2B>*HeJI7lk~*rUhNg%H>S;|onG&hh z@N`3t*1gC#-oCo^CU6F}mq|-kP=9$?e=2n?c1Z(G!q?}d)q?~D^YwT?4GMwk06WrQ zi!_4RJ>)Kk^<4>ynnMxQme%)_bsF3qEa7blxE-dnZhfRsUOnAROeqa# z^7}DUH!^W-?gnAQR)e8ZH`>;LiFVrT@PJ{VKZ`=vK@aHt}a-djq+6tU>8Mq0n-v#v|uruzvSHB3>rp?DK?MLI%V>O&oq zQ?K1=yQN|8ySgB}3Yge6(DNaHoK{g4N?PJc;TN6PjNjBOP}OG=|m`529 zq1E99kghX3=IPB>3;Nmvp$_UJl@oq(t7$zF1x)@!Hn-7HeP&NH-?G%x_rz;}9bcm1Syl=K>Tj42WvWQf@Kb_1@+-Ce zia-5MpWmIa*IdId8f48}0I z&F&}aIX2LdC{ap$7(A*XhsJWmgkbm$tsQrel~Mx4g|1_($68D=!Ga0skkG9~2=&SD zhy5Ah;(Zw)`T-X@M)eRX!kW;%OF&K#`Cc-3Sc_v!WN>hx6ry)p6_HR$edk7nzD4VO zid)?6v@2c?Pm8-7&!zqFwmTmuatuf31CBgJvKRdIcZyV~l%Q%pEvi{aPIsU^-Z$Mx#IWFt;t#v<- z%`}FLTtwY;mgm&-i3#dh=pm_m(2p?<==k3uqu=Tf+=-Vj&nGN;XBuRtFlC3dqGtx< z-b1Y??3rYYY-MmSfO_fx!S=5Noz6*Kqof*@Jx~yqPw%XE#OpU2_3#OgYswiN^@{4<<$tK0 zmM2=kN{65}x?U%`+sLW%VlJsdr4Lw@EvF&%@nr?FV?v2jBKIEnOiRy$r>ApF=Q7|r z3qq!5(<>5kfn>)3>XA>tf5aOXaRW3b{L4lZ*K4{&*hi(qOU4BbHJNl}5>y;J08Gzx3 zd^WjY6%je&kK{^=CUw)t->*JpzxtG*ynWc`MAT>`g}v<1Wb+^^W1k3FJZt$uzgjr8 z6H>61t4z;2r4;gP9xk}NsIl|=u8h`xO`mUX>+?=P#bWT?Qzpfh(KrfgdIOd4*}N@x zf&Q(0zI}efsZ0%M{JpxL^NM}Rup5pzaIF9P+a1Bb>zauDfXrQtrh{!-vtU=U+w*;T z$PR(umj26w`Y*fhWLFuh4-co~zi4Qhuqd+b%$W%uN!uP_K@T23*(6t=x*=L*WN;&k z5%qaMM;h4Hl}l!y!DWK^Ay@Rh^qQNMqQ_PVCn@al3J&63l5CvORMx2ZDc7n3rVp0nA@-@Ipgz z6Ic0Nzb<|h1SW4CfccUVpR>zI55tmnN>7msrtnK-+CeM|`LKkP4L=)oCcEW{X5- ztMwzY6#7GzgSN~jl~d5!99E-``=e15>UQw)MixXOpY2TW z*lsv(1TL5)1Gey4t5}X+m9ulf0T(QvsTzDEXg68OQ=wU5>{+Q=qot!X5@T_)5=kNz z49iL9Fl=>v702h~{ux#1l%2HLo$9RL8&F|hVC=WI74I3YdVx&0z$J0r$G6)wtRHB0 z;}XG`^mx30c^q_X0uss}J3|Q+VCglMtZWN83`91PjK7a|U-%}U z@|z`AJ_%v$(g&JIZ)j}7It2`33nK}I3c$PwS?rpgS$;xi5tSk82j&w1kcZKuH_u(( z4TFr_Wk;X@%v^`LM3#W+r+eMvF_Ge)4-rYjDV`0xdID-jg_iQ9^#Sn1k`?p8zf=0w z#fH;VB{0)f2ES~RsiM^%GzYG5Ry6KKKSHoMsKnFD5_gKEJT|vt)pC%(J9-7Gulx(ctrWyitlxfh)k_ zm2K+!wI2LU_5gg{{su)=&dqnII#(jHG~+ga_ipD~)5K$+9bPH0x~ z%!#GQ-vPsWGEb4Jv@|=&+B+J6>U736NH@DY&``3JQ;8E0Q$d=sJ7|I9c93wHeySDw zSN{hSHe&m&MG&zV-soDAH}$)mY|Lvje_=!7gNJ-aQ%Bp_YW`a$sY@YhmJG@?vhzc| z^52XBdFEfNs~f&BZX8M!bGu-S7PeZ)^44{ixYpg?nj}7#^8ON<6=LFgIN>SzWr-O< zwu4e04D9Zs9rQoW>OL~CuYu(FwpC?k(OkxFBxTv}vV(5Sli>j@`cFbO` zAd<)3U;fep5ZF;qyv8JpCce*aemCF3Oxf;l0;yLOd5lVp)!k+06Whv_P29|V=uQP$ zh!k^=eH`?AI%=3~=O|Ba%UMhb*yaq(%L6@phg+ct_eM+|*UT_?eE@rM+5%((Oh54( zX|NsGBUqt~7+TG8;8Voocj;xe@l5QaliODw(iwq;A%f^ttN^DB_+7ie30vk~q zV-at+_RR8SsjPBXH>;}vkdxa%`~lm2qhE+=yGvr?pI zO^6e>-i}EeLqqyUT6vK;`t?Z_ow&)&-VF9u`2;!Do6wYXGCm4evN%)$;|CRtD@Tv> zv9z^baR^qT`Sc{ngain0KNQ8yJk`C5F6`)y#=^j3*63W<55UPRTyd$viImcFHv?sI zt`&IA=qc?>-ymwR8@HPYs;S(d(8ZIE&0kW-D(wlXYh zoH%I+FRxd5K4~0uYTrWdo$Volzh2Cku4p}uymw$$Bdo}ZRT9lok60dG2@z_^&vo5q zm4H<2{p5+XoySW0O}c~QS2BK&5M(LsDE0Kqp0s_Z&Fsz^4m0R}v72crrM>cr;g|g2 zbcMg*M?`e>OYR)kFFtR0pzZ#CeQI0)BO&*VM0Z&K_pPty6`mUlUstMeS?gZ@rA@^T z_C=`*qJS94)mVhs(;uRY0Qq7~U)9xqqQtj}{JoaTaKHd9^fHFFSGN|qQ%qqf;7QNh z_xI@Yh=ASmL|4<@+rJN;k4dx>F<33cSGXmkb*=QgW7WG;HDiZKMGUo&`%fHqTtBrHzCXj8&%Cy7Yq=BKA1e!MMyy3z ze$UKfi8Ntt6~IlffES{zNPeml(RA@~iP0ZrZqbf+27!`wgRP~w_j5{R6AQY$qPLs8 zPNNrHOS#}H_mj;-yoGGl$f!1N&N*w5AVv1%?}AkAzHQv2gM>xI(H-vtLZM?&hsIz;){qN)XwlSF-CL2meWSh(jO&QUnq{t z3=*}&fb_@YoO2KHC_W$&_E!|Ta0(@eenISqY8GEWUKIGfI{pb73wmc&_=)Q?O=r>= z=}be;3nL(24yson>>}b3>N9uSPv79cs(^2_EZS}`oJvg+pt{8imFNy^Lw}b^b7NNc zgjDwRJ`%?!@BC9c3X2n5#m>FM4~A%LxV_DTs-yP3ID!?(EPhG2dIE^GB(M(-e-&Hf zVv&OUcgNoW8nhhKU)Xu~J7)m9Ow4}}#=L2qPNGj^&mvxZFhVgG*;6O@t!yQg=AM5s! z@gXB0x%i(v?uPdvH@3`fGZBSMN(}v{ilu)e8{a?86n}mH`faZEWKu&FyUJhc!I!5s zPl5Tdz{aj$a`mox&EHI7_ts-TogBBcs87^L{Aw6MFAARwaz9A$5HE&O&8=||i@JC; z?Js$YLJ=H1!7Im`Z?4tm0+729Lg(TKFi@AZqRCXeHw3YM&ghpskN^jOv196%Y9cvS ze2#HytPU$_1~}naE-np#SfcQF2y{h2MN1Z|@(heKhQxqETLe-WWaNutke`L(!yMSI zasUrG3h^AKvB8#|A>)I#U48FzkWu?cyt)3AowhYtT}U%|vqOBig@OduS1_!y!m-lL-UAIcpjXv2EJ^;bVUW1 z(ya?cKGn*=J53wO0}X=(6es)@By>jN;!zcx^-<%BtXwe%b&ACnwSMy>I^~L87b8L~ z3ipuFw^9jG+)4QmIa^Z>zffZJn>1npsDmECeyVW!M6wMTp@nL8zGpm!!_dpk7@&Lh zpad*~QbgM$Q68PRlSt&3xr90Q+t%g+T5|jhwQR3rCe8$ONlso@jwgi)u{}fhy@r%0pe1562Y@`1{0)GgP9N$5&xU<`&AdV*ygwvVv`?z!npl=~77j!V^0Q_(X;=ud8 zw5h(_n__?~qR(2QcaFzlTwrjUvltqY-Q`3Z#)*_?1GtS4EVlxJY@kMw%dCnkf+zK% z7I2c|kIs?+e{y^ia{Z?T=@hT!BjR3!t(kMR2(}zR zkM~nOHu7HnehRKWz&&~jxXm|=SyPkGU=6FEVY^(-mH3dt7fX=N=tTn05m6EjO~BeQ z$kxw+>1P+vsatY`{C!#;rq-4v-@~`Y6y=R6PTrQX(LW!7`#4VOdNzc03S9qK&UIjE zxF(Uphl4cIF{#$;w-~S+3o+*u74e5vjG-?Hd8^4|8Mk5v_q0n{CmgttUaw4ix%#>i z=h(4lqvVoP&0=`TB;VzejBmY<$wB&lA^9#a2ir6lA}<9pf}u_8xvtN}F^!TTfEB#0 zrX_;!clj8+vAy&I;@G4h+lnR!fc5?6m!_460#C5gkIF$?P(F4n)SuCzEDiJGodgeM zt_6}@$Ef~x3j?CPjhz9?q3+Z(!YxsJt@Z@3F;$RvJGpp7UkLPL?77zU<{3Q)PVu`z zF8ol&!E?!{fRo~7(b#DWN#g@R?x1Qj=km|Y+Bu)39lDrao0!yNlNiPqGh=F-7wV+FY_BXX z;_!WgQ!I;Q9GST#)nsFaOac}AZWfAq2GqH;0s0{i!e`Wfq*?Lnnw?>n%^1E_<8Mm- zR)L;Bh7hvDvD|VltFYXqdo)EbOSt<$tG9;IDu|i7DURI82x6ZB@ zyATe-qKOIb=?r?nb|pg_CHq94z|tai>_xo0Fu}l_g837bOAC{}UERcL#1ptmNogV{ zK#-=hCj3DCYhTlN%kJ+38nHGV23U`!)|E|7^q9Pk`Qd!H(Do0VbnS!DA3Vn9a;70< zYJux%7CgF`-R2Ca+T%{GvjyB{>#KhNub?TX>B8!hr~%4isEtj6YeX9Eg?-H3;2+CoW(2qYMBV=ZjuO|3RD-FBRILe zqsnVFPk$nBzbz_ne$vX?NwZ6pBesZTag2C-qP{e3W8hfub@a%`tmv;}@n8FN3&m0~ zJ-sP{a!n_NLq|S3rz$0c&ri^Ho>R!H&wqzbOShh-G}^qgTM`^rh10z)>t-px0S#x(bzEyK-vj+`OW&VW^CRKI%B&Do&&99G8JFwR7! z13Co1=xX_S?44Fx>hZ)&73!|fQ%cYGV;5%nr?ltILS!B|9`&?EkR{uWc>a8(H;~IhjVdpL7`B0H#al})qVC1-ETwl(3sd5 z78Vw?3PtNrH1tHTD#k=dySckLJ3FKEZ?BO^v<*cME^2CO{u>7M^Y=$5-|Xz{&?MB) z-|zoO7Wn_Z)c>Vd;Qs^<`rrC(uzz?^60`?p9Qs$kt>Pauirg^9f9FAQ&>r;P`fcF< z;z4o#;X(iY_x(2Ce|k_t8ng#BgPlhZ|8qw1pZ&Ifc~Ip}M_Y?di2Z6EvI zn#I1M@jFUo<*b5LUu!&^I>o}XDuMM1npJky%|F|1b4R!Eog4Z_@SK50Uyb&vv+!tZ z3s>${*=_p1blbVjM4ci7nRoC3ZB0ghILo7>q~5(u9mId>Sb;&aft9)U=F}&D5MRF8 zl!!4j1}iHD=6n$tN2A1L5?qmwx}2;^gZV9=k?M2srj zB`kbafiN86s(Md%l5hSOayZp@?zlkK;wF8};dtk_D{t}7!c~bZkeIY%F5VL|q^z#* zh*T^@Cb;}|kl5eZ*=(xa7#!+5V5Dtm01A8cW0l#V6H>&c)H?^Tc`AF2f$q0`9^EhD zyU3U2+6f&Zj(^x{pK=$sd0S0VK-67#YlP+o`hDm=u zC-Goy4TIU-gEvZe%%6SRmf|XdO-2&}n)vy&FTXdoOleo6BW}Roul+1wJ0eRw0<9~g zjjbJ*P+3Ehk8*?QbF+2 z&?&ca{|=Tt$`Ve+6z!(C)~?c<+T(_M9UGvdY1ur#U8tBm+?<3Oi7kVqlcnK{W7dKF zJdS}$g0Ui)6p#;$%y5NT7c8-bu{#VAl}H2%{c z1>2L6mnGo;fXT$TLHcL89V;Q#sJHK8d6} z05R``STO!@DAMJGvN#o|gFzJ&2o0{%@kkmw8Bc#(&UKB7PvV|`a6<_$GYJD))};43wmG2 zJzVIm&Z9u)E(umzVj-O?)H<;Of@p{;v72B5HG%3K{P1W!4F)(4s)Gn%!0H~UqkhXB z#{89>Nl3QBlD?FsmI1Fwimyr|?AB-{09-}E#HadbLwo6CYN)y#NA4mQY0E?4&N~ch zE_%71wJ?|I7N8K5ZbVl`0Y=B$J~M=!PWMtNoI*n-m)qTMaryuZZ#TBB)=rz?sUxE3 zeAMzzqH3e6EJjpsS9HQNpw{e?J)^gRPt{zo`R<4MS6{Ko(0=c zRVHRo;)C9UiVJm6LR%4QPVI?LlR_bZ>BE)H2;I>*QboOT@U)W&JbHmE(U?xUpwlFh z%Acy1@rgyvXF^#X7H8HBpOs%_4;#5kGCZ@Q(ORh$$^GU{osi~F67W!Cu*{XRd$#{` zfO1-px;e*h_(%fNXI7eqTjR;p<{KHDIkvQ>qF2)P5ZX01&C1g(4P7a?boG!jjzE+s z(lOD3vO>}q&#!57PmwZW&dU5k&0Nt&$k_&?sL(S;V=G0;XkG5h{Z2;RU8=w*DVTPp zsDf4EA=o>RxuBrAj!!=HMKQ(C_de=Mk4Y`4@qQx9aR zDpl^>;#iUU?|({6-c()Di|!N<=Srr2NlXED(#^v^Ny;T99Y;*|e%>_)sRhk&S3E!1 znNfn_=mlCws6|vHZnrO)XkN>>7PP2qwS^9t|Ex{kI&z&&$3Z^1?!*O^<6F9{&eDIc z)8!Xv!0X+4@oXlZ80)j_0{|EA<9u3C4*-m=y6tHAG`~bw-Kg(&NVT(4X(K%&$mB2~ zMO8R9fO>eF^vcJiZLoX4Re4nzz)I^{_t9|u(%K(GT5Tj@M$0UW%Lr#M+yQ6>2GCRzdpd0@k2;>0xQ79y*UIBpCZuv z+uaX;6w=K8a(xfly{7c~iF=XjCJu9ovM2q;f-$SCe-&+W^UIEC*B_5l;Kh+U;jz(q z_AAx-=dGWOMwcO}%Sg@ttm1H#|w1%>ith(@)2P6 zd6djG(90@vhf?z>%9aQjX3Z3B#g1VV_S%)h6!U?}vU4!HIr{OsonK;xrnNfk!uE}WF7%j>tTAz>JxPBtsgv2&Lm9Z*2`jXx zyQK;_?R*JYN?gZG(WVk=7ia4KnbJ6zOmO0=e~?0k$HRAwIQW%9p`uGjEkx6mYR#6& zV3ou^u7b~%Mzxm0*Olg@XSolGWTKX5dEgRY>q^_RH>&}q37+u%1@TCCrOI-dKe`DM z=gN>g;ZwXxQ9dzGK%}Zs$7bo95Y}>1(FJ;7_tM1E+TDoGaH36O0F`DMY3F1 zLVnHb(;|cMJ(3R&quZJyWNfqKf2XnLW}+XB_?-Z!L8c#8A-AQp- zf#dMtn)Hyagx~Vng=}slyE4#R3KtgPYBuPz*a&7t<zZzqiX-L9K*Q)zV*>@kT=$DifyGgz`t9xZ z!m2!vPhA9!A3aqyf2rab#Zo$RsYectQ(r5+CoQMvt`Nd6yTCyL3MDy=btjdy`L;f~$0 z>DtD{zQ(>Wfwg|V%G@pToGqDFsTDRX(l)zMnQ=A9_FBts`#F_5YwJ3%fvVFr)y|39 zwSXdz4|Vq4_BPA>~dW%({2dvjVaD4Knu0|F8Zwo6FZ2))M6X8SK14Igp$cF>V z?zrs&CPXGwmD4gH-(z&K;vsp)6%@NQ%EFY3-DSjTF@L3+I1RL9GMmO$8z`CpIpKMx zyD}#&P+GNewukuU`%WZPd<`_OgmU+}HA|g|&NJokhTo&jXWha%-I-;vnGa62Dr#1^ z@r_ZK)yAQcQO{d)RU6iCTQyH0tyRr9C2eRG80GcuCG?%E_1o7Gt<&pm>}SYWCoXg6 z%rX3MI{mjVq0Pp(POG===T6nKChb1b)qVt~`?t+6nOa;~>Zw9Y_^I1;j62h~y5Qq2 zUK^oQa;-`%tp)>KLi=3=9w~a{O<7W%Rza;n?TuIiol^%Cupp8BTg2V=ZE?$NnV@Ct4l;{bcF)1A z)!6OHerSc3n{+ScK{f*VBG)1E;+>p_)t?+B1Wd@^NsFo0=EvA|e~9k~?DV%f_hqS- zQI?eTi7-d8bmKAgEd=#-*1d;H={))Ko~qsDyGg4Pu$x=B2MdtsRg1bI7_do$r^mg? zoqYB=8nTloltf!_Q3nlk>R>Rf@*t>0(#GQp_S5|tJXo?!krJz)B%8~FTGSZPsdq8g zzX$F`xKM?jPd<~~Y@7+A;CGgwkt+~#>2Z&5NtGVbhhvl~O47rkSm;9Ne-7C<4dD|E zOFr*sKYwpb=czU|Op&Vgn)JQ4B45b+j%-e)cF3y#~WS5apwc+>UV_EFuoY=MBd*pF8$#Uts zDWQX`QSXcIN|esq3uPw6o}(O68(%Lq{jD1HDu0)(L0S-SZdr(HIm4MiVdFw#w*=$?O$OgRQGXb1 z)9V-pUFd&|gJ|~3gQm&(3P|vFJcaIO*TX+zq2`Uw=j|O^Nj>Ix`9}Dm?)0t;s(JGZ z&4Q|1;|BM_*L6_sR}^wvuoZ*Fr8A@b<|X~jB^%Gje3lY-Cgj%BBv^LKN781ySg#+s zf6NH%Eb}LcS{PC((Q3nX^X(fwpqkmu2BK-*uis^F#z`z?DZHjhQpuarE5~F?SDT+d zxucu-o}iS`d;MiP zzm(P0)Z(?r^drkMCB1dy)EVItyG-d>wyPBkL12Ko6~Ukwaf1HP^fGX-&+Nfw!*XC# z*uy;h&q^l3C%12FBri*# z!;xyVZ~9t+fg7?7&8(k7fVcStbv4XGv^3crZ%HB-#ZITlbne83o2-n`_VR2%njRWa zKq0gsFXXZIaVpfr+=|G1-Lyo@avR$1b2Rt-^UFPwBSO)zw`6O<y@4}5urjdj=Sy0K#TGu zU4l}3R=d;15t3Uckr;C_@b)2JsDBe!nN``Q{p(}r8OYWK#qDrAQ;Fli_WYpXx$uad z|2Fw;>lv}!mVV#13%QhSs=UJ&llnfEk0Fj+106OCCsFVAx#xY(&tB>tP88pVh8cea zlC01T?CJa^yX`0W-t~p1N4245yJ>pcu+D$h zkp(lf2VK%W))f0N<6tm5rVyu^pu(>4={vLFkp(}c=4KJwyzSc7wPS<9#LCYBY@;$M zO8R1Tg{R$L)Gq@Xt|FutXf-b%ZJz5rrPO&O$}-;yc;Eag;G%l+dXuk`5%^O``1dD* zEB~bgXwdJusb7EhzT;e8H9J#!y%ym*g;G9j`hOZoDEh6Wv7h%sp21_xriilZEvsGlgDQymufod5qA4`vSWo5-CQ`U8lXxW;j+B8^!Zi67 z^Hni%%yj3h#*4=~Q4}HkZO9CZ&^#SrtIO|?l~dJv)W&_WqRtvMVqVN`5bqN>w&v11 z+q}llM)AO9Cs5F{Gx>J{ee1n-0^g?kf(Mo(Yk-dMPRb2_yLt)_E2vbm9V73m?IKFx z5Bpu+N{MPs9@O{U-F)LbVT$6I>*l(T>Jl>{qtAnOVC8XmxpfFwwv*@EcD8H7l!dqa z>9EF&$M!SA?a^gz(GA0{+TvqVi?3c_|JDEPojR8&h2ZVFxj9Up1=ACo|M5d@@jWNX zyO(|SYd4u)Vv^?m^-4yVT30FA*thai{O+$Te+<|8`=emr!S6BUNE)h}LsSW1U|Qix zW+GMzRUj63Io^|5=8V(uXw{5bIb0nPD3TzS#sU)}z33r``-F@s99zlTLn)br)j=-V zg3u8eg;TAjl9E6NQn_&2bPR*CTe&Ior>3Dec>I`C$2cF!;7ue;IaG&p9Ok+42=T$= zo-N^Y~rq`q)ZQ(8+w8g_?Q**Y7Z9~KbSBLgp)Z>=)NFS zL#wd>)5);TjN(KPrq6<0ETNaKfl1!ZT&d8Ko;LL??_wn}h;NrZLo(VWil6K0PD!PMQM(5DWbAU$$%Tt=_GY=GJsd=Rk6wC-XlU zQ+aFF?&oMmYDN1+;|r_Fr>7@>5fM@DM*&QD`sT)}@8^{mKlUWjTdaqm`|SO1Ma^z? zA~9Bip0$yF^TZINz34>}%2Ub$2~;1;0_GJc2fo*j!x>+Ojs942_2f`SdBE#tzG2S3 zR+j}VsA(}?&koSs3Q;ky8|KwLl9g-3$ZF{1iIFC)U zFTKHbN0JVwV@u6Rxr}Qu;vcI&U}o&2unc0b=u!088e@FerVtyv#R-5mWjBBhKjJsb zM_egXDCv>*3;dm;G7-+^FZ!B>G%3a4M8kUYAVj$Et>x4n<={jxDoDB9YLEog-+q0r zp_x}ep#cv|L(eGQGy^Ce*x}9|g7KTe^SFZ&N)pYJm}>c&q@li}5r$y&$!b7%-}#pC z$2WFg>wSuQ5{g4|c=Ay0-Xr?lhLO;!7;L#LyR@TJ6_WC_3P;!x!_Byrj;n;QHDVW8 zF`Ad+$yCWoxCgtLa3ul+`pChUv4uL&uAY_GY77g-0?-;1O2SNm2_^k7+$0+1y$%EoeOVgr>Us-oCJQ9w6~z zz2xQJ@)Ba#|Bt=9jB2xA^gf>i3!Wgs-Q6kP;I0LVwz#_#ZxgJzyA^key9F!mQnaN) zp;)m(OKF+h_dfeM`#iJHv(~J6GtbPt&x<50S-IAg&;R$G!#w!G7mmkUb-Ch-h|IRs7LfevDPEFPNECa^HD?HQeF%-NIjTC#MdP8SSvKT9t-G zEJ&dV^+pF}d(+}*jpkOG=>#IH^#j2%V&TE2^jvM^Yz>*wWse#Eheu+q%EZ4pUDv6Y zuEi`1(QB8zWtp2DimGhs0D56f?Ny&z!-fNIwoHpG>Q13}R#IF1a7}CH06x-%lcG5T z%cCcc>ucq|xw7ZK9`LTOK8n%`S&rvG$%$jUb0-MIFq&5i(`;9!LKIcIZvHyu95g)n z`XYDL*+Z#*+SC>eWyA&)t^?5sfzhONZ8oBl_{fVy=e7BgLWEDG> zlt!8!8IdByJM9Y#95~FG=?<}z^PGI=_HD%k^A}ozrIMehfw05g8BX^&d?x&!%-jbP zIiv=#>cwLo5K!T8nyqhL)ECh~jwd;Lg%QstKz_emV|Rl$V|m2tNf}Spo%01VPAeMY z>Gr$@zO9bIY96gvQaC$SuRlxb1k^R`2h*@^+!tK?sqmV(#WwZ6w@U{kLFms4e_X#4 zne^Tx(DHmDaA!BF5}0gc{x){&a~)=PmmJe4pr0$Pt;})PIP~~^%1gV~LSZ+}Mji@D z0Tv&ypv^5@QC=DE?_#))yUdYw9#6zSFUU=L;kfbp(dnROnx0Q&$PP9UdIEU0Jeb=BX-|Y-lx)Bv`Z#kqHz%vii)SlG1 zFm2}7#nG7s%-?$-KM4bCr48IrIp0Vnf4SF<)~5>z(Lfw)*2FB**r-QC)?~NkNKi20 z@2?Wz-%u|r&W;k=)9EdF;h{0*4_U(w2aP~`l}IqHnhAHyqrpOo7eni1B#~dGm}lh6<%fS>lKp1sW;X=aVNh_E4>;#4AOlFZ@o*KY?|(5V&a)(JO(uRY8AdiC>V4%N5J>CbNr9RGA{lXQ zq%lA(aom{^2HUnAQd~KaQNH-T9CIa=J0Vp9$?5n}XIGTc6_~b7DRE>_3ll;3c@%c1 zghMv={MSg1h;kx}aw?~i(dYWzX2b_m2CUF*q6t8vFx}%&Wuiv_4DJ?C4AT>(VOHuc z3@E~h=8X&{FOrGbzHJn^-X`(2+)-3nI)Q(w?hWtf0yr1Kaz*9P7hx6|tARPLCR!J1 zAmi(&I7}ntZ=w23X)ND_J1|sb(WN(|R@Gf;JSbE(OmtM;0+;koRcBNw9}W)>Rd!bD zjjUH?DNz0CI-xcy|7O5LvFFpP^j;9~niBCIZc7+UfTHE~aR0ZH*phqo$_DK|cZjNKQ^tP*Cvm z^Fwi;gvHo?OO-=A$Fb*af z<2?B*rf7$bDYB|r+}i#fQ+)S7V;ttcF%Fm_>XZm12q7uH{|8aTp`Hb_g7-#&y#W?iX|5q_iX)x{oG|u+?zl^hC{kw5C$iE+FeiHU$?K`1uSF-1BA96%{5_;*b41Y4Y_ zfZmXd(+fSs_E$`CNV|_^7)J~pQv_Rhq5f-35spFdFEK??bWD*2h4_~>HhI!L1Qx~r zh$)f?{1sEw6m0(=F~z?y4g&dKVu~yX`G3R|A%DdbALv^FG5$+TQG7;#grS#M|4U4<9EJ7y?O!oPZrQ(LiebpVV~Txm<$Pm#O?l9h*Aj0Z4oA&1KC{hI z_Jp9K)*FCQr$ha5hkpExd&phm#3kz-u7I?zNKXRtyI9!W(*xVj#7A1&Pt55+64@ zWk&UsSO6iPHu_rWH7NG;fvOUw(m7Lm0(}-{cZ%whd1lguy$j|A#A63LtJCrr(4~ny z`Z|s&($I!+()m6mRK*i`&N~61T$jYPf+w*cS36IGQh_N=FGzCs6z;f$buO0EoiHE6 zaTS2UX8Ztxy%^y~Uo&kw_(9;pViEgEU6lQm8cyp3XKuh`=ADn~kjx~&!KEAD&5uzk z`)!>^v%RouJaV)>{`tcodlYuG*2C%4fNHOpkeTiC-Y+=SvO z>6WrI1LTchOW`JrSqlAo#uUPeB`{)Uj0#h8u||fDwlPOlXi%}Z zdMldw+>=~asPkz&MGuA*&l!i;M8!C!_UM*uw>>tF;BiG?|Hd4PmpwhfHJlu^DBCu! z9&`6l(E4Staxq#@WmKjk%40aTs5Ly?aas%P=sg_&8*N*z zNq=#7^w1}<$0WBs!EAjtq(<9pvzKS{@|Xfevw+g!O?cD0G}_5SloI4hu)_F_6G-Wy z4l&(&n%}oN(azkWWH)10x`f%+I_s%1jQg=bqnnA6&?kPG;wjHK=765gYBrnA$MJc{)doE$MwZ)cvxv_;IArfCIq z*e5i%W3V2$QIxN%=m2VyA32G%-Y!L9qyGeNac2?eNq#-|U4fI)`O#7S#zFK2_MgNQ zPmI8VZ}b7NNwVLND>PF(Yv9ZmM|<&S<{zY)B~U_t8toq`4fj2JpiBhtd?M2Kf#`n! zM-uF8_9d&-#Gc9o0QBS_r|fQ<`~6}+*M$#@V#s^`54_~VCHy|FMFTKIqo^W$L+5C?rkxI-++bvkt$pja#Uy9~^eegopHt z{{pcB`8vh_QJ`T(iQ>;fSRcNz_t=_IGt1Ac#O z(z@cw%&BBZ5uvbWY3k@m?uFE4(qN~Qr7DIHt3{AwNh`!y;z2{5JAeylcY_FJyn=5z zx-;kj8;8Q_Wp|JQQ<(lh&yTYmJobMrhSWDZ;N}~-VXs}b9fkbWuAcT zUrHdsCNWNav7p5e+A3y$n4MF#mWy?#RN|o=Gu^Qzn_!1u4&t5VbyV92es@Hki z_2X2Gy>Xyk^_;@m6tVJOcm$ndxFqN--q?i<1vzKgO?LTsQOX{PLwdmW3FlAGGlM@t z;}|PFPRsmL+uR2w1jFt9oUbEt$?TE>^+7-QsLm4lU`ZOHN$){!X4yc-2iDMW-Ln|; z-D>ws%0y<{WMv7#&1%-ngBKS+bU~7Wn5HSs!$=3aFy*ckMTrOu+!P3|=r||Kc2{aj zc`C&QMD!+wu_lU6U3T3h1vV*9XqwC%l*XBBQ=}Hb_ml7HK8J_BJ9VYXlI$z;K`xIZ z6_2!Oifqu67ZYhhvFQRe>6+cC%Lnvi3x?!F2{|2rh#YTSDjr2HZe?{96I1`400zxH zZSut=4{ z;699y^!UIIo$^g_Y8Dq!G$l#Ri27nl`Z&iE*Kjq`SA#Wsq5|T?Wf-Cibk8t&G4zO= z1sECxS*3g_Nfwp&l@kLAJZ*_mH%N=+;s#eiOik@cg#c_<*|sG*Zeq|tDp}eENF${^ zAyX1U(gI(Qyys^D6 z+;UTwlE+fk*ofk=<x>1H2NQt+OlT%trwtvqvo+`&* zt$KD{?Qv_)JPskUlGNvd>BfmRD#C2QHEM@0#ZxsrDg`ycqIFUf-c#ZqoS`P{4zCYu zoMCk>Sq_CAhG7^%-nNp}xX=dbT4ytz2ZuHB+=eiwTx%DKY;-yiSgI^luZmYsWB^=I zdU(cFk8fRU=L7Yx6&_V5Z@(?0M!sG+sAt-!cJlM5HA?()D3H?;L>O0>#ZrmE)M&w7 zM}k)$odNlpqyNjSSVRNH!AgOLs5!rFx|*tX3ASFCYFfgpiSmb5Xh<|n{?$!P*@%a^ zHkr6I?(|sFPPgPAHVgzqUByJI?t94DqeM>*b4BV}>@I47B$-)XGX(3ZC|qMGt4Ae!A=V zwAq7vh-8Rpx;c5KYb(uS^4|BlWa-A#UgcN#JpsKo9MX_TX>l!caZECnrI9s>ZyDOugXY7cr^IQXk+omC$6VV= zdfUVDdl|1ivmVvxF1B~v_jEgI^gC{~v}pF>4+XXVGAN5vV6KDJ>c22fTU&kyH@6Vz zSUq$b&zG?_*BVJum%!L2(~uVFzAk=kF)<%JkwrVk{dP*Ay$2*e#Tx-jvUo<`Y~~l* z5AT}@tncevV;}*JYiiDX(}Y&dOxYzswp5CPEc^#Tr!ABuqG@1b$8RvKGY2!La_bdl z3R=3{>}oh>MMUPT^yfb7PcoT}A6YQi*0k@2PX5G(Ufijygw``m(S!erCjP~6@Cn5` zR0lP0=P1nwmedv}6BbKbfK34b=tZn&R}1mu^dW8#j0WMWZE_i2m9m@pzT@E^bw$hx z-YWN6&+;g2*+OAF+U}xNb3(IXexK%v`zCCwNj@gPq)*7p_m^P}N(G!NKSTS=oK_@d zVd{k>)=mQgiIWc-RzbkkNSS53Z~gVgUap&?7HhH0_&Sq_z@!-}$kYI*kf6(>Sc zWXi@AI_+ip^l*({c2dV z;$O5V8u`{rh2N41j+1sUV(jwiyBkjPZGS(Xq;1|JPg%0Co)-Zc9fickR{N-T_=(oGN_&-Z1U*s_Y;z(!YwVK zX`b|#Zi9HpD=fw=mDhPdV~jO$+QUig`2I_UcZ0H{}H&f3GrU#?%&{FeEe80RD;Mx+SU8X z965*EjG(od?P-YpAHHBylBI?b4gDF3=QAPKUz{lR--C86Xx`gce;T%^faL4s zF*PB;6DJU9uo>h0)tP3GZ0N*e@hi_|JD2=vd)+B!2Gb438IccO?Sn_#hfIQ zS#8KcLjNt%&`Hu`;#Ws+gGnZiSLg2d4*4O5(fo}yXK;*zMI{N)d)Qd$7sx$wsFLtg zw~WdACy$@S zz%di>3Zi%g^pM9Tf2*2*lh}J>u>F>VwCVF?0$v=y{pL!|Xq=kRlR)mK@P(p>^4JxVkE+&^Ej)vN=aC-G z;^_#eje(mF&AYtuU)#Gbx-Wwrr$Hy`S?ngsHoehp2y!pgp?d+HJotXdy7U60^4 z4~!}TviCAGLf(pl0@Av7+rn*5t@)NJRvJS>TNxSl^MCFs+xep_^Nh;A)Lr^bFOq0R zu)9foKaK9n6}Ae=zVU{UpO+&lwD;19&eJbLPB6V3{by44;& zW47Q#m14sIEVvL+Z{aV(aVQ{;$dy;gAMh=42_X$Npd2_?n_5DNlLtjra)RMyr16oi z;R$fw!yyWq!$roEs}Ve43S^;qc#z%AKs|G+ZdZk6#Ls0EeV#9+2E)RQq>AY2W@?ED zNANcduAj?3npNx)x>|BZE&$>ExFvUO`fnBov-eR_;0#7Q%mw_#$RgHV)$^|7%cTv@ z7~dLs+^EHc+rv?ph-+{QT$`|Yl%H33eB{c=1oyCQRZYG@eYH_gPXkE6X%9AduzlD^aIP9i3?Ood_y<8LeJ2x^S9H(vz8-RrE;BEK#R)wtg*$n zE~5u4o{7sa^U}HY$HG{&VV!G1FUE{^9HZDok=ozHOyGv^qr|5IZ)C5Ya$wPS^+fQ{ ze+9jKYrpy+rkAkmy?0Gp;O8XnDU(kq%4_g;`a_2sI{=I`+b;exDt9(}=a|ww`@sMe zAlw;t8y=~v11~2uJdN2)$d{F34SS&yBX(cHQ;A@!A?G$JrOo^jB;nUF=Cz^p8n86%29eoJ5;8l)C)Vyx-}z2j3$NZ{*Bi{7 z5_*Bb+q8Xw&z`*+ZPyC$$;>2;##XO zV>fSP!m&yR_`~6rAuE27#-3_HAJx9a2F3};H2F{Refu3uN^S)J4pPNg_<(a9VLx*& zdvF7XCOr>A#zz_OfY|Wy=YN>_x&TK@h1rl#+0|G6XB2#lpo_Anz@K(N%s>wd)NL$? zq!qD#ryB;n1%M13;RMv0K-??J`=2Ob#EkkW$UCk054atO>BJbpBa;o{-j(|-sAmHJ z6x(pa;jk|dV=^lQD4$g^<>z!{eMAvaqEjP=pRNZIKYLz6T!dNAsY-P!iz6CV}QcT{7F%AvLlv#Xs) zyG@L(W=2zy=u;O%j=;D}TNZ2Oww;(`mH-}Bn@Tbg4Q>_Bq|bKE*o=Lxtc=MZp?tb- zC#Dp=T`7>29mlu?0(aCPt2Mzsr@oC!-3RkUrD(Zc^%@j|(J?@!bdUGz!4zpj6+c+Q z!B3(%Pn?7?J@YEzN$I`%M5~*RIEDlY3v@=^(MFQHm^)|7DyT6Pqay$|SpmotXGeXF zO2!b%bs>Sg*_VLJC)WVv#+^&woG&w9DkV!Pnj)u60T|1Dx)94W0H(z$0Gwj0Nm8tE z)umEQ&Uo-pTNII~@I^^n+Em69)^>$hE||Tlj?FNoc%kwVyHTMN6*o8XFCt2ckgL zVFcdst`=3s6oo#(`l`w?Xf#P≪`FS7*o$X?uGk)alf&Xp7tX*)xlL%ea`ekSAA_ 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

E!U!_LjOeVstDitrt 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

R4_otdz4chl+J=egZyP|q&q^Y%H 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 F06T1f)Jy;X literal 0 HcmV?d00001 diff --git a/res/silentdragonlite-animated-startup-dark.gif b/res/silentdragonlite-animated-startup-dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..1e72373281f6a93812cd93dbefb238d65fb977ef GIT binary patch literal 1072548 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

w8xCl-He5AMO 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�V4kYSD5k5itzHykX)*J&*r!BHo-` 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

t_&t=kA5wAeXw%-+26;+`qu%OSi#X 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�B!P``hHpJsLD4&DRn4HNK<8XQg$ek)qUKyd2#(N*$w6F{a~dQ4Ok!g`I<@2O`7+qNJK=>g!I(Kol69O z4$jTsGClH~@Mqruzsr1ILj8Zy`y{*8KS|*ql{}o;X{>R9be#b2{zylT&~w>FJQpI; z<_7Pfra!_BG%StS8qFFu9`U=D3HKm6A3)=F8-p-0lXPy3Z^%y+13P(;Nr~siP*w1- z{YT_F#`?0l_R{(JR$OGXm2md=(9U{&h&j89UOivUZ=Yp0;^gP{M0=f7P4GXupOpJQ z=^lzvuy(yl5;eB(GEO62!6gB&c5NY^ckhUI??Jl{e7lcwx=%X0PglGD3+?|OcLKta zs-7&Ls7-NNqXHpmoHwI)DJXQN*mz_=`$<54tV9ze;CggS84R*hl35qZ=~xYDM5iN3 zuVsOrn@l#Vq0rZ40gko)d-D=^bflD_-dS1gQCu=aQu{I=KqpeCS}0pTv#WKRhALRd z-Mx*XfS1vaB&!Vg<>~DJQyt``j{1b1p|YPcr6z9b`vD!V9Xj;Nc`NJWGNEu8BIR&> zPO>e#NFkJt`+;gIv(JNs_2ME?e7|_0wEg1RgA#NmR0WBaD&j9VCEQ|YQhkjbb*i`# zf^A8IE!pRkx@&`e$C_u0K>5M=due9|p|DiS(L_BzjF-Xkl(qDhrqq1IA|RQ54k^upuvQ|>oT4a82<6#F=3azm%(_{McFQprcm&p>F}(9Zez<4XX+ z^%s2N>D5!qa6iV#Pry%A)4z-PL)R!?8!}NjM0(-4UmL385-E0aO6)c>flq-!PtP9c zAAuQ^%({XzC>k>y_^MnIv(+=7wPl=T9L5Q(CNGNloxWKLQZbuOe3h@5MGK!1n*e@z zVD8A75?7h2pi~!r1iDVJ*nb2bUVa@Rnxi!<^>Za!9en!jxnrUQ>b?d4WJzJWG`7j% zuVKU7TnjmstW6U@$mDAt*SRjN8IFr_9tVIA-Qv!ikl_`u-;Zr=b_s18k2`@~a2OM|xRBuGbAFI9z))%|Uta`fE!_K(KO5zGywY%h zl4qEBc5GkNIh;bc7W^t}KyB80`rUG6Jbi9iS&JBmxKbp(S`-5wpS*%V>IKnF zI33ejNM3XB=MEEYZer40VZRWa;{>G?ZtL$!Z+#|QOx_58ar!D)N-|6YPp<2w#?Aya z#B%C_{pQl7_Er1^jaSV|ef$*%(GLy2A3yqb2*N}K-(OdDX`56lp?Q8Agt%~A308+r zYX*+a20&`?Zv+QOSk^A5I!;@{j-s4o(B=f}-z%R0?~Z^<{wX&tSCrl=6u}y|v|(!< zQ_AZ1*FnhbYJ1#Tl1fxPS1*%hIEtw-163ju@8EKDU*_-22fm|(w8fy^lwW+;>?X-h z_#G4WYtn7GR95*-eM=fhwWj|zx@jv{Qg!xxq5Mju1mUDwll;`oJKjJWomW#b3Zb2v z6wNl#+Hq1VDtvT)dxIXvyO#KqRqbb%g(&R3vb6~d60-D`RLFl`njHx1S!rHoq{Eg^ z_>bHU6EhOM*%+m#@k*NesIbBJ#XYx~JTZ_klY9*@z9sI`D@SG{3|K?@9YViDoUqvZBh_ z?$N166oZ>Np*M~jU2mU1<^Wrqb_U~V5<4xw+V4%~Nk)Eu=jC=XkBwTNZ}i*a`+8R( zW?-(9*Tw%2muCO-o#1I{_ODER&;RRpf`8TiH^W<3katQlrch7*i#x$K{g&z9wSSrj z5%Yg&|J(vdwm$~jcFFLu*#7SRqd%3*Ip01p{X1ljf5Y@={+`fZ!wP;ol=v?ReR5D# zFB-&D2~HnuDWmzcCQH{`!ZMl3C*IKn`A0(EXl(B7lg{4)qYrOPtL9R{{PP6&^Qv`3 zArAC}g3)NS)Qx{j=s&st;bU=PBxSn3E`)!64>lXA@#nNWsPMk1-ToX!$f1KvSUH#b zv`Wh$;(gvXiumJ=UeyRQ82=y}OI@8=rvibVD%5=Z)nK#m5#7U~=v_)!W;o<;)3e|N z0UBsp-15!9j$t20X>?1``P205rGkBnBZqGfzw)!JtRK3)A=pk&Ouze+L5Jy`3@bOU zhy5kWIs3pz(K1su((P}XUrgwKZ57L<=lMQHr!MPkE=NFv@r1BU-fF^K)`JOZ+_ogg z9FpY1DLudjZ{M1g9EPVP77kNtP=gZ|0hmn zz2ev^P$R2-F~`~6`kB7l0l5*VVp%pf-m3M84gvu!|7u!bm#v3#p0X9AdsFO#n* zxykQjJ+B$yewwkZkZ&=rFVG$%ex1nAQLO-EreG^?aM30LulqWN^QK`nhIy06 zIB93$X<@l}P|b8%M!o%mpps2n>xmLZZINxx2U8Oi04Wku?~4pAkd-)v32RKGQ}J-} z^XyOY7sY11D3J=zZ~YX=OvM4yzDtc1A$QLCHfJl}8tmi6ihHVqA~z#efs}-*KX%Z9 z8-7TuR~kT@3)tFNpvNc7FAteEbwf9-T?3`on2FUcBH}W;hDoRn+H?lTh)nP+-H5n<3e-}_`D_A597#PbEAMlWYRI8 zs~{*NK%0LiRJ`1YgP}5fvC(3?j1{1MR{U{9Iq%4OpQ>=a$O7g~D)6qVGdJ6ok-v|-%eUyo28VNz4k*Yb&?Z_?X$1r#b7_9r_L8yV!xSz zST(WhTqPveA2IKl{P*V=I-O?shE0& z%||8`sWsU{lSH@pAccmJGW_^DBos9{qcBoB90ntF_^FRsZ_R^}><~uH_|#$YkS0=4 zQg$fH#RWF>+)VNs#y6P!acqM>(#1y($Pl9;g2BL?J}htfK1yH-Va_VDQ>3yRR^JYZ zynHi$jJ97Cuq#wfrEOlBPEp?9R z2wakJR#|3yt#9#6b8U_pq`s&QEhc9RYtYuD-PM%1N>nwpfHOUL(dJ_Fe@wB;6@xW& zt=(9P8Ko-TS^^`&#z1E!X%&(Zm5^Jsnbz-zG!~|m$|DwwbhU4 znX!Auz#0ygPwu~m4xOp{nI>9nl1`isBX9kn17V^5I=iJN&D|i$UN&$cpqMyOu%;|G z7Whd)m$8_PTPB@jy@Xc15=1@+DZEeeU_`1~cOW+4&|FG^7dB(jq56D{1;H%QIwtbK zwj38<&GS&3r#@iGJMS)tLT!am%nsD%;1g*4?dvX=2o-~M z8bknA3rh&MY6j)ge{YjRTYGwb;doHp`@GSFTS2?3a};+uq|G10A-_m$lHjiC!*hPS zxVfbx_PbvXcGMS9O@&+P!jK8uNdWc>N|f;_p8-;}6Q}2lYsJj6^@9XS{5_fNGQ(gq z$dtzeHsu6PJ(q%q>P^RUG^FH`5p*;0EROeB0|6{gxl;mX?AI8(Xnb~?gn_-PQu+KZ z6r&~w{mVw*1cX>E@-4TDUkL^ppL^=w%mVpga&IjU%Y@S>82DdR6Hs;JOFk~_=fffR zkK6SKEF=Y<+aX!nUm=TLKjn9>Sqb0Mwg$L=cjs}A`EAHhP5SUP2jfGtx`?3U2*2S1k2zQ00+wJPo%=8l<}&PRYVAj{}9?Lh%NI$rE}Ri zkowpXaf=#wVr4wV7hn_R>$Vg!dhq5BInwDcU|iVGc?fWH5#bZ{P7WMifzUBxTLg-+ z0$mp(4H$z!8ssaVy(?s*##wYuTIg)}qCxdx=||FPBSENiVK$k8WnjY%QXoP~;D9jl z%T3H}sNsnYVIPxY;M0LvHw6FuSqPyZepz^Lxp)5v06&u-wakP(GY-&eHoq@w%;MNW zi#-dLtc~bB@fo$INK&5)Ne&V_fVwj0#63cl#X=cQk$YcpKou zLM$;K{5eF3JJapNJdRv6sci|~kf{qmO2m1p=xZf^w$WPzJM$y3k&TWLkd9+#GUE04(a)Me$%Ijm>1wD5ctC&j>`_3icM-gC+NaBYhTj}}$oYsVTmW=$C7{_Bko^Ub; zQLLDPfFC6KC2M>{x#NX2Suqxn#nt%vT@)*66dNl%9RmNn82F0ND;DhQca-&FG_Hl0 zD13+i6+)^j#WV#$xQOc(OYw+=BJ#!*ZiLi&_vb$?+KU2z?m zbPH;{^Y6CIo@aV@o|UN39wCmM(_X+~x|HgFl!iwJ(_GGQfdmtXa@u71{r1Y7zkSgh z1wt938mKG-m?oBA>H+9ARWbfhHxoIUL?m<}S3Dm8?n=xWTkr-XdWbY1B$m%$11GZf<0DICe^ThO06%O2H+La?cF`zy zA#K_|&ZGHQ?6D3~qP!a9Z5R$B2CmZVv8^Hi?%+h7#jM)fEXxc}vKak6g{0RpfF5Tj zT6UmzM})wM?KP5TE+#UxBSOr;952}8e3(}fG3FnkU>h$AkgG6J@ChWwE>h($!wZh{ z_sRkE6|#!B0Y3PpA2~%G0N&sL36&y)yeUn_0A^#}<2t419u+ect}bK|c`=!($65ph z6}Wt!c`GHyt@%7=-sIAi=1VTjF_8pjMNA9X40?%|@3N)aa^J5MOMuhuFg_%)RE{Zy z-(>-=X{*tbDxcALkH>thwEl=z?|u2E47wC?itg67V%S7sk4|X1L19x!Q2{FFpgA|I zYt16uu1W9-wG_!u5d->D)OlvR5GCcIWYs1uRLVnuE!sXlTA`U)(PLIMtH0d8+SGer zml2x<6UJ6o8dShAt8JEQ_iwY$qw3xxbS8e(b$ygj4R%2t@l0di;oA?`0YW)|0UuND@plWNaoWV7D5lEc!zMZf3-bD> zuXcczGVqzN&sY6M7K}S;yV6S0SZx&P6RVQ2Sw@t zkOtw^zU18cP$J)sy`=>D-8W@#pfBtNv!G#?pDBtio)ylw;Fy_oSXC=RYCIvJ^;=>d zv&TVDD99$<<=d}w$L2V}{7L-=5d7ew!>hc_1*l*Rxt-ejB z0sI`|LPP&j!#b_`vaq2GD0retY*(7l#v6FCZu09 z9^`^f1%b7oo_9J~rqLoZ_P0|lhYv>Te#X}3o$;l-AfrkOAEZmswRkDxgeS-X13+DP zRyC~Y8QxwH52H5AFvS5PZ@RsuyihSFMhXc3j8Kwzf|(h%7@-r)jJe!gujd$GS# zCwWFwQ`c--K1YZ7ot;pp|kIOT-~wra;6?Kl}y6Q<@MmeU}$BmGE~ zig#Zn<>@G%iH9uB~je6Fpiw|$ZfI>{u1mq3$GHD)Kb@PY|d0V1rxBI*M!gE>vD7xnfeE^mj8 zIlP{tzZm}!Eb{0Cc9~dHi{Wo13-q6qN8Rhp9ZI#VXGV|`Yv`M#xU!1c=MBeosM zVvMZ2ATP~@mQEq}$|mOrtl16cl|3wo3+7g;>UQH9{aeTN^FQzCB>_9~#xevk6hvDpy#DVpnVR|dQG8}bC0-dwT#aEnYTv*U<3Z<4@Xz3YVPs|*~pxPRod6nB#^W<-J))nQXOWEk@A)!BR%79<+C znR<88C*|zU_cIvAG$6;!#)oLRlH>hgeaE#uaZ@WHz}=W6%3iKQTtLbG4Sfwa-u3$= zY}Wd7C^OeAGibz-YqHc35Mz@Yzd8`?C(u=pCbh>=MBFXpk{n`LQm)w{gKYE&*$0V< zd?FV?m7q)aB~7-6CQdY{umX6K-%}+-L3757v7IVH;?xFbWrpj}#Iv$_p-MGsMZ~WR zT#UAnVC?JoYqnGGIrIa@6Ritqi6O54l|o8p0|q57Pm z6r&>L09y&x`*Saew=aJH#fd}*(J}^#M|+XnRN2r8SoMXc{aO~p5yu3VICvZ0fnkS6 zOtP0DiABcU=cMS0j6?MDEpA_k_?2JHc#$IXo7kxoJm1xp)B??@b~l}y$#_9BF)sTF zwlm~#@k(AyR2S(RG=XT@_tY7eyBzBW@(x+EqJ&g3kL-?G?4|7Q8eI1s0!}4~Q9*PSdoIZ{IhLMyIt;E$2xgEcMme40up$_&#cwP!^k{Ofu2d2L|H>N2W z`NEI2%It3mec=YK`yW~ztN<9Uo=E*K_diB9nX)*g%a1QkD1 zO*v8bIQdk&K`Lv_dXZC9r}>%byD)^Pca&i0^bTgVP%dh!LXMu@|5pnTFb`|BfcC|@ z5zICrG2ZmzIiWA^YnQolc~GFBmyj@_b8R_?7$8eEUsJy_S50r;ENz~Im{;?h@-bwg zrBz#MHCPvba(_#m>5icYJJlE~NwJIX7|K}XC}&k&5_*1Fvjx81U(zY;^E zFRBy6U>|rTj>W4#BY-W8$RPoehSW>oC`oWg;%S-IOA;6bb4U?c6xBUo5Z~Xs|I&1Ad(H6)AZq#e;4%?3)#muM zOSQ-@KjpKg%y#ui+yFuj^nXqD_p?=@AtJ~#nnIhb?|vMssp`Q*{bgJ1^z@2SyBisS z(v_aSoPEqzmZ2i+^`~Dgt!%~tF8O~FbzRI6D19lOo&C1Yhuz+jx(YVqtP9hK`@~#! zFWHGIbsY+F6*`*j5?;?HGIhCgSTCaaVc`nJpPTAc8|rmWcD7v|0+`HpW)7EDM|kVx z^u?qdcR#j6Okk;P5%L0C%l&%E8|?;J3aR52pOkw3h_9NbteHG62tiwFWT-?f|KM3} zyGi9QqI;sm4rqIs+Scm_;cAX#$U@6Ch(F+`E*LWF4J7M?K~j%!RGyHqlS3kb|s~V@=|0!zWaD!y;7ZVQxzdZ%&SPWQbOH z8j|(V`!w1nP0z4U+C@5J9;R}w^!#GN!lcmseJ@V46DuW&M^# zGOcv&5{!ONSh79iq?(BFh@__G&%9#pi%X^|@mFU{pM10;oXtNfV_Bcn&0wo1;YNuO zRlf5VOJ;$>*&@K_t-2!Xt5+ZKn=}>{w33u$gO)Q}3}ku@Oqk8rPu>sowkB5}708~c zEhFE)cX3l~Qm@m8&-;J?H_%NNW_X8rq(q2 zb9yEp6V8JfqtW(V^k6nurc4>$ha43W85bYXj)kJ}cT`U<$!6v5AGJmpc^mp@6ZNfh z5%^(bY2DzFJJ*=}#Mivahyvq3+jtOwipc8wO||CkM5?Q8e9bXyZ4Oz%*O`#_KIFZI zO|&!zkTHQnEyGlj`-K3ujk->~z?*SZv{$ij-180B@Pbv-zL)ozWe)3U8J;%@H1K@X zAe&a@!#?}Y?9kO&SMfOq=R=Mj-P?988jYu$K4PI;nMEHR+5hI&P z9%%cEOlB|d*j37z9t>gVZglsK5+DB9EI2MX*CP^}Iur(_yl|AH-BeJf6j4r|!gLpn zZYp8AJEauYFTkIR_-S*46Az~}0$fPOhCKaxC;t;!Jp3r`4fnueTp|q;#=!>`r`7#)#% z^N*?iq8RJ##8E}h%cQ(#XJ7DR_usdDDoT@UqKp60*_W&N((t#o4+_qpG4WOUh_8ErUuSxzmqVBzE<^{cvod^dev8l+RV>+jqcB-HaRb&R@oxw_(1F z`s^f8zprrSG3y0}i|=a_%8U{eM9}%kHh`a%&hDdt;NNIo#M(_J2S)7x-(kDcw;N0g zlj?)2cikwBLe7IuF}~guEz#VNp7|BF80YERxhz)O)|g-C0yfws*B*C+oLk#X zfmhKoP8&Ch!J5m(sHRPF@lMC?!!$AoE`GKz@stpoCG1rk5-^k3$ld!U&gxw0KZj7N z5z)%+F(p_P?}P@gP*+o3q$Q!lk(v*~$Z>t4x`q0UjJ2!un~jZb-M#dRF@OH~SJepAteD%?022 zI2jdgWWG+)h1dx-Cb5ed-kSVcd^36_;b|Jh$81_j1mddkF*&-y{3Xs?H3Z{%V zp6h&KQK8mL(Bl-K*JId@^Ez9iW%Ka;+;yu+d~3Jr`q1*R#=drNG6}IYgBtd;3QN)^ zVf`Uv6K9s&+CVVg(;6~-zcm^g*kv1t>*f1G$L)(t!QPAhaVq~@R7UfzpHxDmTT6zj z4UQ8(A|3WxXY7#%F;tH|2{yiw!d9<6ai;*rI$9bUY5rJ4?alWu2fr*n)lHl}exCx* zt`aBQO(`YXy-efp!xue&{>CN*sTIv)ShY%OPdO(ByUwXgqt>zZZB}IM?F!TNYxDFT zhnTLM(nYvS6m$VZykuuXgZ!Opl>$Xt5|bY&3f8H1nHeFvCvO)$wv0DFx_>00%4@#q zLg@h-NCajjg{vhbChrq$yVlUq?3^wPAL96Yd`-#6w)DI&r{o5{Vo9NHf7)`KmoEB= zJNipRh&_Rkee(wMflUdC`ZkEK`ygV-M{;56E?OM!7MHQ>Cq=;?hWH|7R5NrUjXmKA zroD&4$SaX7=kw=w>!*boE3A;@|~}5cx*YvBG=Pk%P8lZqF^IXevc82(@Oya z9N=N+>nEDVWx(IWuQSYL?9MM^896D{+DFt5$5<1!4CG4hsIBgVN97KJg06W%%DlkZ z9Way@um-jbYJO)q02d)^bHRHhcvIRqY$0USRwz01w;& z4QW9Gm-b)_U!F1myzMK&7tj=jGjbATP5(nc-k{OUwIWEjK=w z?3S>`P;-N3-vC%yI6wtYu>xEm2O~3tOSF38%zBC51M|pFMScnQmv=NCgvNLs1S~;A#uz|-qHgP`AgcRlBuD>s z?ihMP?{fw~F~Rfn9`MwTL#_`cz~|g01SJp0p*hCk)!RRyI&R+k{nQ2mkrChV1yz+P z!Sjo{hJ>d{Sv*4HKi@?n!&481zfb22r@IywOpeE@Pas8u$I>yq9C2i}0+4vD)}R(= z(0Cr0TS$Of!pi_l4jtf7JBDb~1>?cDZ^VVYEn1l0uXqIDmPwYA0r*E_U-Ttm2LuRP z8I!N_3aH^0)ul*kChsqYEb_!?YsF?*M!oEf0%rVl2~)5}d}n8qX%N%QjZ?6CBYzWw zpXw1;R`Fv{!~0v(saFEO z(>lAOf`k}S7t+!Jki9?>=woZLa|WR0f|IlY@IFMhYk}!AN1_zUZX~+ z5gGbC9}%wPzvRf~V9fEo7a{Tls+$wzrIOf~SbG_LCRTlJ8bAHoH^p9aVkRosDbC7= z7J>r;&&#wWbR$q^(<#&Q_*)Ck_)|hXLM$Krq$>b%2H>{H02qnG7z@B%%A%2q*OZNb zTO+V~c+TBIE-ny8D%QhmPBopd6-Xht_c7U$YDu~?irj~0aS~#R$ z7zU3yBQ=|XikrxGqLgkwKYLmNSIua~pH*~Tzdp_RF$SWIENV+{>p!vLYjDKasUupE z*lKH8!IO&b_(&!lL}eU+>e$j+8U>RCucr8b8xmv3^k_il$|mhz?k<7|r20}|EDX|7 z$5tXf&yN~l8wP^xy~h1gU0Z4JO>on+B{|Yg?j#-3EX*XhsdQ^_SsFkU!SUHN5xGEU?(4%DM-M^p}K z=;>ZJgU(5YnD+S|JT3Jn@RaF1%2furqO?p$8-aIW9(St3`7w&0t_qi7R`P$BL zS%jJ2wu3uWDymN)IG*`W#`$E%3zRP0f#Yr$w{*ayu%h4+p2iX>73m-*eKX#Y0M_F7 zF8AtYa;tXN zO~w2{@GR?+k@#5uEa>|E_E9i?s=^}v6f>$2_|{`~X<(hEe!lGU7S)C5_h`j+tacZl zuXG4o!qi)C4Y-ll3PzA19)m?t%^c0F^uB@|5tlU0A7VE9MLIU{xZYmbfL|-C|FMst zwC}FnjJR;OEE1h-mY}}T{zlB}?YK!b3d3)+$vxx-hDCMTd*8sNQegM`y5(RZYy$_J zE&L`0AzeKE*IT@ls{46GuU2VjyM4rnB(|xkNNal!Ghoi#XL{i7-7S{A6?)^Z;f6BQ z-NO`)t1`)59=RV@SP#B5?!FY#kJpvhUT=oLQ-As>k6wtYPWm<2PV%E2SVHJH?0R*) zOAo(GDkV}V?)&j)i35f6bRpE;7ZS7dvr_H2(xEx~-!N#vIpSo#VDy?jRm80XoRj{= zRe#)l$OQuxa9Lr-T6NM4$JnGpJ~{c7wJ(HB2KU`_;Zcyr0rY&S?PEP`|)?G z$+Oe6y+djeNN32Z1L9$cJ@`!FJXu1FkB#=!cGB7OJE1u^0r5?*Qog85@SFJ*t#A9s(E847>Jq`*y!InY&db$)qG7stHU3*PGl z{Q~2(UbC|($;kFl2EZz@g5}I%cZ%xoeqG%AEA4f1U1NQcc?f$@auV>ly>>>FN@kb) zktn}CiCZU{tr;m<#J_McPzG<490kYv`V|LyDt!F-=J{E)rp zRKG!YFwsY904-~+@saj#seX(<4a?R^!4RPsa>-2fGj3a2EBnW(P zwMLgO5=nD`CZp-v>M#1|RDYDnC?@Ne=DB{mI*0x0T!n!_x69e;TBD?m(X+GP(s{~t zW;`SXTNPt0wt4?Nk;}fpB#K_HNy_e*+IpWis#)D!mW}!B?DvaMLJ}HAZ55ZAV1C#| zSUXxBnnmGsAMEt*KeW5?qR|Td{@T-1gjlLbZtzQslCW421?&36YI~*2?-M$i_m1YI znk=5M;nQ>52V*Q%Y~jiK*UfNg%cp;7`>ao&3B#j6K2)%xOS}?AdglA0C=~yJ@9))# zzx*HP`!tfAT>Jkce7_58TmL!LpEiWB7SghgwEKT=`}~dXpUS!Yr?$^C-+ylVNb#Gc zXqjhFA?W^n+s7iuZRrj^{_kr&f06%R@cI9R*rDUxnBk3~~^omxJ;W$fF(*CXLuT12*!614>_qwRA*_xm!?|HU&?cy3u z9bF;bVE$jtend0$D#m?!CB5oyvHKQ+bCGVqx2ga1z}mzLz3c{34^HdLf z*Q1^HY;0v&f}`D?P$GvTn6ohEO^x?w6Ek69h96@GA+Wm(<6GmWNKC;qb-fm`L3N*inEqP z9MCSs>DR1B3mP3TNk*cYzOzC^+|QefHZoa*T!?0elkUAV z4ucP%@v1`+*>f!>4To&*)nMBmO)Y2m#^2s@lSr8qhy zl@%)DjP9M?G4w6*NpeQH$ej|AodMXBc_%=so;N;{*8`C6+0F^Xpap1kZou^hGJmIB z2py^=l!{hjZP*b<<;f-{Hg$W0m<$K|_@bXOcSaGFi@M4d9@m=@L@ocg{glhVNY)k~ ziFa%SuIDSQv#Sc%cZT*d;7jpfCA>2uMO)KVsq8MkkhZ5;CXw!IB%ivFjwjB;`9YXS zL(=GTCJ|dNAy`Hy-&ZA!9fCDVB28)FbXlUiPgbIxC z%wNu-*A0z@ecH!@8)6y{|4m)X!eM0X^FsImrn6VeQvb=q;t?OtnH3UdhSnlxqPry| ziJ((G;+PnfcnP0|>BxPq%9aJf!%Kq*phd6_&~KJPdYke1ZDhee*Q4VL8a54NJW{;2 z4rHCF_1>9#Y9$&(!kKp*xr}Iw&!K;rN@JYDLUUGXh}Z-pHp4<9ah2r~Ff;c$kjYV3 z!K8SPP59LET%*3ya`BZ9X??Qra6}S)&x*M}E`jfe%|6C%GD~ZFb-ai(Z6YGFQW4p* z9fz0fThQ-V(;j^O(=eCl?_*jxd9g?9c(TV%; zx)ek3Bp#Cg{3lV;iymyH`@VgVPV=**EyrF+-swWY(2XkG%yB3p0lmCyV_g{8{+@r> zBxXXjW9)ZbGv#v;sn%eWrz`f8sH-5rdF923NX zsoq6lDSFdV*PK@sc3n95y=6Rw3C=W=^ew%f5|FQ62<= zI=A2Z`bJPo(Wf{^5(zO9EzdQLhBaGy#6{GEt)U>nyX0`Pw|Jj0i0p-Sx(QS}#Fwfi zWo_J376eAZOHOw=w%ntFH>hhBMoK56ZpSDF3~oc4w}K|zrjv@^DgId8b~A9FPeX*m zvb*t~(rh-{OY@MY0&eruhET2`KZKoi+$qI>!0*bDnMibUcYva9xC%GX{K zPL$pkt9_Ha96l%gwe590sIWQ4IqViSVVZW7cG27R`)@g)Vmn@PzQeFTy{nu(${=c7 z@$oy+RNnf7Ju6smt~)gB0k zxrb-Wx8(B!1 z-KyL|vFyE`4p5tOp!C@wz;?pGDghA;QWNx`+5|*adMg-j1QPs*R9Bo4Jmb;f2$M!6x{s8Y zm)4+z;G%RO*V2f0hoQhSRJ+wWeoP(m>0AMHERDjO-pw9{ z47LK8yZ+EroMtG95E|9%7LAe^o#^KO8)8S-#h1D9Mii41i-Vz~?Ty)Kfk=|L99G3sa_(~KxkfE$C1?EngV z{*m1~8QW4+^755bP<@o{sO}h2WX63M&VBH}kZYh@xLjL!x-?rnAt(_wDd_&gwn_MQ zy~DX%+T2q3UV%^4U7~JA#+p=Ekq(G2EP=0F{|^CUp%FJdVFD z6sBtlOC8c56UVS8U;3$(UBHCso*pDwemmp*Z8YXdM7ey4%U7X-_|5A=2{iP!} zJ8Umg#L}pMIw&eF2gN<;HYEr#A<+CT>dJw3m`v6e z`jQHK!;dE=lVUNBvXQk`R@ejtIu;=M%y12K*AgOY60O4Obc>D>rBGR$@XQYg;T~qX z01}@arLKoJx-Hg43D$DORrAM=V?brhi(#blvI$+&ib;&5*JTit3?ZDcy`y`=$3>bv9nR5tOpxLCl zyOxqZ*1?6_iSRZM=lkHvHHPwj#tQxL+0zW?qW+Yq!G*v4#bJ>ePere^b5+=frj{&z zIa4m8!l*VRPFl0WnqrNQ{XnT85h6)AhdCpJ^{(N9;Nl&UVCk>RE?Oc zzs=(ZWjP1DU$Fx8W}vNmHSUs|7WxR zZ{(jayO+4Lmvp0-{CDqPRsXkr5dA(}?|PICJRF8Dn!y&E+dP~~(zX6RS`CZbeJPVA z5~Y5=x1Ie08~unl0~{)1Ln&~bkAU`KdtN@7JSMJ|D5*ARP={mirS;n(T7P#8l7n@U zSOoZwG;(jQSdB@CCQhpD76)mJ)4Jdh^NGNYS-SLebrZA59211`8er^HooQL{i|-_J zG{e$YU3Ro+BXT_{9VETh@r z`A9WEvm?;xt!zL7*4Ah*FgEti79D-7Y=}IP(L0Jf*F}Ay8-=OrS2Y?Gs=0|tkkRRw z)+-^>q2{7Kf@3v?jG(j4QglP2j)ObBUpD?wkJHuZaBr*DWHwz+GxEEa^--QOziO)0 zOV7P{;FPMde8ULkQT6BiP)fFFPByuh4j9N$lNTQYRI=C+5Q{ZuY(2}tF@q2e5*|mI zPx{~)?#Xl0@$YZ7ZDF3X4=OmfEJfzX^WPhFt69=G4d^G$!2)NhukFC)FF1G$rmcpG zm?dpR1-1DxAz)ntB#!a728xwU?GqevqVwDkR)8RFaaY1tSfMD4lm-cZ>BH^Sl1{ej=s& z84bQMp2MPDf0lE-4Q#CB#Y(H?xo7L4SoGh1Q|hIF&nJ{|a+Y6+))f^@C-`Vi$t&Rq zwt2J6MDO->!E!cs)rBl#?6DD<=dRkG4%dGtZ-%jk9sOpWjDYx%D%WR&E{7pq z#GShC1tl0GJXA0ESVzPg>(9{pM#ldYpdo75U2h8Dx@U2sA1j7A20J zO?qW2Dm3hZmtrWg426!c^a^^+Zik0Q$Iw5Xf^){8R*<$K76d6bjW=rTwPm7qi* z)VG7i~FhI8ogV?tQNpBJ!N+0iB-MOFqtvwkwHmj z8fU%^wi8EArrVyoZ*!te`zjMleOz+QwfRC!rCvX&OKx11qd-a0i<4J5;r`~2-0ssI zQ~q7|9FAxYuJI@N<=4-z5RW1mpE|JROZr$xKFL)lo)6<5+ri`*`fqTIet!sfdVn<$ zGl_|9{E!I*TMhL9JBQG6@#D3DAD_wPlT~%G&*j&?%9jTn?0k}arGl53Bp;cK1D62T z_n&J$e;etQNT(c4)qLLF?I%>-gC;&#{j=|$-gEGVt^{o>RN>3gm$wXJ9u+% z?o7YkMMZ2MnnF1e*7W_)Q)Qx!>X+w{-YL}HD#hGzG7@rKXE|_R9IH`ol$*8gL{5*d z{%S*m#awY^>V9hyySOGuz6T#&%id(=d8Bt7w>2br*r>$^Lu1u?{QK9znBnJjfyJ3` zlO(>4%d(M(&sG00`M{)$lha|Eq{R55NB2uG@A;pRF7M-fSa6gPg;BTIWDoIlm_Fbs z_xtJTB@1(f>mRCp;V*eOQ^m8GrtzKMc~%R0o9Cj~*v24#nf+;jQ~0Pm>#v^8{rH_W%E1_5Y8xp8rR)-w>oX9hP+1cl;O< zaOk=_=y2#6ulm*W_lE=~aE)-k;XVGV=Y-t>Kj4+_#z=kP@IQotqSN0MkEgwQKb9@? zxkMpKgc8n*Uo8^xlME$9rjGM)@?S@S86|QNaiCCYGYld|Wh46si@3^a&F8AnY6DW) z{AbI*o)a{Ur?N#W?WyO-QoD>`mx&y@R}@>FerG;ddal-i`QGb)dro*CE;EuyWtLWH z7Grzmy7|_9J{1CvHusTlZ#bH-_P#?DnqM#memDs&F?RkQlc8k&M7*d9XD?Wp^6q**vfF?z4FWPJQErz}6dfpWKAf!i;4qA>=@8wLW)BlDcNZOzbULQGN>TD8s&&eyG*^M7{Vv(~p#qXsWi#hP3&a zAJE-b@CWRO=oMb4y6on7pSz~xx}+{2D(HhkSMtJzmQ*#~J*1l#Fd3&V2YH^O9T&^d zeko&(Gtr&bI_)|>F5{lG`V?2h6rz%QUVL&Qi;@dlJ+9=z8#9b)JRnvDJ5N?rDhw+y z6(RQEujebPX6we+LeV@eGGW(u8D&G7HZw}q`PS9CnN61z>Fc^AM2vn|459)CzmT;B z^!!QAYgMz`NQh(xZOjd71Vhd9^?*mV>V&4t-S=*2*Lm8q@OiJ`))}qLyPM-vmxaGK z|Eev$a2;e(!@h0VYQ%W)C3ytG{=2l_D8<4;H*-~WX)qpn;&_PniJB0x1(YH(63dE- z2xpp!COR9>0wcWCSv}#}M$&=ekv#w)g`w6K9K5Jxo#t_Pisj ztTL)a{P`7lr0<@$+SWoAoC@UpAB)km)*e@(H(~cbFGe>SW#XoxXO*Iy56|gHMWrW~ zOmmVhzp1>K6lnJeiu%v4?Foi zEE0_PLldcp+-)Sj7FkzWZmwYk2`P{&`I#8`AmC|=gvW2H47ou_$%~&~@^Hx|j8{%J z5e&3hG#R5qG2p+nrU#4LkfE?>w;8{LeT0(Hj@H?VUoSZR!taGpBU(nUtHQEJiaUa7 z!xf55#IXAdiLC1*pU`4}9>Ro!#fa!%?P!2rq9oUAi7;o!!gQWxDSjTr$cw82GUmPN zoJGet>>ZOIaA<|K-saK4d#E#sDI-Wt(`LT55GXz}pA0%wu;p_R9SDy|!v0?l3I1dJ zzd?7|>)#Fus3K_D+(yTzj{oJ5AWTM{|GA(s__sp>`4sv3j2Q_u#sV3IjQh&W6@4@! z-;7Cn&;QqvV1-#agntYLy}8Z@{&^@!@*B7KKaK>)s`|1$?NPq}C(j8d_YkUukG^%! z&j}T(X=4i|Z*Iz!V=B~3Wfv=SZz=#*GR>B;#hSijJ;O87F5h~z>QEQG>JMb{zD`Te zXSj4fgRJzJuV1RBH$i05kM-4XyEAM>z zV(4GQT!m(ts$?L_b>kHyOivo^jHKmHvN;>!^_yGs!T_X@I;` zQU(EAPH*9RGtC+5qzra{`BpA6oE~bPnP@2NwL1jv{#@#{02ppp3mw1v8T${3M}_l3etMON zt#!Nup}6OfXug7CCmCFYt_)J~FWddqtevc(UK-?3@Tcs+3R|K(ES+q z%E=D~4ic9IM&Tb)8><;!<*Ehh|D+z62*fT*OzSuh9p9S_wV-($#fH& zO#Zj=zKD2&`a~?A$|ShMu;1?+$UJL`r7OOtG~$n;JV=xH`_R6Y-Wy-^jqq`hI}I7Y zSdGDMk$b&i8}_?!13jZ!a;xH;)MI`1&S%W>Y~su_u63j}mBZAN>@eWV%2#I5^FP#J zmKCXic|3lOKCOap3R#|1nUT(-w(s{N;@SsZcHfDHcY^4=ycaHD>(22c)bI&m3}5M$ zM)9vP69$DKhHD{i6ZHI>`>}OY2F>B|t~H5Yt>3=&vO=w37Sk@k(cPlrWmeJej{l~= zaZK3ET4P+PVaT3lpe>EoUuJm23TY4D&l#!hXS?Mg6?{7rd$)dgXWg8I2*)_=GEd<2 zp=6zmmh&qrW0@Ubxc~bH{qaK(Sq+dqt#=qM&AHm|HUv7gk zP3v(i>?L?6%>yGf@Qs(`w72BJQ?Cp!>Tjst!--qw!Aqjwun}XSgblB+G?6_cIZeV3 z!Bw!|PUp*_#@X^s==ew49VpxshG`(~sD>1XKae>Mc*O8M*axDm~| zy`b{JY$3)zG9PvGM5#wZvGgD)gMOiRrl962K({jp7I6IR-mQ`KqIW zOS0~da}_rPswP-}xv9B(MjtW%(y0)*G$p)?e!J_xAyhFAhG7{UOm zXM5k*j1ZJj8ioxY`qJ1}e*`dO2*-l=z<_rpg*k`s;DtxF0>MXsN-J?Zp+h@enAQ=1 z#Q?yUxgK&yVE2YIyMD;$1C>A{W03+LG(G8>Ba;XN5k_!QR)8KLEa^TBa5Qo>GwG9# zL=la`P0(u@@oz5+@1%D|Zt=$iMfYg~gIZAtDmvw<(Shl3d&^;>95J}F*jWr=Em9x^ zw=mT3pjk`c7Ae3=^39$qsE6{yaTy?vYWgQJ5Hl?HiVygP9LB;B1i-~UmH`J)V1Fcb zr7Z09C~k`ZM8_LXf*N1_A?{Ev++e{^Ut0b_I`BWNhytRg+Vx{LydcgP{6E=*5p2nWhq(^27lj50DY-Ay}> zA`{l5Oh!VacIJv3a7`4kP#z52+p^E%KvbY~=_550-o2O&xUS3k5dS5hUUK$gjt^TXDpv^*DIwFj*%*nFM6UBD# z#!8{W4}Ct3fGW$LqZ~7=Too;ENXr(pK8CEkPtEE(Lukt{rWYMi8U`=1Ef3R*hi7=gZ8h z961}U*GNLUSlf*a&dOXV0TFnUf$+-{y~XNb(L_!<_N>Bd#M84Kxr~~z<}j?%It|o0 z1{|hZcb9v754Gu@FY4GYx8)CY@Bm4ngLZzs$FixVPlKy(v1%)Kj+NBCJn<)rqVOuI zt%EJqZroRj5>wk}0u8q@*p*(u>#(kdFs{ZfJA8NIit;5=lJo_C~J3c!Sm&`NTv=6Z9RoaSsfsAZy5hK0! zPHIj)Exj;6cqEQ0a{h4J)#W&iXjH}|ApMUW)&|UVL%M*mjaBesYkJA6yBoQr15i{_ zb0tcAIBz|cbsj~2%<@N0jYl_J)0PD0m_&cO=KSzVEiKb1@0Pm+iO@W%HBe+$V%L0o z?Qq?pO5+fIb6kOl0dY+Rw2;=Zqnzd~VOztYaRyy)UO9#zI*xltAt=Bc%x*&t4`alA z!x7I9syGnUoExBOvMG6?!bc+qj-mqsSCd437Qy0uXhrphFFqC>zteZ@!h{#rN=Q%C zBX|LdL)6EKZ>K28`Vze4l-*a3oedtHGsLmQ+4x`7y@g*C45PM5r^w9EDKT_+Bh3um z-Q5DxJ#=@Mbhk1ziqfTYw{$2XA%gSqJnwnW?sv|4zumL(+u!~j*L`2t%v+NGgcBHp zJ~9`6WbOUPzW$N(;UhQYCtmSS{3f3SgFXotetMB+NyGEL*RsoXh&$Rj^&#P7luww0 zRVh(AfmEUnnc(1gLZ@0Oy`<*QmKKqXG;wk3kk^lbpXq|C58BqZz+2p22+*%Df{QAH zYfqa0H%!JmKjz(a0yR%d53uuY|6L#hwgx*Oy}e(F$EdFTg+!-O9@Ny6oq_`)G`dAT zY&4%&jG_n-4$Q_LOQh|Uu^(2->Z3t!?6)i`5RA!B)VX%#~blwDyudkW2*+>Z*&6)lky#A55LI4XCx3(n?P+UbdCg^R69?)1r@$icc-IVl$rF z=JD(1I*&W#k8ZnUq3U&M6E)4Q0Xs}+$3RmknwA$0nj7SxK@nP%q%TZPV-i`G_lf?s zD&#J|T|>roaL<76F-EJAKf@c^Rh|^dy^K>zwEOhawXzjdraCOD!*3A{bl>-SzYC`+ zRZbkTe@4>^08M?C6qtmYObUIRqX8=5ZfMA%g9xK{Oh9DCVj#=;)mxht_emNo z13K>V9eP@NnuD$JOiTayUT+T0G2I;uO9-8$+JY&_^M21mi;>)N-8XOV*ZddAbXFwM zPT{<#xEUaVVeP&`_SAHiQ&L>h6@*!=9s}IG7};*l*wXIzNVi?Q9^?*M|B7kCgEzn5 z!m(F+qc-j;?k2fO!9T~~!5_n~ZcVTX0HzqbNw4oLK1V!$y(HvjN+SWM%OqT_G9m9U zo2j1i=`nfi@`I73RNn@380wj+F-t7UxXpv#5j5j%p{7amQ!9xM9?BFS=w$M+z@Qo- z%E+$|7$BR?bF+1lFX5Vcjhm1hYL?VUg@^d1V5$+mP1W(f@fQOgJ~l<&(^dTuo1c;u zq_i2s{{Z$hndMa!UY7~IR~vMhS23yBwn;RW3lTz*;Lb2x+@wNB?-J3wSQ&=RyC>(4KD46oV-kLkWS`x+9j{9&7l_{mEv z(eCwwhgPQJ;^p2CavmU+-HK8;_$Su#b+4PWV84Lg8vtNhnU{|sHG&B5+sm9{8s42l zaXaM%t4q`>hRAgx#}}Mb`~;-S|SuyF63A>Yj9xth|@6+e!;EL4H=qzN<&x`SteH|dqfYy)^L+4@XX zd&B3dGw)ew*{73~VHd~Bm)FBGLU){MDu~y_U(^-q=}xoEZl)b-k!c!!;T*|lrjHF4XeW3Cb3C@4gt*EfUgr0B$Ibr1oAM~idjsz^T zU~2z(6LQ^?`E+(Dln3%83TiS1o_sylJzK7n8-vgm=$)_TN)<-iQ0QL_|HB64ePPxg zOcH*6tj}!@Lz{W7Q0V76mqJ_08r`tKx;UD};jG#gHQyY0!x`Gd@?(qZ6NnTAsmQ2Z zrK4c<%8P|{7_DZ%Id@wXzAyfEUS`;>KV znSy)ZTYh{p%>^OlL{pikEIR}d+-}IArGtZ>KIqoxzb;vAm}W6 z7s-<-XgJP`en#ORqM(BM3&kf<&}=V9{F5l?o1o_ZlcJzs|DPNQo+81fPe+0dQ{Szq z|0YgI;QCLZpnr`MihK{c?B9g`&p3gK$ii{!e}68pe4+seaHz zfd*Lj`<5Jy7O18W8^$HgG7vsn>`LxEF`w_J>$5S@(Y*CO4BHOPnXqm}@7!hO z_d@oowb1w5aA$e_hR7aW)W5Yt_OW~!5VD@QwniU>N!_1bQGxZh1*3^-bQ<3dpHjf5 zH+dz@j=XUs)ti0X-Y0XJLrQs~xt&)}*#P=T=zYWPP7*!Jaz54Wnz=*yFd|c}zxUUB zxynJt%3P1zE37SCFRG3not_Tr))a8Z8isn zFUddw%!^{;b*TVIloUet^5iq)4HY4Q|i4Dcf>eMA;xVGvh4c?#`}V!WvwV{L^3uuW(?UC7e!YqEx(qpd5pl(%V+ezpxbUB`#zAO<)-x}3}O z2-@~8)cmHwwhOlv&&!$jhrX!9JclWs3iwr6~oEU0_PL^D-u76b4$sny@bi+NK zRn$1jcw8A4HB?;WX4$Q41E(A-tgiS|F>4Tur+;Ghs+MT3pne!3s)Z6>tvPOVN1ux$ssJRY5A-j6TPQ4V#2M$+W*=xfdeiD zp(%f7C5j^*m>^wp;5N@HdePjc+DUFPC<8d|_XrNuHF#f?l`ZxA;6}YNcdExplQ)2v ztR_R3am+I)ij>WjmZ={bbggUS zl-|xs;xN>>OR_Y2NvDf2=%GmCZdk0_qUay4au{CgQD|)=6mQb2-O@bt6Xe+o2&K(U z>1U82%KD)ZZc;Mk7Px}-XYwbVVZ|j~+cScsoK%v4!<&yac zjHqb>6Jr|N`xtJKE+Wr@4^zL&yp}}$nrho+FE7?bSuOP5SH$uzR${2udyn+XE6h!P zQgmjkMMdxZ?m1y3?mpuCs)4XVDkSS?Tn>V5Z^^u=zjfO_rU`*4Bcf#)kjosEkUL(AIWP*;iAqciQ7XZi8BNVZ{s2R_F3%dglN0fj zi;Y>(|cI}Z$Yq+8fFr*u$O-xHo%mRyceu5bNP+#o%uT#Lb ztcGRddfn+R&O!f90}g3v{-Ob9_vxBS4-EeCM9P-rd|6rI|7Wy9|M^_-q!l{+1^Vk; z@GrGO|9&p`-)KOVac_-+&}x~5=f6w=|5Gc(pYGh{DDqf2_s?^|lUAtg?{mRlG(aaR zz4UJy5aGZnsj3@{*>mz3!b4q>Dqk-yN(%I)L;eoSQoK1@Q?CH@zm**IL0H(TQ|ih; zWdnqr_Q#0Do%Hb^_iDwVNGvC-OFeK|Uy)LxC>-PRP%k1TDH>EuvicXTCy~LK@@(qr z>0vZ0@2Hefq<(XPmJ&C4u-5yuSy-)y$K-JBy;;o679If zH_oo0;4RaiSY0MIhMTM!4ffL*w#r*1>{7*`wPTvahQ9=DBE4E3MR((shfnN8>DNG%*HJ z#w||^A&2F$wb>-qtk9`rc&Q`N?8j;N)04un@`;iNCJ%mn2C!VF@TfXw9Np55&p|-b zxi*n4U2_s5UT#cyXGb3U)W4q@cN~cfw<}nIPS{VAu)625$@t_IRCnZVjhGTc z-pb9>Ia)A*Cq_20b67sw$6@K^0J^;2z2-gS93jJ6h`xgRdz#0y`_h5jZ=}y!qimAb z-b+?t^=uSz!1MidRnxSDI6iT`-Do`?tjbD*(%w-0Uy z=D1DMH{@b6I;g>2x7+kpG7^mN#0@$|(uQ7&=s5yQbHb@+x1yiHyPn4c$c;+?v4kpi zWfck+)jxh~5d&|ayb!a``I8!qXGE)&+bwI9=G`uahQ*!(F%i4?30r%lHSzVwYvw%e zMo2J_Lp@O({-m03|Nc(T5*S8R_BQ^G>IaLZnA~z->gHDykKEhugTE#`BDOb|6g`i*KGMapr(trXm`Y z=pN-_E`S#Mn_paxM#$Kqgh5ARE4}|1|n%h38T<5<=8pr zhDjb#DH#BcZUZA?gBuylULi07iD#Y%NWTgc4imovFn^>?%W`&?_R8`DBpCp^QD`IW z!(x8M0ZPNlYUH|ZtrJFLX^yBON=a7af#=`jCr2DAhG-j^Ux8xdS9t<>M`^`!ohh&q zS7)Lg7ECQ10^i3bKEG6`@HRiTOEkhtnmK|2cMMQxC=vw1J4b`YnIq;6{3%G1dq)Dw zmfcWi5<#@l%gca01IoS27mj{Omz{u~js8bGK(0@NZISZYB=7J!OvK_UX=U`~@DjNlb^xX5({ z)~2IEjD(_n?yF;X5i3E93rSqR07pZiA}dK1L)uLK$X|8cfCw8?z03RMH+ZmyKK%5>M zTj=n*qSm|F(aoJS@IAISl16OqotIy1x^P_XTWAhBQ#gn)L)tLi-5?4OmYQ;${dp)j zxE8Q|n;VA^u{DXY=g}(^7b>1}1oV+c?UFef#Q`dpbK!>Js?5@!@cfCzd=YFng{LO2 zL&8*TdM9?6xL<%}OfjpXOIfbxJ323q+H}ohs(kwl?dTMdysUs2yFW+qO)QC&U0KrOFe?ItlBbY&CpE{}0}DF<+l*dL-BFfKfhfXh zR|v5!yg(*DEnAEWBh%>*#jT~0_hP0*tv&_x0Qb4Gr z<|qya*%;rl$}OO}Cc75HBMz&z@F!Vno4+IeWf<{cS#@3gb4|;F+d{0Hnk} ztKITg^#{L-GKbff^7WjU^$Z5JSoW5SPkk-c5c(WTRV5GnxOAQFm^~%HWOkHmyMNKI zxS4!F=}odsN5O~Kx|QKZ)S0S@#irgEn_YprXSuIk4dYOhxv>jemmNc_4VwM=yv$&E zAn68?+!{|&_Z=hP?AniX>2dKweO*%2Aw-%xh{mNmzPT)NTp z#-zV1iu<=Ur~sf95F|*EO(*6nW*nrA3j`E|8GmnJ5q)7q5eGc1o2+gP4|o@T*-i|r zn(RQgXN#cqsdWx)a8(X6s5gD>4BTI}m0fEbUIl=b0!e+?{0K;Z6tBE>y{RnC2wIyS zV|>$;a}p>#`fc0gF*`vO9azY3^s3(07{I0lJLxn#(Sh(?efX(XccoLyif?XUtkqMK zmw(M4uH?wg)9r@bgPYyNS6jhO`{L6_-5TZGc4mN68T|*`q*roc7(8Z7h)a108glIG z-nD4M*}x`YJ=X#2{=G%ve5QJ456^LmOm_xrCQVLuSgZOkb7#I+!Z5;%dQSnt7aToB zAVC1)Ll0I1fq+jlULp}|t1+;UXu){kzdRTGD;hBDDNmIKr${upcJ^*a_>ffKHz_7m zpJP?DUu^}inVz9gF(FiQA=C&WEaw?Aroq;@6g)+LDxki7Zi$sTKU_>1`R)Z`pz?&X9rWyMkeKlK9N|(tb2OP zERm{->7+COo#@9yA1KcvrU5h_J0=>^y}*c7+Uc0-8SQcf^!Fx{=H+vvU(%3*5-VOd zXdSeDd6195M~S48wndz&dk4|}Sfh)Nns!fPmd|21_ic<0qQ)5cyicjKbp>oTq3=WN z&zhfUZ}Cn25uBN^oS?p(mAGbK?g4HWfH%&7?mNT$@?(@RI<}1$e)?g7RrB1}3c$Yj zFYELKPl6AX1Rk=ylLHEJr%@HClC*XG$5D`Xa509p5gr(QHJ+Np9)6M)h@!HF9xL`j<=7#mz4H>r`STj3fw zreM4CEiNstqbCLWp(sw2Nk7FR)-=5%6==qq<;J|bs z5u&EGay|v*_7U9aZF^UCn(3E3Zt6S|AZYNe@)Ks~Tc0mvCc98F{Nc&CyA#T{*YZfd zU!ZQ3(MFjzf6K=#+0R*)u72-4GtG=G8p42M1_B*^*+N6|vmYOF`Fg@C|MKgF(@9Cl+62 zBiwef)f9fK9QSN6p0KNi5rVlSUo;ebehTAG|6YrDrs{UlM^C%`F+_?;Vn2z8Oki5& zT5GoqGU4OJM;LzEgZFhFeDwYg>BYtw1$ds(5}!PJXY~0Fiz}U(_=rj7-1;A<3e?k$ zJ@LX~W1nP*-=9;LJ=PmFkv8jdW}$OWuMPL)^fJ(QoKG^apH7UW5+_tp*|fDQPQWbn z@#VB+&fYhih7*ENXrK0(@Wp1Q4kzAgg6-1v;tJ|t#rC50PgCua~NIxMIyfQH0{psg>+dDX|g3 zLFHGk-7ZCW4C1;C-70%lrKJ)l(sXq5j(%k^BhfkEnUCnxMW?LbyW# zb8VJh-JActnWDtUeEk(nt~UFp!t3YwM>PdarZ_59VLIY}sTJa2Re5@(u^A&cL(s_n zJ{P?F!6ve zhH8Ij17LEME>2l<^!jbKSttzc3{cItPuTzl>`0b8AF7?rA>6i;@ofLcKjrMKNg7lUpeF<2%8z6Qow3mo^!9t?_g@%syS83Q1>FpCTX!u_vg9H=;i~oQOn6>Ln#@hbvK)|AD zJqb2Whd@vU7^mJyMc_~=y*rYl!S*}JY_pvsrr{i0{(b#f?@4ksnz~A7%M=O5P9>*O zhBvIdwF?HVkLftq>pfM3GnAdIdQuQ*f7aOaFBTfKDvsooJ6oPg!(8E}tM7DsI(2Ff zrUHGwy*Izvg|Dn;+3)`4BPw>}gQ2k)HBJ|a-EW^vRzT2i8sP2cPso5ku6y3~pf=E( zZIE(FkBzs$Cz@!wx9fE&xxmG`%(#ciIEiyk`yn}s`5qie83Cw&?D}yWX) zABR~p)?NFr=_=HjnTZzy$Fs0T;r8-OgKpBrm`1c1t8A9X44XKMY_bTYET-#HPr{yy!=kp?!P8_MP>L9Sz# zXGm65SvZYG?DX9`fW_R^g88JDeMfG*w8reDC>I-!V6BIUx>`A;y~U}lNlrRAsh1Ii zN-K#q{81t_Z}hS~Yx__aP;c2uOvLf-{kt~wl1bh`^2(tL|6PYIS6XTKFvi${!+SJ= z3U5H<@~Z8Pr7~yrES@2Y115Qlt_BkL%PSB}0D}bWINssAW!@hVu0Fss$0JMsgE-y7 zgkQ>pNK#1OzXho2-jWW`5JX#t_i;X}Lc8%%&eqlSWRS0TltBu!VizT#Y|*uihlbkic$4L{39-?xM8Yxhl1y?5@2 zZsUDkq|&~xO0K0It9}iN_;H~0itLYz%V39Y<@Kc6n{wgC`YV-2tm$6&hC^}fLxs=I z;yrw(J$jPC43&K>Pj}Ht(A(C#6oBLEM7w>x|RzCM^JYEQOywbb<}XucEJvbU-$-ve6bQDBgKW_=rlmk5P#=p5_$0vV&D0^zKx{lw7`iqy9*x zbru<;=@mPS^nn_PV-s)aqJ5E0su0KRp~^uCH672TScaq~kr?J5Y-2Hkt5TDJ&^IKP zcl66x7zsfQvBR@EMRXW#Qe$n)v@d09I@q;jhsVa~j?c`EMlx#;EvOmBH9Je+!o?e%rD> zN29C!<;g0+j2LinRR2u%*2LilWh@#SL68GB*X4P6H{qfoC?w|j$MBqC<_wD-0 zN3;Ooj#zzj4E)PS^j{qa45pl9ysH=5+Xp=1JWl#!R`^!~kwVt{sYIdhbcJw%#%FEl z%%&)4wI6h45j3&_+9-oPZlgwA(6GjblM=7Ta6&6|D98=Ej4>wAO1<(?gTk45zx5hi zU)B(9lfnAUaj~@^>`dY8-f$+Cn0Cb&DpqE=`tjKfovm&hA@l3mMFhweSEyn1_YdomoQIB71n?gR*7c|gzL;Fg?O*!mtJzA%}tGE%ucEN0#f%Kt)*xv^p=p;~wk5o{nifI7p+(>GlG4 zJ?|Q$)%>1(-nx?nfw7V}4kfiF0_i_Jxr=g7<+XbIBju71&-59u6p^Ghu|8K5JtScP zU?u>zi9Cj^3PP8j2TOeQ3M1=3e5rz#hdWq)^h*6$g+v>mbxuPGenGBSmZCaAsjf+? z13u}&Nyluk1#XfWB%fe|TN7W---A;?u`@QU_n?cmz`Z^8f&DboLFEgvWrG~CvT=N@ z$YS3x77}T28h_~BBu1WBo2{|)_XD0K-OZoxw99Na(gWx=ny{=o8bS9LcO)EUv1mx_ zK!c36CGSn1QYx7mK{hboYDkAKti&YlVQ&UF5Z8oX0SOMwA*@aI=myT}Kk}|@gKNo< zMv?a4NkF>``Lj;;Y!72^)aC3GJiDJ(R2Nqf9iZFBu`b(JftrThaHB?4pg> zuM7LA$eo=+wb#kwB9jb4Si?+hmu(qxBMfSR($SGV9T|h8VsIasK{uC{wT(TVTcK$Z znahOlkKd?EU%$`bw6?hP=?YMMXjlpc;&D|R+y{4moqCRDF%h)zvcpThPTNjm z&w<72cnABE>p$bTdfn=a0lcvRA1i1?&m22nZ=873rc^_|`i7>pD}xPju!Yw4)gH=K z9%%RdmjU1O0pXR-cmxr| zw8)WJ;d2s~IAdTSW|WrQ3vP-zt4k8FTm8nh||a0P^@LI4DZ;ZM0< zC;P}}Jbs3qa@-L4fTh3*qDbo_S^5!JOb3imGuk;85PulL$ZWtj3iv4$^QGNLNS^{m z0+bz%kt7V;RA9Um3ON4|6bS+NAv!EB1)OxFqk@>dzX*~M#CnqH1tj?aYV`e07yX|r z#sxueE_}^UkfT4*MiVa`Q9dy9Y!tH09FjbQE3weh?93~ z;+t|`Y%<3t8YJqF0^ctYELWK>k|yIZxk;8r19)POgri_sz$+}|YX_Ha1_>z;V48ux z_iYNMrZ7hiFwZ9lb0r>I1nA7q_ka~lv=TR93q&(d%r?DP-0t6YJ);#H8kReTR(pk)?kp{jOCAB znvCTkXdn`uh^Pfb_!SXa`rGCO5W$L3cZx7~LdD{EiVt6*8YG|iJ0uun$Bl(GbY|l1 zf zN4|y-0jYcrEYGerXHbe1tpf-s0pOVC(*~iM+K;n+Jhh`d+$`A7*PVYUAL%uaH$n3b2=9-9NjI6SqOJk{2nE}YDa79HsQjZcAa7c>sStb z0Y^@E@Y0o@recbtA~ z6uPqNHpp6En;)2!Tm8y2wQ6~JuLimRz;5oqt~ooqcnZ)jUDM7sz0Lxc zX$OO`<49rB-j6-CX7|8iXH%r~C@;pE-Z9In-^Ii@$Q5My4Y;9A$^hDeFcSnn_j3;# zR6B@7L^m}g|HGgOJ#EJ>R;AR}g1vmIKwRW=_bdiS(RbHFq7c?|IAV1_>r^)_-bZ0>H*+)k7fihUHHbcqO4Zej5A?c@Z zw?snsNq(ZYq+%ZAK4&d(^t=wpupEqX^wMtuIBGyE^J+&v@)>fM^{^De+sA_yaNaU3 zm-Z4TC;>0ylWKc2BYH^J&Kuz6X#Ax1$^?*$johYtgiYBHf3X1}(ufawOEoaw!~aRe z)2Z%R)I$R4Eg1*X0$)nK?#vo6Gon8ZCLnz0bfv6ozY0uwpyV)^q|ao3Bd#6LYnH7- z95pxEoGmf)Oq)QlM=*|ha2=R`HUT9!6LzMC?@rb(*Bk0K@-t@~rp03X7-cKeF(K?S zV48%}vY(j9r}k=}Jx!tRKgYoc?omIO&vSmK)U|3bX6CIpPD3hu2);?B)JBIbuNO-$ ziI*!Ew-o9meFa*DcL2{@b!>1Cdv%gBXHa0XZQ{)2h5lRJIx~ogSv1u4!?X`C(jY1f zJr7-d9nz-M9)c}BqjT#nR;zT+R)OWc+96%QvN(|mgGs%(5eZ!=T9O?=mG;=gRX3gBxWFH^uqobOs{0v_ z&M=@a*Wz5uD~Y5his8pP@VHFhsZqn_5xA7a5QqWN;nR*Q3U%yll9Yi&^)2xZ$z)P3 z81RBiUEilZYHjH*p%3)i%}!?GAsd@&u~fbNAU^E{V#qaJqgz;|)m(si&QtEJ(FiO$ zoUa(B*O;A;4)Z)jp9eK}FuutR9Qo@y*vaM4hWB;h!J$#qV{ zMz!7sT=}U3rRp0$?xQ`$1IbBjJ)))2&G0qS8C0@Qi#KYPfIzyJGbytnbe0@_K!-8Q{ptAG@@Bz@I968#a3=94`Vq$T<4<7TCt?gEb0Nw|fM31GRR+ zrTVyPYTuLAh&;buecZ#o*m&wgys6%kqTi?2WSF>Ae+(CpK?7xbObpL@(WP+@8mK>d zex&yxBkq%U=d#N|CH&y^S+>}#S6r&Z=pa2)eG5S(hju{)IgrAp!A7`hp{LPE^(%+C z8VE}sk$UaeUhE&wZ!^GVIR}pil0>tpm02avpUTEBE^LzA`FBY3rUVPk;Q{zq%->m!ed0NtG*YhL+?L^UvW9C98GV|+; z9mSv`6}~zBc{RY!09^**m$Qh`-A$Ea>v;5LX{!)O*&M@F@zj@O6`~iH*n$1Oi{+h) zK^N9%314Z2IDd=;K?b}p@gpx{@RS`dsLv47VK?7(!J#h?tX@&i@X^?PYvklJI+LgT zM%A69Br_MljLc-QbJg=!rt|vrRhg45`ZrB5J0Dl%7|&saj%?FZm^!DjNiitxovg}B zF164fmMFsa>`E2IAnuCmgu!c0O(KmD2steg`zwGR?1k-1Hv4a!{_5NlP0BS?cN?|P zU@le~e(;!?b4%OIyZLXT_#i!)3@r2Dx%CAzjDGz>nYsLgtyC5z?aq#u&q`I)(FP=* zq7rEpum7z&`~_3nrmS)VISHDCtA+Iogp$asyXHpWmA>O?6oNpH_s9LpNOPiGFtXVr zX#-P8^DDDOnd{mL;Pf15dFOyp)_xJe_mkSyVZ6}st%j!8`ZFg?_UXj>@_Rf({uhyWbgt7_77yh{!e6JO!TzM+~x{@N)pi1GaxHu z3AkML2Lhcs0RjlEb&9QSlWAYTqiyp- zRkQ6>@qWG(J&Uo!Mt>B=3MP+o(}-4Eo(uC|nh zZ9}1m)wFb8!z;UHDRAn2LHgCvOjI5ny?zpaxELNT>ahZ0OPQWv zT(ti<9vpZo4d+HCI?s$2Z8f;yU%ftA!25Btv3~Cp_lbw(kou4R>C)~LQ=;1Mhk&ok zh(EK_A%Xj?HTzqbO+L8BDVLY07q6Of|Ih=3Kf`Iti^d<=xCL^aWgzupFqx>ne1G<| z=lu}L>rh*D)}|^8)J5H`dt3!Ee*#|Kk7WD6Q{$?L?7@vpETh_K3U7~`(T4%vXl)9& zNMbCIw;#!!aREs-yaGuNboJ0CaUCrsHr<|+@!H&YM@EkKXxei4*6AgK+@IwLUN*pE zzr*>rA~VE<_WrBVFrJH=48A=7KaoMi-giwXQ{_7?Wv(H9ZB?QDciQSN(FJrg6&c!f zwAJMWbanM@+jaHLqXhH}?JL{$j9(22=$rcPx9gjSq6->W#xTGQtW)F#4Q+F5;fD5a zq6Cc`t1IC~&do!D#;zUvaN}3+(S=MrM*eU5i2l3C;6EP-{(%f6=do(4tGcuQ6EYZK z>~VSfS>b>75f%Hu63LKmkh=f&5g{pdyX+x_j*on zjflUV5<2X?qPf0V7ycrPKaGqEQIzmr(6{gNUNVo7@L931?(aJT?YO=YMn^QKOZCEW^QM1TBQZZ!4$% z`EF3p0a)Rv(4kkUvHT@8dMB?mR|X2hdW5#u{rzqTzT<^uHX943(Js^x<$=Wzj}hM| zia7!sR~bynZ|c#?0ZwlJcsGRb$IKx zy;3P{J5#4%@Fs*K4otTY1)av?|23H$djXHA4{5$F|(_gep21v5ob9IVDpF`3jAia%z|D&po{x zURLNFR<8U=aT>k$opFZewqyHa2tK6~FoEszChO97KwtL_`<-Y?H6d*ul>WsX$odLz z0il0V&2D_qhJdAU!b)U;{}uMne8Y0v;oW5M)yQl@n|B0ODT1|&#AM~B3QwrQC==*t zgQstu!L)LfVp0y3-_JH79|Wb!7_C&QjX%ylPxno#JxG@-6Z~SW-2|mWt7XV4FZ7eS zn~jWTm^UhBB05~mV@7de4meFKGboHX`MT($B*^OMHtjmAjLD+}Cfm%za%r5hQw9J)u?$uAq1l9-@;lkT52W^PGB2dbs%p=Bq#4HRqb`%= zSc~qaCkl-0&~ckv)-PDk%^Uk{Cm63K=f@$)DMTi@uNqH{dM5t#IF*5Z51sa6=R@KR z>Xa&)Ar#0+ACxV~qH{UA7-GtY8hiqeKN#W(k&&qm*tCrW4s~3OAtig~56}~=yE$;b z$anVPamwB{F}!#t{jn&km(Pa{SLdhMLvfVrtV#Uha7Qp6tJ%C(!R=dzl_4UJh8j*` z`ehY6Fgi=!<f6NTwW_;GyZfLxHg{eX+ejmw z>+P&m-KB5fbS}*mKs*TBa(zgM_bFvCU`u76PzXt0LM2<&x7c#!><2E*A@ohXK zju(Bc#~2XITO;*8V8O_p=w9gZK$kT@eS^V|1E9l)F!w=`D9&gooL24g4TRH$sEwT# zx?aUQJ!Ui%ziEDvYI8N8eFOJEa3O8cqZch!rys9yi54sus@vHXTnwDqNX45=JKO+K zskuds>7kuyL=^lC128XCB$W>pA2I;n!_)Ki*_7<1SC9u-JXk1k>>W}crQ<#M6E)Vj zvp$h6#%Y6)o?J)hABC}>&xEk`CIC`|Q==D}=$LHE@~QU)SY*B$lD*q)Nhc!WP>S@B z`LUbJOv)i@SZ`$&goRX?Gt7~eMnkoZ_IxciO|UgFIpaPH@!bKK0Ugi^;@5F@XdjfS z10sR>!8w9H3i9EDDGFZT3_W2*Xb4*Pa2q(mZ-GlSeb8q6$|lCIy<{Vf7n~)w9|76n z((U%t`oO!-X767kGyCJ;QN{g_zoW@9&`B%uIlUy{HqSq!$-QF~<^Odw`M-WQ{3D(4 zuip){Yb8(7J3Je7TfZ#8yr;Yjh4n2D<$JZ9bBB< zROV&6`X`7R2glUT$LV&i!7$@(wv<1mDn;N@A`POm5SP}a0+-U7_zi%GPx$iaO%~6M z-?3_M`pb#BqZb7qprFxIgU?lpdLA5cgjkAz(R}#J8!Q)PP)pn_qMumeeJ-ogbLX|S z*`pWNvSZePr)v!r#B>N@WhJo2@-BHy7gejGHIy#uRHQ>lD)k)p)el6&f6+a|ljp`1 zUbp8XhmwWf?17Z}0TsFwLi0JYxb4hw7!MwJtZrP4$V80Ye&zGOjOG>UAcT?x-%K_Nlr z%46Ey;0irIO+(v0r}OG-Q(t7Z#P5)KO9|vrG%7Xaxk5wqUEnpzx7F`Qz5CefrWWUW z`arc`l}Cv5+_g9`e3VzaVw6OLU2zq5ApH&eo)X5ZSP_)QDwhAn1P-ZU+1;n5_-dil z&(B&PSi&a;o#D;IDv;kG;Cd0;`f_v8iET0} zHQ!)V)EAh`K=O=@eK_SP^^phn0a&DpXeJZ_l}mo#fUdgFaMrrlcVw?)X{w2cd-dg? z_xomY2h;kQLQsMvcY;Ymx_)G1m6OQ$m>d7P{L|PaLyqcPv1Cef-YIfGzk7oHx`#$Q zyX#1?dALPU?gZtyNA5X1U{Rgo+jFS+RNQI6TBzJPVVsx@tGO5acL=!rvG)>}4)$5O z>1ISfXyhNYF!HaN#8d78L_*r?fVBoJWgTN^(YGAFUL z0y@~F#hC2voAxnSllg__j{v$A0cZ9=T#|4iWK#kkm)=#;6CXtwtgfPg{TZ4)bTRGPT;s<0Ih5fRG5qtP)<^r;qUZd^U z;`oLck`mH)`rl|!|GI`QBolKRm8Y3X&Z@W&ShdcX0Ro*d6poddyP|JZd50RJjzb|m~hgw z9ipsgI=>pP&e&w!G*f;oWK|y^0P87{9GoOXx+nl7jZHaJ^wfx?J8*DaC5`Uw3_V*; z0V0#k)+BO$bw=xg!TeG+Ya)LyC$AAF8!iVCU*f`aQ$ai-NO=IROaGt4DSZO*497zK zjEdCQ^5B(pU|ZyT+0(jxIGuPQkRL7hy+Vr1C?|kBgWvG!vyv_}mP&t{I)0SF4NZG~ z=}bu$1+~avt@T0}WTF8xzRILZ8@dpaMPVBPX1%j?Zjz0l1lC=ze_~}l_egQ9O+j(U zCQQq6WQjz@&b%SbhID45YGw&kJ20z9F%u@y7rDWjVUA(j>5l;-M@Pko|}6VljRFB-*zYx zUjc|L8ufWc#3Ay$MMMDDC7J8?MMI=n=%tb*139daf|)0*cbSBj7tQd?i(oOT8v-P+ z%1YG(>T5*}G87or6ux&Te$Ns%{VUW&1h}ObiI4S$%%McZA#<5Yq=+SEFE>>5D7zX` zisg|18v;l+1g>_(@;}M$4vv9NpLdW99;0y7){^Umk^_Ba??bnB z-ctU!v}H$tM2#2AYe>caSnDIc*groF^X!{h*G`uA#|>{_xTQ%tLBj2#~ap(MU;S3Hk0r}*RyQQ$-l zAZ8V?B$x=+_YLR~{^-?6b^F#TnK|bJ5}Cr9^(DcX7=8#y|uf4LsxyP>-~J5*Q0G0PZ^#St>=YdvJvqvA6EVJ!WaOxKGTYgJxLrT zeUAmM(awBNE9VoG4yU@Rjcu92!0hq(0Evl?pPe{6BY7su}_9w=YI6!T=#$F#k zUynx}sSfMZkG(6(joCG;s(xDMy)bgQMmVA#pSPX>r-7^^pLC)TsM<&f_S61p$H$zL zv*iacYN8--Y$UJ3MKoA?H)duuqT#wJnbc!mG^$vY-gH*sQ&}th4ph!*T5UH{mu7xl z9RkwLr|!>jiVck=vo2pPu=&-1=Gh7|wxhWarymETmsOIS)}2yP+5f!y&O|;*53Vmz{RT^m#qY6nqttpoSc%1@vecZ_+gmdwLYoPX+ z7jde#&vd9jwc`Ns*wCWS??rW>0y*h^6!B#{Z8NiP4?#MqZqyzilpSl9EtGbGTt$8z_nd_ zo45r^B@Y~m*seHW64T5jhKo|k_-TmRHV_Hab~n&w^AAg2G5_M@F8GpR@O3 z(Ba%er_vq6Xh<^wumSfuQ+L~zkHmz_M$4ORI18;-zVE#rD91rHKw=%L?k^K0p*Z?L()5D&@>d|fv2TxwEI!LekLBAm+QS&pUw zYG0aW&u`u-Hmq@BjM2=v@w+Yxc6^YLkETmbfaNXygztn7k^N+iD#PFu;e|g9sMeoq zN&=&X9tz*Rr%?15M@MxwzBZAI)9#9;CEA&O0>w<*(lyf!G8s?j96qP`HUF++)z668*E5T6Q$^{UZl3jD7|#wKGYH)rU31)kR>}Fb59i?$*B2-i@goyRLT5o0e z{497jTW_vRfkE1qJnqSK|LS*v8AfNu&2^T?_x|~3Dh%pf z!mXo|pidA4ct2hxNst^Fpx82ln)tevt zwgwWJuO#0NjOg`X*xJ2aQYc^mFBqhXrA(71f=H}-<#~J9gH0H)lwN)LaujI2H>j^D z=WzN2d}vR+!=!#plCN}iFUeFydU}5<+kYD9%>$i3$!`X}<2pjgA2$elQ@L@Pd%3ZN zE*9)?kj^C?Gxha+bzuL;9{AOEfgLO;@9dmS=2L=9<~(S;;iGl)r*B+<#pEyQe@?U# zOtp%S(tm6Q50F}3LNBHznIuGzT)^=BQ=g!EAN!4^!jDg--KVq1mUojfa}*+%ZUk{dv*TV08|2PTu{-lX-iE_tQHph&eXy zZ|}n4^ntzG8}jd@aBrM0Ylq}`62(uUS8@IV{ce0+$;WsX=PHTf9-j{x`(-C*ujfOh zgfEUD1`2$;EU@{jrXMF+CD)sX%SrUFLSTw!KKV@7Rn~3N!aoW|klT22c1-eJjsFYga8 z2C)N|uSCQ`O-My4!-vxnQiZ7HrTIIQ3&Q^*o$&hpc80W)6ZU`F4T`D?Jj!zHz7%i& zW;ZBgqhqYvGD@L^r9S^_>qy<|BRZ@#=@+BZk!qP@9@G78H3q)Xv z`;8uMCKSH*ddD3;EoN(dy}QfMWZjj{Nj)D)-GY?2BX!+w)ta+Sfy_~^M7HPqrDU&O zu64TwFWl8d_KB9FvzBzaCUCEIDSlHe*~3!qg>;%!a$yVN0h$7xcCb6p>C~rLROdrK z@ivuRR)`a%<^A3GE(2Z^cXb{`>YqrXsz9e^)X z|NjQ6INV47^cSiS{ESiy2u;-EyFAV|GzW64;`KiLyp)Gq*0GOVhtvWRG> zlvj_X<`#wp8=|aSI_rdzv8Kw;<;w5m^5j}hJ|yA1J`j*=&f_e+slmO!CEQ(Vx`{|$ zDNz$oE;ZR5&y#PfTklZ7V(N!QSXIC8`}!cVGJgEVH`xAxQOaT>J<;=-e7-`5%YKb^ zo0C1p&63dsU?RkR!KPLzsZg!jV5;*Pnhg_3VIcXzti1&J%;vC9&i8HeLnxjjD_?Zj zlmXa}*1+Xlt0iYG!c3{B^Lp#qx((BV#+`e*7_14I#(;{p_E*h0FsiRSdyYrO$ua6V;rIMMmhH zBik@zie^2XxHGejD2`SZ%`ja+cxJ2yfkzQB{#?aw0!x2uo)N<(`GS!cVs0@;oT<`G zB5Ta+OR^^7I+0U)$BHNwj?220_}0RD8ETBs*fTx!wq^=HvmeN^v|MGhQ2D*Te2{zG zA)}t**6B_DxN?wsSTN6+l;Y=wR&~gIMvc**79m)*YS4^|1C36QlTJtUYE)V4i&2kg z7v(6W!`2No99V*kRv>$jtI7wQmos z`;ehgPW3;I6WhD?V}ut~j$6npD-|eB=)jj%rF5Inres*1#EzG$TgNPJGTI6m zNz;{GQ9sct+3{+UqX$9HzuKrV#XRd8ldG3%Yd=dbR&tiJc<=1nQ_j?3oX4Iqgjrh3 z)n7sCSSa!hM0;yi3~OEvKdKmx~_bx0>hTuaOxmr2fI8m3p(d zQX7i~9#sco@@>RtF7%s6nk%Bk$gc)*7s2=38aIkCxsOh^6jZG45*ob4QV8$HEEY?_ zhG4f97T2AZ(z2LQZm5i@0dyCN%qS@2mh*=EiyG<$xoz<3RadZdwo=7g1J?11FJnFj zeMXdB5zlDWycF6nuU`T>CSp3*%<5nNRF6tV9G|1e1=njt;e?BPAHRGmR=;O5<51pA zGxPa!>T_IYk2IrYZzG7O?zIBhfy1xa9eLi{)hoO$$*u6p8;o=B7KYKlqW`3j5ZRJOt^jk20zqj?!lESg!ovmjvW$tSR9|Q)s=QiCk%NbM z4kedNs~Mh}OA|3}UFFC_6-&AE(^b!@`?spQ{~#4mA?#(%RX)c8A_%Y>&Yl^*She>u4Hm|sYP4Ea>47py8AsJmCy zS<86W+q`bnTVNgDK1uj98^iHh$`_xwI^t`8btS}zs9DW6_74EzNm{S0zZXU8U=<}nI8ZF3@)g*QpS!IUDDZ=S0YpWBLdX&!#`(WcvMeRG~!JtFn z07{kCJ3(1uXk8w#;6y|JkUdy4l@@c8Z3@4yTx?x&A7@e+pvn|&eQXyy>N(jak9F?3 zcCc3a?4qGhCxz84zk)fyb~f&GFzSx%+2yC@lP`a1aa`L@JEhzhmHT9%)*vY;KMGwu z7a%pa%;rTwoE>zV!a*Um*#F}ahGGl&ch9?yv zrr&nIxglOM6xPuQZ7nqC6Cp)@B+ODxphN478C{xEx315|8Cb**94^((<;};kI}qlE zGZ1)iO1ILlLWN43Zijg5HLtfgL{@8ON@WW;#rFsj@8(pkjf=GJtz(kFlXjTb>H_%d z(jtu?J~oq}}pZRZq0bt6tE&mUUM-voZWAiKa$NpGz?yoD5%GRz7Z& zN`6S%C+#2!i4c^N^V>Bd8yshZwX~{9okcA_`>e1ki70sGP|wu`Hp_FC&91dBH}6{a zrFL{MQ%piv&SnS(OEg?eB`cx&Zat)<<#6qoh6pjb3#X30`8APb{Jml7>6>V$@4l9i z6Fz0$(QfeWu-+Lqr3{vZ-%SZ& zqX^Sk`qK?wRgDB7Z?uJ7qdh%uHr`|3j&Qs0^}V`i;aZXmnE8|X6aN?1g@Qd{@`rKX zu0QG}-cOAQHHK`6!M-R~z%Ol<`>GmW&4J|^K_x;4_$>aI7n<)D0dJXunV>GU{9?fN z09xh%9Bk)6&sTCcMqwktBnXsmSdQtIfTT9SkC6}vDvH4pz?i}MfhmZ<*+j4+i2JcF zkZh~X8;XM!@uLkYW}m+FjO6E)=W-WDzmSDTnIo~H z&{PbGpzt8%VJLn-Jcb;If)b4fjz&YE+bbL03r3^y`th^{qJh0gptu=_(a+5yAKS9^ z4EBZPVHHOJJZ$}XG;4sDm!+&rBsLQoX(Xs2xZ%jhOjvBglZOOIT16iBTs^>WDON8t z{7^cCBU8tl*@zGhWG|0U=HUwH28Sr%g&O(u@`fYAr5c~4`q(0 zw&Io`_jflZf(ix3mnWQNhCWq+!w_-3*OB)}AvU+xcSpXzM-vN16WmAW(8f#vNeTGY zdeY1Q917s`(IgD8F3GY!@XjXsD7vvF7K7J~d@RViA&KM|k%om}(gyI3B33PP4 z_1N5EEaJKXz=DJ7Jq8e)O+Cqs6elxQ&GIC&PD8Omv}GoLlFEqf&-wZWKF2frt4utZN?fToz_c>1STndsIH!Wyr{O5r=Fq!`5F}PM;|C@co$;MG?{O6+f6scE|#>SWeGdiHl=knaK=u zI!r4q_ZYH_H5bl>3g@wTd3KIjimarQ$O%zf00grDVxtHY`s^pozUZ?>MvWPT(V-+! zL3EyRnJYP%IIiFdi&VY>5*(AGEU71yzz=W)l7f<$888gbqSwjQhP(9NndDXEIeJ@Y zT;~!6M=RZVZ^1Q|DqZSUe8ijzl~>XpEJ|=@-<^2HAgyAsgA4GAJcY(fu~3udN6ILk zcxs<`eYrK#u>y=(nwU3dGOd=`S^*Rn?Ok=eSk!`%NruhkA)(`*ACcbVX4yVlEEcgo z9-MJ=<$`tYfLQE0B zcC89-T_$rK$PzDaJYt`%A||sgBHezN&6)hJ?ku8AU$%)DsbglIQ7?iEbdm#P%jwF$ z40wE+q$B|}(K0(ui#7X|h(;y@(2Zg6^^iN%QO;2HS<@-%!!N5f!7+8xj;@hU4K@5Xmz*`{DO>_;cc=Do^qS6#6@YZ!y^ zP0fmDX|_cZ9=J`MtO?3ebtNR|L~e099w3tAm(dl|v0aKI+#KW$q89OO8bIqCIVztyU<<^QOFK=jk3)($_lN*wIshNX6Kj5ga5|_lnGyuL zdKjGz+IFZd#t|cFqR>u|7F8yiv978db*d0u`9#?2)$>CcTPv!#er?^|*Z_(CzD*AR z#Y^CmuhHJ_4yhRZFt19Intmpz7A-Z|>{U5fl*BiwNa8bE;@`BLmh6I+)12xB3Tl~+m!&AOyZZ@>!cMQognzQzI9f4VhIQqHSH0mj1 z+9xPK`GUqH>-83fSb?Gr)YOWe$@Z(^CN~o>j1ju80xfHld6(mu&f>uwY9XMm#0$EG zQ(d=7jY4?_0zCQ{T~OTq7**QKC2C9L7rMF{(7CPpW{t-RK0P_PMT%dMA_>(sB7Ihm z;)H4DNrTUhf=UH{2{TkHagx&BSGPh>&E#;B85Ts%@QF|m5J2woI{f8Bw?*U70bA88x6!HFI}+ zPrA=dEfJdHiX736`lL%NJ&|_==^S$xF(Yog?kbtRySf&f>7zXBXX| z;CR(S|M~0R%r4rCv(G`PwMvz*K85{UK2>=m+yh9VQB9u$AjKy^QjNWb?q(tyZXdUDl&#v9i$7Kv5&Qs>lUnZ67sBN6(>Zfu$dwcX` zlTdQ5ac(ms9#D#C!IN^Ck=eSk+iEYiv_IpBHrd7=;?T8cIE`a_sNH6`{EV|;6kfF5 z=CQnTx#Sx=#>b`ny&sfN@p;81j7JGjqoCZRzbG`#MO(L7PNVF&KjZ>2R);kOoXKK5+prpNivY*yFQ0h)?&1RP!7K*22B{o33keyND)2B}z z^ZjMR&WPilueJ}$aB~rv=EHorh@=FDJ_@|HxjZwvJn%^sPp&&&oj&et7S^f*ft3z& zo5=RR5K}(6Xy1GBXO1{3dE=crJGK5I269%q2jcPBfn1tl(H33n;}i&uf1_dWbYE?E z@r=WicmKmT8RrLL=Do{W$?uKRO}a+sse`9r{_Ik0ye{$^6_^~!LsxY!^c^70PP%>m9S z$IEbIVz4c?c`N94r3xj*HMsFHBN9d4=?fF9JKPw~%jg+2-o`6neEoIHA>BhHxpsBk zzjutMB|p>iGYgqmmH0c`?CN8nECEvb_j7Tr6hp-@I{EI#hbM#Fv;DW7knO-5xrLc- z_OXZ+bXGZ2x=MBOf8PWMUQL`!{<+kxhX-Msxqx1<%K@>hPL@^Qqd;WqK)F~7jM zYTE(}QTofC=*bjgsSJL!C!~ITH>}QaI@=h^8LSfP_J2rdUQ)-M?+Yh*t0-Q!@cv^w z4PEM&gj8ajziQ4|lDMqFIs`t$)Gr;N!x&HADkY2kuvvVj(TcXNN5VpJN*t57O_VcF%^7jzy@B3#-&skgHHE%+6SkJj;Q0%aJFqw%J zpW~DqDL`@8v)`w2zEriB0P?EYHcjK2I7zl;1N&g{`iO_c2kUE%d74i75HXn8!W~jC12=;n~};=WQwv9(*IkL#QzuViHMhfLlV0G z0!jR{J<*EgB=XIfFzMgbod0G|JTMtKef%dR@i%*7=6O)@aha&A3IPl2zvB%}kG#R> zzgcVIH3^9!Cot${NirS&ce!UhZ_ub%h8PHPG1|CAs;cWEhp2ZwP{=?FUZj?5u9*E> z?zswxCPS~9EQ@HA!p%~wm4(UvdSBfWSZmiZE+=iN&PpxBr$5nJ`=!lkSI{jh>@Z!? zOtz)bvbuUx)BXYXkL3jIilPQ1Bp9Gpw>y&b$Qwk@i+3u$NB;aiAscuzj`oJ|&r-tI z`ObLjkVoFoa=OHWaS0(xcRgIf$GEch)R6mxF7Av+r_|jpSE&gjA+^&hcKB$fB=o32 zbh?+vR-Uvx-1$hYw>teo<{$TT-(AVQU|8zvU`O{ol4#|Q_j11f{qsr--KXiC`}Wu4 z`wFjF-ZGsaY$iCZy5`w+S_qrBIh-Vc3Mv`w#OXjldNLk)eJhdgTDKA zZD{2@%bL`JF%`wB`$g$6!GX*>z2o~WIU0*%oQdll?jKMc*Esas6|+kF7Z0>e z1=+Qx1-fj=g|im4{z&(B8K$v!`X`t2wYt5e6pKl7{vCTJx_vp-^-ijLL+6kFb8iP?YvRTH!s0lh zj)N~PAW;%c6TJ7n7sDeNVrUNy*CzXj)nC4cw)QFy{%wa%>M=|*iQHtu${_e9(h?VP`dx|8mT8P-Mr!0Wro~Jx>riB-NLp4Jj${|mH z@J}V-P-&?ohLCrkM!1%tA@dw&%?%@1@<$vDuwZu%yQn1)N)P#;8gsaO76BM7sF1`d zvXx;L8yPGN40(=&_UqYB3AO+~1{;C_O=JjAcL#DhL_;(wMm zoE#&*{S|olzfvH?$;ST+1)^oG@g4ntQXu}*S`&iZ_22OZ!G1O2ezq#rcvx5I$rP;_ zN}(D}*<|;HKenWO{ZJf z!lZh{ra$#W;~hlI%2x_#9hV#?j6o`S1K3m!s>kS|Z56ErEXnQtT0TeuGTgMY%aw>N zj;oe6(A{CM4#dd1dZ!D&%B7Z)G{qZx%r<`&Idc+pUWr6P(iw9y*(DO#bkn=JpE>Bm z^xUhHG-X@bBs%g;aZI$*f^ME!N!F#wob8uI6{EVu(@ehC=)wZp`}3~xqCaW-uqVY6Mc}dsOlgPUpv3vY zCIG{A%k;HQ7qKvq;Z|#Z3&}BeFt{Fr=DQap`~f@0QDZ&AX=zmE>6qaam3~q^-m{2c zmsIG0L6T(pFm{%Uv|Y(Qr)5dx9j8-hZ0Sy1^8oUL1y@Wa?`7icH%mMrCT#TyYRfn` zigq&;KFKgq3)b_F8ReQemr56me{QXTv^lq)Lc^vgJO_{goP_ATg-p>*21le7gMYKD3``j4S=P+P3&d{TO~_ zmE?IW!m#_r+|Yq>sZ6bQgfL~;i-gvOFS>{?a(i<`;Fea~WSy-LN(L5Ff}zx( zM>qR`C+niD7?m7WNq>Q5Cb8RI5gHi5xH z5+({pK3}>`pB0R1Qzh?N(A^&*xjKifd$zJ%pH9mP!Qx1AYlDB@({~ItPQMEP!2=v50SZE$~k+Zvr7BA4*Xc4E`4-l}UNO_3E$>Aa zy&gWR0?$F5?}xqxZN7eyvS}1=KtbmA<>T zbVomkyk9?%Tt3WpdDOr$-G4I!K}mi}OhF$!0kzMA90XlGN-6md?a)Spo{|M(BH;Z9 zbW%7V!kErTI=C|f*vI4j$V;|c0_a)1aoUB!vH(>c4>Ty|C+R?E8K9$-Q+GxP@oXR| zGx5M;z{||QwIu+a3?`4PKeQc!86~#U7>38|2Ezt^BXun1*Gts&Rj~r>3;An>`x0e_ zI96PcK_9z_F)op+(4$ zOeC}-GLu9mm(j&`F|yIwAA|(!P+vq6^4i8N1F!{M%Uf|gg#q%K(YPu>Im_JC4dK99 z9sc$}=l!532zT;}@O(IhL_5HUH|A+YL|kUf)jlYYB&P8q2Dc#=LkN%>4s2bHL=lVe zZzJc$45c}UHO>UCh4biW#o2nrnGUmdFUL(|2coh7l;C>v*byT~LA?!eiPBN9is;P- zv&|>~O?y0cf8wOO0-f*EW(b)>xe-Y zd_zm&xSbiE-^xpfWJy}iK(H?REb*)t6{HrdK!|2=p4Y(lw+AYZtbm>W_h@r&`?s zN}#b*9>(ab{-w)6_zPf`d(00@|L*0dh<3g6qQD)iC;%!s8912))eg_ve+tv)aZQRI zCo%30K*a>eSpg_7q_cWu;X4NeUm0q?2#R41JY)0$T_oVavhh$Ob9XH)j-y}WWY@yd z;#srl+tb-#fWb&@+qP_&tQ84rIImaOuy&N5H(-D{W2h~OiOdl_ICMKbC+=rfhp}GT zMF<5r6dj4ff>|G(DBntNKO!GnTP!m$ zQEL5hEJ?PVolE|hcaBPCK?|ux-B|ea&vfAqhit5{_t?gtev0D+2X2y3#7&D?^^9T7dk+JLjJXpZh65Uk@SNSC zvOI)i@9f4cEMJBQ9#;w^XHnyZ0_X#baB`m(<+}d@Diek4cIp^v+In^3jM=!F5bLaU z0@`Ax&0BArkJ((UUuzdS)VC^xUk?dIm_Ry;l5RV z)#L8P*;It>{u^u#PogY7?7z!gtS^uQ+-BF`pCsgOzsFR04?wM_qlzu{Zr~Hi`G)+} z5KdA~(GNF>c>k5OVN<2HNE5!n*0`I|&*%GT`~T|X6^{jS ziC8IB+a7o7kg?~|LG5-Ab8zL14;xKZ$GmNQ0ln!hqnzH8uHLU-dcXbdJ*Vos6zTh++jryJ_cN#OS6AQtm%cy0`%v(;?mN9SMEbs7 zSNDgIMLG99Jg>)==sK5|cuGx~R7KBo(Jk=2W*Yo%7)(OzN6H8f>4lO&^hlU;iFSU& zi(`w5!0jnOJ`#RXK0QiewU7A5Ort(JtiS)Yox#DXzT36d(s)74Z^{nyA%TqUHyG9Q+nP3C zDKVmkP59qSntR*h_b)b7gBu#);iYmn_4^GU!N%kf2kNt@Zs^ACd&sNm{_+e7Mjn|s zKv;0w{;WkPew&zk3O$f^UW8&8H#3(ZR4GnHWpEU8TXRK(qEHxwInu$G_M!~G<{^2! zfMf#0xegkhn_(xS_5}bE9w(CG8Ha*0{pk4m3pZXqd!C^Nx@V5!5GTF-$k0Fb;a=IU zd!#ZFyh{1b?Os(TW;9xF_|SPOCr)~yTbZ32SX`RMGH2)_TA26vp4TqJR;K*|72P>b zQY?=2P*2%puwC>eprn709#kPAJ;tWd5TrdxHpeVS4SFFu7{UQ6qJR*^50mJr&gu>d zP|VC5lQ5!cH0LVMveSDV&dvk*TH{RB)|B@pK**q4XUv*9x=_JO&*GNE#M|8;#Do3 z$E(qmLuC`1ITTZtZ~{;m^&~ge^nmaj>D;oM$1-G!k59ZGJC8Y^eT8~-1iy67L~4be zZ)T-Z_6YwI_{&N}@rqCD$ZP(2C1?9WPQjb6OeOxH?fz*@DG3%R`MM};ea~kp@ukIP zaE^~>M=dj({^xsbNS)~0pQ4l9uhxnhr&`^ILTeSDA|a)rqF<)PKeHG+S^K|z6~^s6 z74j%TWUIEZLS;3l6#X0L9DWn-*mLj2gJy%*M%Cx~X=sy7$Cy#4uJ<~C$(wJQHknZA z4n*Gy46fcWZhg~dpIh6C-`o6<>eA*vz9Y&pL$H1i18apTWtpxsgV!+KwlDjmZON=C z6XaF)2Hq{L&4jcwOh-S^>^77@0~MbY@%Dh!*GkvdsS;MN%y-#7YP{geHTtTE9{Nai zNbB@pjjU}q#7heI?^ZyhS@J=d{$lBhp!JFUck>d8jT_&*K1(~W@j!HWPN> zMg%^1kWSyJU;`hHg^5$I4=Z0u*{H7@#DRisSBt}DRHs1@F4^(CeFJ|^<&=TGJqa*_ z&VIXWF!3Q_z@8b;$sOZbSe=k$!qJ@lff$5`N|m_q9gOA2C$@e;hiAK)y=%R`hq>yn z6Y^OZ2ET&#cz=q2y<<#mH-KGFF(z;c3OjG;8;}`?ays|0+gd? z9!bI;%wU&``ptQw{&xD0gGdA7X^RVdq#-+3V5d04=7^GHY03!)ufX@$SA`5b$_+HG zjmJ%4g0ety5$6kCH}P~d=vKzg%D`!uxO`9@ahjTpRUI{J;5dfyGe-M1|%sEJLdppQhbHEqhX^gZ;LJ)F4#gAR{_n&f_6aVG34C0hSd zNt7R0KmC!)-@)*w`p3O%-`n@DzyIZ06N9*KtDrqIP2^?dPqBV_Z#h@0C?Sgm#idA#dfS)prB)R-|ENH0)+u>$~_x~{S|m9X^^J+EAa65+;bp0pX_7qxl#66 z;$!ZaF~jWt$=q}M|L=0ohWJ}1m;YRAHhfGkp#Hb=z^w7(F`tkLksP))6h|)+Lk;^U zdEf&&%t#K=T>4Hv^i1a%B4zRU@oS1cjDC4h_V;7{cypy1HV)(;ZDuXq6`PiQR&?LK zRr?nAwDPyCAUmIb9P__0(Ra==zs)lN-^au{y|2x!UCrFb1~YAbj3Qz;SQEt2sD5d` zVoE)`p;=Q>QOqgV(R4UdDDqK($DL?ztcdr|Z*xN18BSH)@_fav*0W?XbGhKPZ=3cA zq+eH=P3G12-O&_JOjY>FjHY*5&W}8Pew~kVO}3j3saM16B@hYZIcJjSZCtOv?g4A~ zx!CUE?nFUBQXTQPdx^PVJNX?CR|1> zoNO)Rv1+xg39MS!j)L%M5L49F4;x26?%o?Y)g}d#s&gz_naXuVx9r5j?3WYb8ZTJ( zk^n^&I{}gmX&Z0gQ^Ll{%E_|C=(<*=Mya+Kw`56ZCdcOC3E}1R$%d~nG%Xm?E6Y44 z?cEmA%CBAZ*IiQoRQW-**RD@!YgMC;sVLKS3V)iaKf zNs3MBZK0(QB*{K5XJZ8SGu0}PGFLcbteRz4wE83$x3(isR%{gISWasx!nIE-+i4GU z^Ohg?jKt|+MV~`553*|P6n6=NDB-=xxtbVZ2T(5ZiIvEW*!o%-wQ<%H+ z3ZgPxhnZmxFw#i*BH3v#;PzW}GCf`Fg~6^A)y!17Qax&t*p_(}N1D>ZYm8k|96b&n zzY>Hqqb}BjFxhEDGX4vSsL$(^MQv&=0(gi1*Wle<|~Oy zMRDvXA3g6odRJ%KJRPUH<|(ICqY^L17eub{N{)AxPQED)t*Yr<66wymkmcQvjr%EC z4;6+;C82ECz10veL}ji3TxBxr0qUnuSgZg-X)*L?yGFl0fS!Gb<^iKiY~m1_zf5J} zVR@*J4|>J+8cg*h|A-9Cw>-eiOioySRYP_`tq@C!@h7=)tb z)9}ynn63{x`HD`bn_LZxNh5p(145o{7z7QnIbD6%&pW zbU(dgRupd}NN9wH@a?l|WmT@%$E4MZ5(D@s{vi+iJ-zVHdq)5Fj`^KedFTIA$9$^P z;qd>tJtJ#9%BugEUf3J>Px62bagy|ZNH5@0SLs|=!KeOd&*(JDj#<-~_c%=kY^!}} zO32SuYGBJa`$o2CF$EGF=S-tgNN$z->Vo?{$uF7RRFif_v>TxZ8!UN8hHy#RR_JZ@ zsqE-EykixumJK21$X30?iCxR6%fn&WL`1FXG{NXgbY@lRS~v7445X=JTWC$Bt{_Q| z9~J3v8|&YsQ?2JAkOTR&c42u9H9f; zRT8RQtCiK&N)A%=x&_}PEqP`!3?)e}KEC;j;@oL7xY>FBtaghX265VqxeuwkHh=Fu z%fFFo2km@n9jW`ICKdfh8^Z++476IW8?u+t|8;>z)+!>I&3up#ZA(smR5tbMYt=pF(^ zY?Pdr6BZMPKoiR9R81=M)7M3CT6r^E^)#xE-uB1k3O{3=9u3UmI7kxhKn@akJ4qR# zJx>a2pOU_KXET5gqQ58a(;McO&!^IT+yfcFwixxrc(pT3nho}Nf|JJUVkzAf))#Gn zUBH{XPhh(=#~j>HIp}*7wMROg9l=*|6?YQe95RK58j{O6kfy;bg~l6!oyg7*EW;o6 zvGp}>(VMT@F-g*IC|1yGLiK?%)l5tHs3FPBCi!ywzKq$|Zc@Dpr*92&AjQM)TPWt> zNi4s=$WYX~TT%lFEX~%Aq{oH@^+eQ`D4u;txK&*1vB#nJ2E(jc#FuLwKUwI2yCR~9 z{c4k1ciOk;kDIfQwMmNVaQd7GVfk<4=V6mNt+x^9PS1Oj6{$tR6i7$e5h53}qdhQ4I~npK0al=Y?V8iKBypKM%{Y`5E>DYg!gmC#fT_Q=jD*bwLU zj7yRQz%mo^^~wdGxoW+po6twNGNLc35|;jeF*uh$+p9C!{EfUR3iuh$Lk7mfiar`a z=C^SVj$^RC3ecVT6X|5Y5X&|CVBY=bmqg<8BW^ zFwm*WnD88-t183?h_cvUa-uXAv=)-5hyp&1pv9WCrRWa=3tLt(0g(Wcl35}AS<0P^ z5VU^3s)mpZGIM^}P_1%G7#7J3I1sBnl%gW&K#O+!+Hai^M=~=cD-v*+%=E1d&?Xa# z2llz)(c8*kS0oQfA=PInwj|m1*0i!?hf@$p`IFCvv$h8UF7T!>TwlT?2rDS@$|8uI zP2GfnXYQd=+n(RCP;)*+7{FyXWVMEp{ll<>=hSFtkwXqpa(%@Hj95@zEE75PbxPaSH5zACgIcyc{ml-FG9(52Yn(glVDJq_D zHgsW$WGLKl_9#%JJs#C0WL*mPa5P}2!eoz}ip(=;YZ-71haR>%k=z)57Y?|Pwa?ek zBRhON=>zUE0i5m6V=ZaTE)u_xB>{`*o~*#Hu@PS^!w6jGYKCFb$4Y1)N2^GI;DUXJowaOFu`!%;7CxB z5qGrjOKY8g{bXSZdp>PiODRhHIdl1ApO?{Z?w9pL$&}rmeCvykkDY{r_l^FaAU%jd@N~ zQ1%`L5dq`MVR7>oam|$y?Oxf>Gh;Zc2=f|q9Dm02;*d~f0tT)@g`S@8J3K0meD{ky zvMQoRDpUH&qd`UPBe2)zV~{`=_ZwtpW<1>AjgkKGKY_1z)}>6cen={47IQ}1y{OXU zkO^QSY}sp_<{=9({29@3kmLI-Z+T7`aTrrT5vx{_q_dpcAygoCTR_Ab4m`{$?XbrH z$5`K{Wx!H1SQxmiEC4>P{|9q#{S^iO?`s1BQsT@|(#$Z#kfKO;4k_KzNC+a`J;2b+ z&?zMy(k-HNNw+9nf&!9?bLPIkJI~%{pLN!L&U(&2zz-~D0k6;dx-NttK%6$jUAPFk zoALfU0>k0ORq1wKp|I`t`c7{m#5b#LINWC-t97w(m^jk(E>#~bFa?>O4-d!2(dDiI z$|UKm71lkWw%g7Ao5bm)Gy&UIId=;4erIH|IRR?Ig6(Jv0*76v?27SGF0_TH4{gP1 zRxVPN@=yJfK?i_+fma)}#V7MYl-er6-frS|(|KachNFXZE)x*TCG?oA7tUG5mc(TM zSwF4aus>9#=0v$yJ^_j(z<%nqmvj+i>(~}_(4ueVXT_I(s=!QS%Kko}M<%L7xd5-w zsGy_3c(6Rus=|~yEz<-5iw5L5SqIWNqnBRkmlqPnreqNVYn%eBl=Hr3;+M!&af|?- zUB3KD6Yk7q{@OpXOBLwE75_sNMXW+%Qpw9ilH5TNuvPC~C+69cjcUVwo(@FKi4(7{ zkzVI92ko`fKGk}VO4hzj50egT_`cN@B3;XWA(Y z0Z6^U=9C+c`0_^aswy&pGW{1#e{KK{+_hD$O)!y`M^SG{WQE+S+&xBvWhM!^)x5zc zjSqTTYVBJ(gi4+pl}2zS*g3UA3fpWhtACWYWE3@T38ON?+b!?nptYWh3i5@-0kg6C zHOoky!}{cfR^r0;h>D7fvU+m2GEU`MSrY#ExaYp&Z}YhWGgTW+es%_AcD^NjRpJC# znr{4H)By%J4h{oEOo6s3KK(Z?lXkLMYMmh2=1Gbc2*xou{RPN(ujA54P%bNk)2)Cf zpc~LCe8JUB4y@a{R#h4XJq&BJCy^^&0zCwF)3@{DtWs{PRNVPS`IfEWu7veuI?RD zDt#cOtJD?OwT^e3>Z3pDb2N$=d?R*4Z!h?p`pSmNKwC6TUP%m>QOr#wcSgXr>tkAf z;C@HT*dcYW5=eE}l!gu@=*NJ13>p|Vu4Mg4bosFnx0|u5^_jjoN-b@bpjTCvQZ;>m z3T$e~-`z;YN;O=*cU3>CT>vZ@#p3x}x<%B;K^-dha}0_!0H?<~*Fpuot4 z-|xL7j9-lDxpRVIe3*z|S*nTyTzL$bgg^^UqkCc?E30O+$QQAzk4HtB(|Bx7P4x!8 z4P%Lhf?huzW$MsXy>NBVKGo=J0cX}JxS7|e=ayql{DYeI!fgrN(Q1VZ36?|{h$VgE zVcKieUnx}Rap-!N2Ag67X;6w8%VNeTfAJ?(#Xfe~$+MHVW%b9$rrLX?qXm_pDjOT5Y?w&HOu4IW z+wY7{Y^p-ojX|f=(}ew=iez%lW31skllbe#GLl+4sWbk>Z0ymqctF;oK3#svSr$r1 z73(pM`iC;j9M{^Q-t$lL4FWonbIL8VzoD}!msTC>iAH!cPV;Y8$#m3rXHyR5j5h3z zT&x^xbk(D$zegkOHm2AF#=N?<1B1rk8H>MBJ%FPHVX8%!8anDy3v;;|&O*z?XWAk` zAa%%$mYh9b$&|MSFK6Lcr zI=A>XK{GLIAyx=r8^-nB8N_g;trx%Q>vX?52c{eZ+9w!cjC^;c3Yy38aPLGybuRfl z7<5)$knaoUzK+*ZF-lJ64a2O2SGhTg(HShCC+PZ@ZwuGDK}=kQ&ix4*vooKLn|aS} zIdFOB7x5_dd9^oInVU=bY$?W|0(|pQ{`c=j~mr3Ms#SQh4-+Vu=8_ ze!p*yGi(vm%wZk@>V31IVKdKl!pd~48TeV0q;|vi@p|Kt+cK}#9`|S0#r5Sz0nV2I zLDo;33Nu^=qM$sOpx_X(04%_v=MaGU|1NLY2tVE2-dk0ay)AnJ@|qe@R$N`C_ky)5^dHwM zKCf>~$hvQRVJb4(%a^(g`wpAh`jszT(kmdWZL&HczaB(!xbAwFUkqJxXf1ir^79}q z4>b3ZfC&}>AM?q!gBajG2E%>FmxJ9am;@CTdz1%gLhG33Pg=2!I zA7A6u-{eyQKtDKsGN|HOFXXCmB>g11WR>YX)lxV%nPR>8@oh|ycV-Qw?xC92K&fth z)Yrs8kaA8?Pg7ke!*FsU5BYA3ka}s6T5s}wLXc|HnKE6QJN^>{HY*)rt-;}XCFh!+ zDt#PzB3LMO8jjYOCXe7o34M@~)v@KV6+9=QHDhbncq#Wo3DvQgFK)0w$zpxcA;`s# zQOk2>mu{;tWVOg3U}^D9M(xQwLSg)5tF*R*r4=I&xq8uXm?}pu!-IV z^3?Lq(>eZ|alx^lw!d3ms~=ANsD90g3Q>=@!7Ti_{7=XH4TV@Lsz1LJoz&3y)c-u@ zv#Gs=*nEGjlKwY5Fk@b&0Ydj-(+j(r`A`bzlHADrNWS7<>4hI(dJJqu*s-=_Xw*ka(DzNXqbg7DoGmmnzcCX3n7p5n>RaX z9ND{vqqTYOnW{-8vY|NPa`#3L;o;v9D}d@LoIoxGis3sa3MFe13Dwtn2vj?b4NoOi zwh+iciOy%Meh^WO=9g#2j`>4jo`V0`nBO2Y*zlLn$QZ3rK-mLr97}Hzd^~<{N)PKZ zva&tX`1kO@Q)$fqO`lQACy|u@pVA9{B$jp=7E#v|c-E!HTLex6qV{<{JO8Wn!auUs#po$LQYdV!uDZ=>|z!vj$_Vd#JVp3s1OPk8fRzyb9|{b4zL zPXANN8A3s(XFSD(2%&i69L55U!DqoYE?OOKEc^6#%9%^sE*y%-HUw2vBGGz;307=g zsHB4Fm||PuNJ`jLo#n?^Y|8nYLb^!GSl4ppXXyafFTs)5pxVz^Zs6JHN4j`wdC%{V zGO4${wF-AkdkLPKPw%!!!c0l>&_1#qG{|`wi37!*_=rt8GifY?N1=~~lie8%zuIQ7 zSiMetcG)mjZH}9Gh~CnSLj_GZ}wgZlZ@Pu+3O z7@Kll{HhJ=6J}OV5#^k6C)8hL@SJ8tun&$@KJ;}1Y>$Ia^ zfJB$hJ2kP1QAhSr?(dZ#minLtsj+NX<~qKa`(+j?Q|Yz^!E+8#4o><9m7LwJCVE&n z;KEGTZ@`IL0oOcszs9b+e?Pd3@J06PA!7PvJq@?#-x>&A2KQt-6TO^_XGjEHn!~6# zV2xuS`V!*@!JQPopqN+-kAB7lttRXBOkis(d-8kh#1o|zkJgw-I;Tg(gGT1_`*V=4 zHyc~Ljv2CA`kuyfON;|ob~TO!)4czP4@WcdeXO-%K}dA&`zt@7tm(|mAf zyer>FyYtw;KII)eeriIk47FJGBgDbkz@03!E@={AcAy(|E>+cexZfb-Z#8F)C-a!I z$>ej*{6v3LZ(zgpL#F2bdD_F=F9!NOi%We<3poOwI^lUGygSrsEY%W=&`d~)6?O}rcY>;eoG*6j+=8bC=+*`i>JTy0a0 zNTeuIMuD^4xE0LSQ7p~BY|v(PEAOjOMZ@{s`c*=6qhX^xi6D;QJkgbA#Ksfd@4tEB zN-5U;n&%D8%2L;cJUNCb)WW3*#N$B(NZhGr-D2z)OZNSaabl0Ud%O^90_Bf z9GaU~?gl`}rA?FH<7gmdak}=sc=WPMWFE*zuskK9q98hU8sf_E)#B#fT7Qd)ijV;x z6RYMG6#}WkB^G#3bfxe=Q}9As`Ze6t)+>|M;9)J?PJNL%4tJWm9+WZ%C&k~JTD^)z z4gg&0gI#_j4^DdQjQ_lY^Bl_>XCs3r-OO%N%3{QCf{hna|gd!Pxpm6rL zjOcP0^C|fMSVr`B%K2YpME|Rl^FPao5{#ZGns7XqXG`FXze$N^J6FW8+<6-a3GyYQ!6$Nf#^V|~zd+Uuc?&_|EJ0W3{a+$#bg72f zztREK-Kp73kvxjks%U6axJTLNd$!zf|A+`^PO`pg~uaUFi zmUa$>HQk^(*3MbH`t(L!Hz^A82O72t34lJ^e@ zV{ZhDI`1j>@zNM``FN0lNRoE@1;BN(CSkUa9Q=BT^b-ZaGTZRQJ8v}!RbyDEZ4%&L zn`NKBN>|%3A!zk^4{(eQ8w><;T9jY{UQiU2&aQBR%{YOIXQ^)-Com9Z%1Rx+ciYiZORQca&b#6$Be}aEuF_H zR|f4DUdSd!^r62r?JRlk=sJMjnTTcO3;on;L&hP%vXgF|!%w&!Sl#w5&E5q}WQ&x{t|r(%kFg3d>GEZdsWY&FyKlXG5R;<{fC9dGmS zZOi=m(|Xs3D$EWa<#!Jif@8!tkpb{{0#LDpQ^|@D`vSWNt(2NWiGWrVaG++HCrgVz zy%7*+lCZrDPUB+(<_!N~2*j|4zE2CM3=2p~clX~7c*qI7R5CTraHow96>bA$UN~Hz z(Rv8kNL)pbp~A83Zf&)3nRPP30_Y{ z5&)lJBM7_7K(&6*XBwb-deps>;PkuC9=lOC?gBPBqRG}H?$=ujT164ydIyU55zm7@ zZHE77_KVB}1Y;h&y3miHISom0K>GQH5_-f08O4yuTEH&&(40W!p_n^BSFfP}k$Qsc za)6;yEb&Pc;Dk?6#I<-Ymc#>S^!x>rLma`0op1|P(vWMH5r9erxZWH-aD}kki%U|D z>J{-HK}Pm-0@vTf1<)jD?Rmn43_tk-+B_m1jh>gm0fW9T=tScCF5@1wMD9Hh0}xr^ zStV2vBwAhtvn(d)EhLU`An~nC`|acN2cs{_J-O|HH*<;BM!@H6NfcJ*HxI>#R zlL`&p+{+_3%lZB|B>qH3-l<5QCvQ zhy(%6wuHleivZ3A)9SC1v6bLns$gDOlw)}?B`{``8g@g36D<<@x<1xyA()~({VuMf zAZ}bvR0a-bhIf0$iDJ;eWtwn#24SJoOOZ$-tPUC%*}4b{5Q*Pub#@twq&bO9kI6jy zD4p+Unx2KT{5-xLH>+?b73>?7qzq`}jD5BrJRbHk;Bf}%ggVwQqPNvVtT+8$Oya@E zR4l<^M+|Hyj(7w&h54l6h{oqXVZv;tGzp_&MraCfwq<)(WmYH;u@$B<(akU}661g> zEQ9~lv*VkJ?eYyD9}0-4$?3rkxeqgmWJ9%$a>?C1ek}RN`2Z!_7=vTH-S%QV_Yk_< z=B>|3w_QTGX5;$BGcnJ3zZ`@wpmG->OjmF-01%J$PBlup!t4W-TLI3h zUI!NuolCi-V8@&oU!z4t(|HNO6o-aC!);5&O{0skKY+&P#b8Dh?tVgTuRr<1b4v&3 z6(zUQFtqM`8Q?PXPrp<9UEJp+ky^uc{DtXbOUWGvuA*>LG!9Ut37FCmc57S+2&3xCQHqx9#jP=mv~&}Hl361tG=>IuU;Um ztDPcAWFzRwemT^hcK`z(s{(m5!cR?rNnEi<`gw3vfQ4g?V^*y}M_!WwaH2nPwY?0t ztTczZaxp73W*N|<>Px5XNWoc{@96e324MUoEVuG4!wO(m$&?zC5vo{bc_ZdaVE=mA zzJB!vpp0^WwKo!Fygd|dypLcD8#(1xrF+sPTY0*VX1G;xtWbY@D|6}21j@sDJlzwo27S?oNfm)6+^tQ0J)01 zWfgG9c|}oRYMsOl64|P6agcsMQ&B(F(df zA=^5#(lzm`Ym&ZuTD*JKw0l0FdoibbxwCt9rF-pH_g4)4yN!Q_14IavtdQ@bip@bN z>E1M|uRh(Zs%CX+-Exf$lR8D5kT(8pD+V_f?00RDLTrImkVyRrt{jC>J^!M=$w6_? zJgB^@o)%U{S9#*)k}O>}(~H)n((i3XL>4Ep_uf2`dX;AS`_K^n%K^)VG%Nu9d%O79 zGB2z;3$*pO*ytrzr3A;|e>z$3uK?*D^s)D5_eOyszx9UX!x?)G(oG-KIVQhWGmr`W zNakiN{hNwCP(Uh2?~v=`9i9gcqD-~4HInC#BSwIqKQi-I<_+iQ)blj zA`lsXMambFSO=OtsNni&X4^+Y^%0k>{|~0u@K(8cT%b!tf8ezuNx%%V%@f*?Z<0|w z+O)I%zTnP-DUN5~Km`)Ig9jhN80e7deHE+PLy!AO)CL#Ass=a!vcGidz5&te$<&Vq z{nZ`y&2(+Hfyq-NC05NG^ka|SNCnV4dB!q2om3H?^tVX}g*e;II)jOEMgw+B`I-l& z$qFOSM>X1q@wes1C0>AkLC|ABZ|e!X^XiV(0SQRJRv?4q-A{j@g5{3DSANhIr3oq9 zF*1E@PTB?k8Kb_}IDR4IexS}zMEj$`EM*ASWtSqcixv)e z>IN86_hU|&7`g|c_ny)p(T%*ZPQ`Swku0>RUrZnA>2vV95=;@k>0(uuCE>l7u9mAU za1V4T&Q?Zdem_r}&sMP`SIlRON#oYR!e^F}3d{j=zJwHlKj>dp%SU1XiqA8Yl&zX* zBb$UNv3r^-HKRt$l`j(J%?3Ltyyn3`nCB7Hj2C1SHb9&v>pEsbBncCl`sAu4?G`v8 z@>94lcDQ0@(W>Ypc_<@^dJi^#iW2rME5{P zpnzo_v_?1b^3B*CssWd(p%%1>jYeYI?Nd2cW-u-VKLa<;%?hM=?k05XPZF>dhUt5>)jyzXI*cILvpGG`7pN6Sae~HAcj4<>*qQYTc#8bVk){(^R54-v zdyOE~#AL1N+_zaqwy>P=)I>G=Ak3(0xkG!?B%%6PrDVL-qS?R_4CnxzLnqb zvAJ)wzWk+W>8KmPBPAPb2I^s1&Pq_FV%j2h+Y-^-LUsb{tVZW=vBx4C6E<=lV_WAL z?D=6DMS<&aF<%9mrcP_Db0Lc(KOcYN6k?OQaMJ61Sc2_ty zQB~&S=QSx%N8^Vq=)MFB?(|1xuk75j4CrZ}B!|DiSsVU$_Ap@^(hC(lL44+~ zW<~p5Kbh3IDYt`Ug}0RDP~Mst)%P>!YM%RV?wpBiN({eK6Om=r#{2}y9jq8!5KpMG z^3#--#44Q7RYYvG>8<1AUeV8fz0137f>C+2e$~|ni#k)kIlit$uqRim>)RSmBWTE7 zHPRcR#t<|+RM))-`S<4PUXa6%5|L6@)eak@VhgpM4>#!wRK}>AjV-Q*?`nhmin}G0 zn~hfu2zD5ziRIf*CSDu04teRI`wJD#-)n7G_iLU`fBG#U_=o5F)5ZHV$33!W?b7To zntgS**?P1%Q%g{Qz$S6iNDUz^jWBUkLliK59YMquM^Zt>aU-)%w)1MR28+Md;VZq2oE9id#OTC&Kp_m8sak1o zGa{72q^Z?<`g|hq3Ht^2(wRfNO1CNt+~nM8o`hLVW!2;YZhC~#`U99=eYjkJ%P3iX-7)*uN?vloWG|3fd6v( zSBxV@LvirJHv9j*7ibtHhnIn$0*AYwyzV#1Y1vEtpi82W$!|eIx!mwiUZ9aCN7+O{ zJJlt$2St`aO|INq$Es&l-nMYm@bJtVr6iM?%735)_>rogA#6MbrWY*-&t5dvt#ujo zALoiv)~^4B5=fCjixCwDrt7!LS*O+!SkT2qF_v$A^zZ4PuFx#s6du&fGs!Ny;Cx1x z`V8Rx<=usI%=UGP!~S0#0%hWJw*%~lOrMEq>Rfso^Udu-or3r5aIx`z2C3EP!S=HB zb4+@EqtDeDwnH#ZR9I^p@O3V_q`HfnmgsTN=ojqt-w)Ms4mb0xzNe5A!raU8%w8Id zO(PSz3sS*+kIv~3EVrj7o*gK#qB6Y|=LWKOP7xdkrBlq3oc6o2ihVe+N3C(Z{-!V< z?nW@re!af8nZzUMtshCmNCbty1*Xy)NbLJ;rD#3s0|Gz_&(%_$mZnFHu8pI&GnC&! zw_+?C-mt;!(ke=mD9qb;Oilb3r*b?mX!JmOV0*BI*ABZugco6Do(hlBN&3+_x| zJes|fvhwqygEhui5gS~7K4OID!d_8fZ5q6{T~@-CrX8v{8daW*TR?5cb>zaskOGR#^5| zxrujPrs56;FOFsO$>IAlXvkKniIwbRqTEr#i#n^+{fnjcK6W?#mNzPQWesw=%BgU0 zpveybU1VUBEKEXKa&c6uLJ_FK5hu zSM)5Jdl%$%#gNIoBIY3bN_`?Xd1{r4dhvEFx>TIUI*NSkjgsI|F4HV-C0W=2a({(; z+JbP@#k4^sdWQOuAJi*E=T|j_ffa?zw;;0&7}#CDwb?Y-{$tyjStT(><7chuATMjl zcex+Uu>{-O`hFl0m7+~RIj<$Rd~^ z*U#%}!`|$!CGJi|IdA#T52BMB-&wqEF{+(Kn<*V1W(u{;#TIq{O3V-VK%cgNX1>eB zjWfhb8Ki0sKJ4$N5h{?CnM(bQTF{a<#q!)cW=)d zeJ6SGWkX8W?eB&i;1%4v4ULFx$1p(P(5^(uTOvAqoP|fZGA1pOq}ikoM^j|3C5)2u z+(@|TpzF9a3N2j~KUi=?EDX%|#NQ{&vI+*ml@>ETwyi5z@qJsD!+;EEdc3rd*{Uq$ zC=npekK~wl(^~W`4t9oXoSHZjJ0nIhpGzb2?Uqj7C?9a#(?+n&Y zg%{SwDke*Qod@X<2{qhS=&3ydNsK+Rk9uO9r#kOr@QH~KCx@j#A%1QSom|vJh^lfl z#DgVc7K`gyQQ>qPcq>bleKE<;hHh=efg=V`{=V}g6#%_icN%93Pu z;u1cj3es#ZZNCeaXR8mO{BDLX6~!CV<8KO>LoLAm;C+`h-!Ymrux57`%SHgmtGSSq!?~=LERTmXb?+*!v7rWEc@=Rl{4bJ({k-54SIEF*h@H` z5+|asqy6Zu0{bsRP#JzJ;F=(w&3%2dHXhCQoWxqz{q+`8Umvq$WRiyj=*V25pJEtp z4Qq(RqsU@&xkbiDnce^^j~a{Pt9^bOcI0g0b@lx$10!s(OVh^FoaXr9nO_Jh2&6`lcev;x2% zqKGP+pQQ?gY()WwFJfPJzHrA*?PD*I0br2pdgaRJo+k~83Mx4}TnQXlJn zwgV!AA>m~$Q3tJ@o2}{1_V-%9#(RtuQ5+?eBKE{ibw|kt(W|?}w7!$_r%tiz>EN4M zpHsREgX|Ckq2Oj&oh5b-lekTOR-0n-o2s!Tjh69%E0j=qz)~idTI_Z zy*g#lcs+C~h_R^S-`X$W=;&(Jys=bU`IPw4UlH`hABBH)en%c2p454{>@(_0mGw(T z#KP`NifvC@Ynv?Msm*2z;))PY6dzrX8@IZ8ZGrehsBaEc33%$PC za2;BwLc4t2WWs|!l}^zA1b8q1wVB4a^LKyEZCH)hdJv({FGJuhN9dTabG2}2y`4Xa zw$B~e5K;kG5;*WU+AnV>h}%0vLOARmFoZnJAFt5VQP_h)1bDLm&{w21FaWL^hSw5? zk>Hx(?D#Z-gZTCU7K#xBQ{)O**1#u%!p)D$ij){YdDZGF!wGy~4?JQ~f4IlBmw_-n z_a0q;DP+`PG~kjI0GhOi zA*0BFUj1y~RH2u?oQ}(eMtJoExO-tCA^>6sfH4XOkr@(=83Lp#hce0%;$|XM9{7XS z*`Ir1sU1Y~wxw~sdFDclaGOo{8}KKukW{5uKBQ%gP>`DU^Q1OFX_Oz{R0v2UPWmD$ z#zsU6829rc@)bPtj=ZDM6;kH8jmo4kK4-ioXH?b|xXm{{iAaFl+Y~v^@NqX@$H6xM z1f-h}xhjk!u|krCC5&;xw=x0T*k^+)pdKND!#B}3C9%IhL1!`XOSJT@Pt+k2N!uFF zicC@|Px?BPL^BnR6}vC^%D;c$OzH@QD#_nO4&d@jzM{wx!S+`y|j5ij+9vE9L=OST-RVDZSu}PPjzlyD^hfCo&AD z_-4jaPLb>2gywRl;%Udpa{_V}E${`<3`VBH0zs)Fv0B7&uF4epFfWV!Sap$@w8fW} z$QYo2yv}5_Q&!|oa~c^deRrClmMA*zDxGF3fS)#|>y5tG)$>1XiT<2Gx(wjUOf;KF z($`bF=e{V0@~A;OnYmq0p^CU>p;$S$(EC#exhx!0ktjmlP$SXMvF$WIHv~l?SO<_H z(}pl5%*G2#NoG$SiuPj?h;X!z=qTqDg99W)0L;WdlItW0hrc0hE}6 zDvyCEkK8SkVHr?TnzfJxfT!nTe+RuY47=3NoTkd(;>^*^aFl}s>+o{!I24Iy0gl?E zduVOj>~a>_vj!HtsQdvgIL|~>T{%_#e_Z$r$-22`JWoRUAgH5AP&k6LKo4J}CBprF zVPL61cK?$&nVT#lqtfw~67=1IX0YveN{NM7(J$d*O6^SisiGi1q%$$l)`9o-uBWev zXCK_-Dl3bR$hA1?74x#I3Z|lf1ebook?z$EAjh)!-NGA3Z+&vE#B3TD<^}7G%s3g& zY}u$_9D|ZI(Za<+tc|`5v|m7X5KzhGJ$hOu#~!&QTt4Mz9&cBX$CbDZdFc)Fp!cbO zS4di2Mb1C>B8VxhkyQlsmLBz2I^T8s6O$=Hos)RuHQY>4ZUX4=j`*47F4a;7>U+tC zEN3=!syDHFH{wnFw&vVECVsEFhO0!4BfRSgzF_1(YVI*2*f~;d$@Oc8RAq)%C zp{Zw3E@LvNE(JHTV=~`vT$#y@*z?2Ey4jErxBA1O%pekw$|T|OP=j;puMMVPe%#sRo)|?s!Yz*&yE8WZKyh(Ak#L z+0ohAwbJ?SSLb{Bt`Fi}eWqOl0bN5mT_c@cSI=8}<0{S<%p;J1Shd6x0$>1lXAUh$ zeZSLkmiz*Ox2tWcak-oafADLI70Bqm zD!+q*7Ks^AuIApseXkbA!QjjiC8mGq!GD<+ux{1ZOXC-?t&n>Y>NG#Ey(kRS4wQ+s|$H5gNzh(%gzJ5;K$-bZ~lgpQ!Bv%0wnGu5MI^cxIpu zSVWGo?!D7K$kyK>u$T%cN@Fc_OJvXyQwNb>vG_vjfWQXP^KMov3e*7$@#Nr>n70y& z!)Lwvj%0MtV4$A&sTpJ1-{YVJB;e7Tz+`8gt*q`(vhP{lE6a+9MA))5#VxddkCaUL zMC8&8nCX^@4QTTWz7MlpU-6rg&@~w|ZMtTC@hx#nUe~&McWzmJ#i8Jn3)!i zkT2xqQFlBz<-jxLg%0tv{?Okd;btIuNgWCoPzRV3d~cBTo=z@W?uo#MNW1ahZXeb# z?VQZ|(`?$$&^(+(^PfT(rfz1ZAOimJa%@WKAUFNdUx*p#l;Mdwq+)&MJaCd|Zu)0n z9L+tb4oe$}i@vJHQ&pIqs?JD)P8+y>9Qb6M9rsh!^so-Epwp8+9Iw$=>hoFdBL`z; zmt`aO6h(3_XYsqs+gpao2$b;5KzD9owA$P`(L<+{%CN#ux8WlZE(`c+5gaG?U07za zJqEt7R)*$j3Pymc31&qaL>o}!F*X7O=k;t>JRfp-RK4d+saF0_POSI|c*(BVUCCS2 zXecO5h1;)ua+hn8lUlvY1D5gurJi87w3Vl{bW*uY%Qxb15yEH<IJYgrwlnmlUeC*rWc0d-y%wYD6h?U6S*Kx7=j!K#Li$XZzNOUZ|a@jTPy6B@?frb}GbwD4g%w@>m4SLY~|JFG$E8nXrn z%VCDLYRRqRnzfx>dx2s_TKTouHUd5D*Pj5Tg8QunrwnSL(~KH=cmj;I<6Ys({C{`{ zPu0yozE67b$)jmoQ9#i#QC)#@oy>~I_(+zvaJMW&#+ONHn&PYL?64N*9pFNCJ=v32 zZH<9~Z!>(8(Q2*D6Q}?^R!lmf;tSewJzJ+%*h~%p1y9>GHa)I3+jr{Q%tvrdKYn=1 zs}`3>WnUY)OQxFk>%hT%tpX~qF$3cF*eq)5^;0CVHB}Y&oHcv*h##^~idas23Aimb zAbPB7-1U)rextk(xd=My_T}M6?SEl?;+k(L@J`iE>VT`Br3-RgO(D;gw?|(8x!{kI z{yWM)o8KNaF22uTwfUp!pGvj%jyFI<<=C88=MHRf!c+t(-K6(L1y?R3_(z|$oX#X+ z6O(wXNPcs(b7aU{`CV*0Y>#LnKaYGBoqBEjJ!H-4P|HlXP^R` z%ww5{79q^zs*O@VzLkBCcNcf6Kj{>N*9w9?Q>crTf2LEi_(Oh5&KjIepWOrR+2$)% z+lsl~qZhWmpL6tMs!9IIgvO_-okgfT61-r5|M*-}E&0QoGw%6sYl>+wfpM)mf3Fmd zyoQPU;rf=Cu7$>ZvQthAny+f-g(ch?FEwGWO^oiVehL#kZd%FzaD_+}lm4Wkc%{%c zyUii}v@o4Oal#FE7mvepRmH5>DbvGwX zKpp98{-0d7AAjY4f#HL{?>`ny6x2=v!LnbArZq@tRQ%qwy*R*pfC~vQ4hCzx1F4ga zWf`Zxu_&@O>-_m*Ls39+iGTi>(^hc+!u!Kw4(EeH1;y5KPa@9Ar+i)=Q?!gsrq;S# z)ICNi!~^ZWPy$}_zQ3mbfAs>ffzdF|{w>vipalPz{teV${e=?z!wa;hRrD81kgd1> zR~lLBZ}|C;_27^R~aj8AQ`ULcEsT;ntB^e-7g$Y}D@0qX^Nt(5oI^k4I= zCyLSZ!g;wF>jfJ4d;0GV!VofHl+2G zK~7l`1eBJd+)SmhbUa7I<6w38%o>DE_Tu!n_fuCGl)zmejf&-|P|3eby_IuSRQBwl z#JGFuZ9xU%pyXu$RRkpXlWUc2KAK1YOv!%S<+(nie2W)813B$7vr;(8&fJx>?7@m4-n%p5^;xoPLA{`aV$?q&lLBm6giUlI>j9N-h}fg{meo%HrG_ z2@`H}2Swr3oK8Y+hT@hzu4?moRorj&RV{)BvTv*%sUxQb2GX_0YAba>eX&C2`qall z;bDrmIOAYJVYTC+F*q=8XnUteQDi(*i3%l29 zqtiL;tvf|3OYdCuIbOZT`R;WR5%OGYx#Co8tc>zgQJkUYOIa4#0UUcXt&axH@osoW z&7cAqVpFdpGf3PLSK!<1^y~&ai@;}7cYGv_V=zsu++&hGdnLtzj6{^vznXIeLji$t zRHhY5-K>cI>{SZmQrRC(Q_R%2GqFdMJLh_OiOLm=EbcknvdnUfi0HRe@3n;!^N?^Fq>wP}y+1e=+uyyhQy2(9 zlk)0qrxm?4;QqSo!FjkVD`Y*vsc$N_QvC8BR3W*GoDk_L!qXcY<2e+jxi4)y& zPWSwR4a)SuC&yoNh7x7b-`OXSvcn$716EcEPD%@7o1aHS6)znM63JO@b3b7V zB*J0J{NTL*!iP702${{=`@qDBLWd>)9xdKO+9QA-|CkjnCZrsIv!}r!!Mfok1a1R! z)gw{hC5rW*AD|*`vG)Wv$m$p0XznM+QS2AGkT*y@JSby4?ku8ZggkuN?~=eWVrW=E zsEl`0p2&el?EfGFW!EEUfTl&^sP}j855q?*s!_@DB~T8PVO5h;bmo6B z=QC#2rIxE>&G~;VtTju;k|DXS}IlspEV_FBc)Jv5P zwo#qQUjA9S3caIAD>{@n9Y-m4j{QONh5aJ-lIeN-_07=3_r*-g5f}&gr!OF3x?*0k z7Z2k!K`g`|bA9Qax0M<#4Xt&L%0)dHVnVW=41Vlsa^!H@n0}f`gw89FnCHC+CQq49 z#@DYS9huQnfrK^S%|D5VL`r^(1;K{S-}+x4DoV71jvbpA<IM-F1*D1(RIP?d+yiY5ZObC_6sBI`V&v{Y3Pi*r~LF<8;UMI24_a*Np( z?yRhNy%>?1-X>CU;GzD}Bq^{3QlQP}skX7QspAb*{|qN@&7okO_%2#Ad8`PZGD9@k zv~5wvI0)-3peA|h0AP8SO;R)i?gEQxsH;LK%hHkwsz+4YRlbA^wC|+QMl`SD1>O)u z{dQnAU35i=KYBPO6&(W}u2EQQu*$=c=>r0J;3S>KIu31p3<9-E4IM*qU-em!G9SjP zLB1k>Z+6nxe^Z2a+2rDU>mdYJDj7Kg0~T#4`1#zE_kWqin_WR_6B<(a-8ZgfGFdqd zs?n`oXf9o7x1{D!ChN55qfIELMMUUK;kXKAu(vqQN_-|CoVyc2nF+Bi7s%H*T}c;$ zw$o2F%8wLn%ThcfKF+SmWp%fS%ROjL6dI1X_Zh(QbgPwa%C*#`f#ANW!W5YbP5}S( zj`oV}IKZt&5fo|>y|^?dB>O~OWW_!VjysI+$6fp4(LNHt1LEf5ZV;_O!8+do?ofg| zujFirKmNr!Wk6&P`(PXQ{$?3+eTIzdPF6MToB4WCt@MG!!Sa5|hkf(mR+pNu;cy3* zTq(H!W&#N3;gc`K#?=ZeH9)}GFK9u_kn|AatAvNYzcQ*=l(RN)I&G?Z%tu`*?c6)U z9c^jup7&KyGDO+a_svpa-0Fvj$4?@8=pi^y;k$I*r%`4;kRBNyxfV;e@YRkT#CS_K zbJ0QmecLZGhA(_sA91GgBj%N8ki9A9J@BV}TX$j@ydSHdqu{vSre7XcJzhJH>6`yt zI3*fd{E|*RgK{omNLC#A=-~YbZO=G*9LUpS=rh&5HGz=0dZ9gEE z^ZnM5$JgJ0Fu(A^zEXLq6m@y{9Q-&Hu9a zvtWN&h|^=+(FNavj1W8{0M5f8+ti>adrt=eFX9KlM>{TePyDFs2_}WZNU;mKl|Qiz z;YS)j1~@=#{iWWtu9qQ@8`~;G;cRn2`6K+#k6QD&HMQ#=0`^d-Qf$ytDfa4ILK?sm)2;B6FChZNT#AWoMK-@(|`@lme z!LI@zL`-7{kz`ZR9f~kbci?w|n5V+b@!QC|Zc#U_f!25Za*Y5P$QWV)3lbV3wM<)j zWX!urZwx@_jS$dt8c}KlsLG@#z3XR`0dV;mv)LN@_UajNhCA+1SUa5aQ(F8z&p4u~ zs5E<~Mqj5vk+87`bfb%LL?>|*i!uG>rhQi-EsF`ya3hnILu-&R$UPff;e;W=_{|J_ zb552aFPeo+{U7B)hwz~3s}LiHNcSP(8cU{ya-r)7LAd3S(~A*?zR3d|NuTYLmK^|B z@I;;yhNa7d*UwRez+{BA{-v)ogDBt^TWb7Z zfyACDaJfq23zfK05GxFkn(`5iXeg|oysgg(R{*jW+q8t z9_4zfB@vFH5OUoS@Os}RsUoP+FP{XAi!qFCEzfDH03=5RciG2=(q?vf0XUZcRDN+5 z|AW1^ii;~y_bh=F4oOu}xK`mV!6CR*;jRIKdvJGmf@^TM;2IL#LjnYs;K7sN8frM_ zPXGE$&%Jkgx_f3`=CNM(bM3X)xBdbarz7uEhw^gTv#o4#)oAltM&Fco1Pc-cBHN>~ z7W33nmIMt!bsZTs}yepl$d*vl0ZC=}|{f1d1ciXCHVYyZ5ckU-re%O+E7 z0chCgd4L&1Z;<+;$RiG(=e$^~Eaw{_;L2m*DLQU<8ClkRSr9G%h8zc^jW8{-^*8f% zcNn(Q!YPCsM7=;ZRstn(G;d>Eh(K-%rt?dFp0?2U`(@xp$2Z=dN9aMw3jXBk08AVk z&YK*NdYp%W+w*FYmS`8-NPoTI3Zp1PLC-3rE|JbnX`^QWfe$bu*87EBJV9eA7?e!` z$3b4ZK5H+--{e&ucNmDVB-JZ5O07(3m(mdcMN}6N?1etg*G^RfCDf`Cge#r)in=$e zAVqeI%XS1EQi+EKWrwdzy7CG1KHx!9y1YPSW;HPRnzvat4w-J>4{g3)mE4e4-tyHy zzXw{3+IjGY9FLP9+BsQOKeaDIh?31I`+}NV<+n%baf@mLNop6e&9OgPqHR|SML8Y~ zH-1nkIY1tQ0BtUWzRufZb|Us^HFi#DevZU7hV0DEn1X@VIY6PdmMH#ec`Q^0Rxk0m zIF_SO=WMq+;aY4guKM#b=@n{CTvW#mF#EkH!4b%v-^V$t*c;piXbhFcj4s1)eiQ38 zwk=eb<4!v5I%)|n81f_#Ou%x_a~8?MN^VQ)2tJ<|4993K?{HSR4-NL|_#|L87u7)ffDNCj$%A!8Fk&kjx^E@lm}9{Ifs0WraY+tgDmU z<q}3Y;sBnY=9|p1J_)7c@;Iy2SLYH6dWNUF6VNE+yd;aJye!5iHB~P z)x@HU5ihN*FGbW{$H;kqQoxQ}@ust(4{B)5pD9D!S(U(!T>j|EjZC{W%o&{vE+(OV z?)ZI5sDfe1~xi=oGCYVX}av}9v$3N^HsZK_$+*M6@BOFCFRD&7fX-e3&f zt7|(eWtfC(;O@7jA@2r0B#T8jByoBOzVUjkPuP>?Qr)tI6Pc}Xf!TUBm5tXwOzroc z>GJdWsas*#04~`O0exxc9@PE_gtx5j^8nJXrLjUC+3g>H-pZt~8cgIsTD}^XcixHC z+Dk48mB4|ioQ+zVenFOwn~aZs-876n_L};lO84yPuvmfvMv%p3yi}`7ipO49OM89` zVwq8Y;(L2rUqz*Kpr+Q_N~#+oo(eOAhqYrQtx}$=z@ctBCp_?lgZlLsa`_rMABVxK zjNZqcZzz61{CIko%h6f-{@pJE2BQ-=QVmq7{6I??$KJ^s&vqlJ(Q}F~2ZMohj%2f< zG@>`7mr!gsWUVr6ZAS2X1{eI5qG)EveM0VGO;#jh#ij@A+{SYV(owZO1R6N;N=mOg6P_0&2V;xqDp1o_9SK)si}XM`yJ zGB`O-1Jv7&TZWCK>CO(h>H?Zvl~oqzX0*>m4OaMDu`zbdpxVJ2v*pw+P2dc z=o(iGkk2x{1-N&Us-zpOidn6hJxnQpOgUE}pP6 z1o(l`^OO<2AA9AOCutdv0$iqzl%4W6T>KYnn+Xezz>USrxljMOKpW(x^OPV?+C!y5 zw2hGfal_MAQk9L?!B=ewKpINvw~!zD*3@)yN*aSx9D8CSrCZQbCL8nhUI3Sv*$=!T zk!CY#U-NAXUf^`{^3V>Ql*&3|#dq}qrl%?26E3R1MhM|VaL(%;nH}nkSKz!O+5Aau z)_fq1`B`iB5j}Q3Y_AMV>a57nKk21MInNKLlcjc%v|;>c z`)ol798QJdutQ-}y8h>g51J>RjTw%<62ziPchd<6zLn#bP8LjN9NRrj00;^7t-gV9 z*qWXz2ST7hO0sD4LurznCJI^_rWz&)ZVkwpu|nPe*H@Vn^WTWr&5kLE@E@w{Y%N%s zoAT=|Mf$VfXezsH5Oy`BGWk2jDbyi>7fLKYE^929#CsI8U^I;u0<0&b%t3G;9x8$t z%1+X2r55Mb>xvzr*W7^13h>P1D>Sym5oh{hjZ!!OEVG=*v z5108JC$4hbM-dL7wAlfpn5ce5^RvIW6y&{IhR`NG<9!;KgG#FpN)c5dshR9RtQ6Yh zb?+WpzI|f*ydG@+_?agRL3cHRTHUMkb!t3Abb*2DjsrQY){)VqI;?Lhu_Ild3jtH@7X#@mYq z$N3kP-1tc)$3Uz5Pe8c~ED1pP5}ZcEg&j_Z&4D%z|CcKLL?)LxSgBW?CR>^3#oIf} zZ#p7|r3Q|$XQsFSY+6jSFJmoL-z(Jq3Cau8*rmfBkC}nib0)yv*A3bX~Wh#(hL`w#?Tc9g?sMO z-EU7S`SS!9+i7JhM{O#j2F^hfae616nzYuFl@7P|v?LE6lQm|{f;GG%ca4qFRMvKU z861nT2~!2JBhi0UWL6m9F#4xG*(K8}Bqc}L&FP;fl{~70cPxW_im=Pr>8#+mh40{K zz5dZo&F{Q*m>Pll96-fr;U7gmZlDTFR+`jZ#0J!>=!b!`})-;U?L6mUN3Gc+QxaUaJz>e#;GGX0uQqUsO(3WvtFmBI`CJOO5oC0l-u|-X|AH=l=EZND`YaI6dTtKtA5tD^gz|OR2C;%!e|(M1=DS0V4YDO462$s z2?-o#>9xf=L*7@BbDvThg>#xuTyuI`7GW4fsw>Y&NbOO8vnx8-ta5ff=r8Ve7*1KN zCfu?5W7P+7k|~zWy%78vWmrNVordAQ3MbZet1UZ$h(8&77L@mvs#RQW2lQskIM%Zh z51mm4#&Jtc2p>4+D_AlPuGTpNMfPhL5bWTxU?#@T;*p>hYJIF_%}3TaPyfM)BKb2m zh3==@gjdA?+5Eo{y~{u(pm*It09)c~r6ucvIHv-zW)0W3wBm>I7z6rP$h%H{6yvXW zy6g;L~W3h69 zfkd(}dMb$QT;2N~!oq54>-~5tTph1oj^Aag)mA9<9>bAQY$z$fm`uy&uXL2Ei>mrd zi-MssfP&&=(yRH=G{7uxHQpU2QCr+vui0!ua!~Mh*20a7Vhfdu%|glnu!;jl_ur5c zqU;dC%+~PD7>ntCTs<|LvJdSQ(X{kS5}zIwfc@2_HI6A*#mgv0RdAhppe?$F zrqq1=B5mthgu47Idz;q+#)|x;sM>j z&YEEMmG#JuYr5RRw;sf7>GvrzJ#^Cqh}Vjyl_cmrxY+gzrNM8aqB{mu5Jnd)XU%DP zdbF*w+**QiDVyaA17to8@!2yQK;jMNSad8xcy024G0tsZF$sg)F1my0sQJ zK{r8pGI%z;hTjdFU+g1}DR6ZIe9J}+U15qg9Zrb8Ydn2W8$ zU&q20Jw8-NDT8msPI(|8x5Vtc)Ha13>iMfy2$7M!op}13Lq@dUakrS$Na+H;ZMDo4 zd%;o2@+y6@Lk?{Uz?n6C?GFPs3d7$d695^sZ64lso{$nGvO_JbGg^;0dmCy`hrK!( zt#gD0@P9ct_nexhM|ssc@*<&&{cDFJUjExsJbl_nBvGd#*{}5t9*Yg2e%m-b%xK)T z1IiTyM+<*-9)SYg1o_xYbKsiCUyDLD5?{KKOSxj6KkVb!3a8|9p!>DQhpMR}beUP( zx*)!?K%1y9&A))wiWK`Vmu^h3iY=NHcY2lIzLa7KG%fkKMx%kmEs%a?g(dp;7Y6CQ zqy|1g5R&o_z_iocKr&> z`GtG(0xEkfyRI7(M5gD#U%#GS0O}*R_>AT92`TAYZ28M@`Vga0VVbi^w_)r~<9nZcw*AsD8B}-WZ#qc&50!*P*~^ zPb%Fv7<#~O5n;#NLHJN(^hOV|WG{&<`WtItDFd)gJ_IpJ^$HH$mj!}!K?}qY_#r;q z^tupu@VI=iRz#>?Wtf5Y8!{K|Kd9ymS-x^0|K}EjbS@DF9Y76FCeorv;`zu~FI#j} z>&i%951S}%CT<=n4ClqbXQ+N*Hc<%VQ?S*=ZKy948|0c$35?jch^h>T_m08h7L0*g z^GL;Dna1SX0Gm8a(L>7CAmNf!Si&eM4?{0EE7Bj!rz$M4n~6K~ zDz3LO7SI<2U8hZS^w6JKggcDgSy9PRCCZFB&C{b4jQY&)^b zl3+&AszWe(jznr{KkmHJ2LX(oV98r%88BJEvdq;4Z zd{>@AtnUtJME?N?66z&qA*I2&G_>}k_OJs_glq@!e;+8q_9dd*-Y81c*{@tn!0ODEh&2zYc8Yt>;b$`njf z8R01(UIPzZ5qM{E8-RZG&PzX;O31i?*m|b@okdniqggs;V+OupX5NCgnUs;hSi(I+ z;&wBK^_Jf9b*kERFzIQKyksIScd#`gW{mY-_K@ z44`oqsOC0SPS7U=iJ?8R5MRV+RePP3?3t9=k%`{ug}s@1aTEKkGs{`qR{07y^&p0X zB*tS-rjj2xhH%cWO2ch@zs&;#G5aoKyH)vwZy;#ug-nI`3;*aOaCrE7c*SBFu>Hvf z_8>shwtTSB5cJNe~6M&CkuTLOCnJJia63mvf2VMs6>#7yiSuu%TiIw#W2FvBz4jm2iq zHo&CQF$UQht?r!#oF-1E2Z3pF*s&_*y`loFK}+%>xXW$=v36~(&ZLbAoQqFZN(O3X zsM(>j(Ou@?Jh81^2GNb#U<57aa@9mf$t&XgKn7<$ornYkO&wS9%VaWseFI@q=8SNb}zjrBy1@BR2ImOeg$qY#9E)kzNUYCM2h5x9d>Jc-kU zjwI1l>O{w1@$0Yl5c~AKYz%E{l8&yz zX|KSLv?ui8AiyLjI!r5BYQpCZ6%%|nIgPVZ63Q(Z`En(gq%BWKUB>KVN}O%8AZD)F zy?KgWyQ)ix<3YPRcT*@UVYOsiL=A|qF)#*KGvU4?iM%sKq%+O1GsCYlE4MS}W9R#o z&iwn%Lh`O+k*-q1u5!Pw%G|E%+)kR7uIHnT2*pkzY}+9>&SLU5gQw=)_s$v*u<2a& zYIJ*QEXCd?1<4?*@CB7uB;i0Pfnd=)z4TPlTuFvZ3Un>bOE7tL<0sW{CjYQj668<| zn1nJqE^)(9eRm>h8q_dk#$m45$`9!7F{3xiq%a%wcqYj{Jg)AYT8`D2y4V-OD2d~J zuU3=ZXrSHe9`bSGM(2;cD!pRKNnvkb@@GM`UP0~N@@UFTOKVF+AGU{G+8oASF3I&? zpC!Vgr-mwLsop`+G=-rj24u<%`iRfh0&nINGps!{Fi!Pl-}DR>MDU>g=dz8UljaZKCrq^dTMO;vn8C{l>Xgv_ZEz!S?jzGCFAp1;)_eA= z;65U44^<^$DsbO##K?VV?@$@kn|An%v^)e|_!~b{?$4gs#XuJaRgE_mmq;j3Ok;4V zuZ~f@<+*l$d&fu3uxS6+L}HTr;oPFdyD0q|5}v3Z3Ue0>+$>i&BT=%s@DWNA0T8XQfYx-86XJevc6D zw)bF!DE;g6W~M%)iT6tR4jh_uUk*{n4BAz#CY}=Dli)3?C{bW;yz-$xkn=qQwpvm- z+t*o{N%m9QMkVSphskTmH~%VbVn6WtY10bbl=s57d(=W!b)uB1$*$6G5wEGM`=%aT zde~gX59z-0+i+E_)-SwQY3&E=fWPpfRqaGf4?d-^w<0{vgG4$tD}{zVqkl|H&v zYrOBx#nYV7rO#=xuv#$VnpE&H*o@~}Tbewxt1;K=4P9I9v!BM_kEo!V|8 zC~9skU7cxM=?MkdpDnW;EH;!1uX8V4C`1rSeQ#=_Y&ikn*{)S<*tyn*^FN3c6a}+vdxjymMy(?GKLf z$m12iN%_jgt=av}h%|W~N`fAIxalfntr-FMune{8qYdAXu3St5Y~HN-2T#gB{)OnG z0Z0PHvcgvJPG>9DB!2bTDi^W-VwbUp?VN4W>i>|4klHpL7bX4y7kW;R97B`g4`=xW zp(gktph8#OxZ|#DJvRX#rfjw4-kqM|3ozgCW0-xa2(F=QL9j3CLw~SnneW@TZ#wL( z3r7AFo|f<0CMV1zkmHbF4Ux_I8cy8omi~+0jLMcDvE$D>r**omPsir?_+&)@f#_g;-xc;IFXS}2T9jixFpZ3z{I~>jY z_hn^4tuf-8GBIk91i#*53Sj;92gMN6z1Eh&ykA7W0>!k^j=EZ~W0i>I5po~C?|lqs z>|7(lq88;l-+kXAS}(&j#4Ftsq9DY3Ru;aOf+SN2IDMTTqQnSe-amm`LT5+C6b71q zzqg==Zf#7IZu)QjhKDmVP%BElICg;We@apQuEMVHTk_Qlz8@DC?DcS&0wVEuipgMz zuBx~;4~cxTN>SpGpNyCUD&GK=@`dr0=QgAAx{};aT`vfURFU9SDGO@}he_$#9RN!B zSy~2Jk3z`oV|K!&NpEEe#gG*&cw`lAJhDuj6?!T4ij&7AUd@G*)dU971K;KP5k`Wp zV*JiOrsL5Z8Fx-YH+d>vF32xPJe+hu$4|-!J|!X!0-|^e|fRFy8a< zW&PnR@?nbl?~M50S(Cr>L4Owu{x0|YT}7_{{ek?uLH)QT{j^k{GXsa2zgV0yz4+ zMfUc8ROx#F-?`8SYT0T2Yck~@oEz|;a&GP?&W&IpdXRNVg*;86goh`omyD${X;!}; zYbyH(=N^B*#1$ezLnr=r2`vPonuCeNZoRJ2{-%>lr$2nnH|7|&B||FHJa8#i%vraJwVAM(pjSrYFJ@!o(ng=mqE z#_f?L+HaIgbNTGW5%kiK@zYF84U0BAD&?-0gYRhcaHzDx$@-T{=I4Lyad}r4JKTKikv~AG&-+ih#$H508&-`|bRvj8E&U{87n(SyJsc+IGpCAOIQ%(`I-w z{U1YJ$oSlX$`8vYAzX*D1Do_j!kIE!vvr#$n5k`lOA+BeODNANR%RlFbm)+c;=9@} zk;0Uc*m~#X(gI6{KiX&p;4sAKCYA=fC#Pzu?31g$(Oz2QWcggSoB4;{G@m^*M1L+O z`_|%T&ewm8rv_rDEyXx!$d<$aXWR6`J+82q4C!YM_KZT7%+oT%7;=bBY?!O{^^AmB zY_<6jjboOnVxC*phFqBk72I`^q?Kj(bHhZm$<>Dlv$i&tw>>S$%fnjWCV){rh5

vs(?7?JXwBvhVuku+E1 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 DV;XZ7nr4TONiQ2R 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�kHwbg$lCd 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

O>I` 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

N-4VXV;> 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%0A6op`XOUOty#-x>v*kD7ehgNZ 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

vLGplH2oVuvY*N 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

u{JjV`cv$H%uc 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

} zAx(Hf8d@}OKy@KVf+BbUSb3ZMA#O!-Ni{);&%qc&F*HEo3WgzH&pD$0(llFCR2yRo zx>G?ZMv1c(Oy$Q+N%<2~5t;;HE0q%yp|oCNrXG*;1Tj$~eTAbGA~PEH1-JMBP4ETV zW}uyEK}HjLU}6NF?1AHU<$ubhRbDA#^Nk6QCw9)p|(eQXvB%2+5}d> zY=ZhHJd%lAa#pIr8xEN^)lvTd?N~l+@?VNJC8QS{t^hMrBO}}5qfUqz9FiJna-_eC zZa4uW{S*^H1RrP`9R%SHuTTnB;BHWKad=5zRYVYnQaXp(ATuHn(*r{IGkNkSBGHH= zrO^^ZaRA?kO)K#R8#ao=6hkR!00nTb@+W^qkr4JrVD*F%q_QP1@;4O~Gg5j4o9QJ3 za#9gyAo6Dzt3{}3dLn~CQFNx7v=KI^rIA;#KXJMia#R$Bq9}kd8ROEEryz$8ARl~yB%Mlt_+fBFTbpei=^075q_%tcP8!IYdKwn3>a+~S-j0bPr!7H)Nj zQ5678rJ-K}ClQJf&=n|8_YW$AJa-DDRiP8VPzqfjsMcwq$y$o@c3H=23-Hpb3Nb%4 z;*{QU7aY2NUiT0p7>+pNDQa^UO<}FE1%5+O6r9o(*~*buArlsP3Z5oa54mY#Rx~}y z8!q#ZeeGBD0&{rTvUR#5hcIZ-2X~x9 zqBB|HLFtMTKf4-lx|N03vawY(wlHiihN97#nE}uQl4_F;lr%(kT(%&c%oiGy7A{d~ zTtS>3tT>Z4*GJ{JCI8?FaAmNz(!>wad6rsbz9OCOhQ*eNQ!xuCYoch?5ddD`3TyIl zx9|nhWEhAgsqL9IFM_yXHV~29ZUEW^V(B|W5>;+FGL-Y5Vu+GMB294Ww{Z+Fd~^j! zidcdK8sIA~LGcRB>!JSYW&Yy2qop^V@(MfZy=60BDZxb~wG`yneO%GWysId^;TU>? zc2Hs#{-OUR3c-LU!8RGuqJ4#vg93Eu3b%;k4t{~IDgknZVTY_(CrDSna#U0HIwC7# zTiG+DhkTe$bY>D#Mn*b6Hc>d^VLxpO84{MfE^&fQo3Tw1RE6b&8H+?RdH`qoSs7`J z82fbD^T1poq>nQqV==+B)quLmr}bwAAfbI6u}!kb!aWu*zB(bOI8G*v5IeIJTDVoI zLvP8lK@WtiUGS;SCn_u~UR1>!=wrRM5uLiR8$Ox8_uCl{}2+=nJo{X8=ZiL0E7@mi$IiOaM{t6 znKS=D;G{|AAuVK*75)?(wwxSEJE3LSGREYrC*4V1(5nfhT`%GV_k0Srd=WsjwqAQ!8pTQL3?y*7`wc%iSY(A>=vWz6crIa^RpW^cXTHN zjqcH+;FVT@il=E~zx0F@YV;ti(x;d71p8ATzU&@7G9FcD1Q+5{vz14anNzoNt~Zs|CZ{+SOA~HgxK+9tKvHD{oLC~b5VA=VK+@AgH!ge15aSVjN<05f zJCtX!btEbcpsVXhj>?Jkx6(XI78D^t9c;kc30GUyXr5*TZRBIg6#+#@JJh{N zehb$t%^Xp_9SMr&s6-H^&_a_T;DnVF=T{M!>0Nk)LVAAVm*fyHnGv|85LNfpeIm+3 zvp0XaDMvufC-Jo$h#<9hmmk5+nn1Td3pxLd&3G6D z^3O|Qhow17$lW}Y(aklb6ijhnU8HH8P!k?{oq{xZ0=g{xa& zQ5>lpJuCd<4uK>S7egc04WUwUF4}_JH9mf);5E7xGxM~C`{JG~5+_ckdlG@lD50Mw zVG2}0@oj<=+bL}~`>ZQT)!6+HIGhzOiLtMs+oec@{sbUoVGmTpQZwx)NZkcc*4RKy z5Ic@g3(42s**90s%=LM1xAEmQ65VOvH$r8PcAGH)q zUNPG<8UUfSD4*a4(cV)*p(%o|71bU$onRmy^%Zg>J(6h~gOPJtQA@FHj=jt(x8x39 z;OV1HaRd{tZ_#>ETCclqG_Sx34FJ8>dKCCYI+Ah}eY9y)q$kT7MZbZ|x;GZp^SyuO z5w|T@CU|x%mr*OiF>1umH&$Q< z0qoI!;eyywbEgO?g7-fQK=fq?@DBHo(#@Ybm_pH6-Ha^Qj2PaFRgb!s4hfiLe2 z{`+^UjMJ!31pb=H)>Ib*485lP_o|DLr)k&z3kfxHI%Cb}Io;Ksui0Z*?i+Ztu(d&~dSI(SzHL$8l&-QNJb&`8? zY2?Y3KeYF%lW4JQ0}Ov) zPB{@j^LYH?6E8gZ!ixWPjOqw4P9ccHDyqBU6w2CqXUd+;xM#@?JsVEQs4N&wL!8(; zvbqbjTn)%6A2`AaEn~ZpJ5TgH;J~onp^C19Jp1z%Q-thkGc@6pRMJ;kyTTL~fpVve zgB8Vt16fUe1I+Fpc@4PW!bDFqB{SPr4)Hf}Pj<%@FS>97L4jo2HqoDJ z;%~rGEN~*NUp!m!KqYU?=?yB42%yKLaf*~Wvz~ZE*hq;YQ0j-$WA>m4uV^BG8nuH_ zMl2aD=^koVdcup|yeqP5(}L=Hx`Kuz?Uw(dv3)gYtOxaivx=(YaqOV9%WqJmxuf!+ z1L{ngz#$DclA^Xwxxk6)8d{K}{OH@dpvwcztHy_Ow30`<@4N5CiIp1b4Noq3V)V{_ zyv3Cqzk4%iiUyl7fF`ax?nW_l)RXrgFMlP^C;rRmxKm@3o_Y&3GL(4mlY7Ug3#<@J zC%i_=E&$7_7}cdZ#X~iKyD*~HZHq6v=%Hns#np<@5kw^hX;^p+;t^N0;UKn}&M8Ea zwxF3J0AMRksy>k!{1NXTrl7)0k|Yzqx{Hi2BxCODltUT(K}v2uBV)(PAphn0<*av-Q^|wVOReQ<8mRY4CaDI8;C1PQH5_^uVOSg$!Ro(5vA-c zXtD`aVC*!O;pprs%A;0rY(X3cNbL!qgN>j5VVN7c#yIQ=Umb@soX>qJY2@k7;@-iQ zTZ}0_4p~Xsv_%sR~n7(|OTc?A_{WI)21;sOYBfRb`@hO-^O0=68FD=tuk5el*)2C$AnGNL<|EJksd zJQH`m@POicVwRBG+%J5YJl4r6Nb$K}>i%;W^#E}&twh!(k!b`sg{X19b4TzFFuGO# z43MSx+ynHbB58sSbhgrxXWsvl&+Ay>6KC*(%!DPUMV%s*&wGMEHxf@fMwD0q)6Dul zaS_o_C5#QwOW#^GGMv~@Bu@wc6Xlnxh#kvHA5x!o_@fgqU?f5=nVL&(RS+BgMMhtO zmIF`NNDTp{C;^C(v(`c^OEGA0^P>!9>c?ERqVdqEhxZ(^Uh8H5)$~PtX$2-ixlC%7$G3q21R@oOO zl(lAzUs{Spe?%4sVC#>r2vrq!h8qVMbSx+fl@&-8kyl{F3SYp~$dmTYZ*LxMp z_f8WPPeArC0~H!j1P55b41HRXwtyn1c3R;(xYLDBl0{iM zR4cqt1<~v#D_^(-GLJB0Gx%n`vJGFQ901LA1z;x!d%(m3fS|yBP`Dp^kS(f!QGFE* zfET_NL!fF9OrHN?cUUAWO;W|&-Sp-Zog%Gsx^T9ad>KsC)iPdowXI)-Bmg8t4or(G zsn5(bKq6w;)Zlxrf>a>T)(g-lEMO32_9#`Myn@QEpqg8dOL@PU>J?HfmUoz0NrpX>Tih(y&PwDclUR@sA5KG@Z~!ok zd#Hm~fC>K%xVD{6l&YJ#<4`y9WqfSqBg#;c33UqcAnC)b6ZM4)DF%9JQdF83-zdgk zk>bUP{l*eIpa2N&w<`=~4+)dX$%As!8*uKsQn+`5gIbKbudrg22MuHsu?Kk+RY#B^ z#MX3Pp9Q~q>Op(DfADT<3Xw9Emlmum-{e?C92r`lnRi%kBbF%u;}FEqGyvFB{Gu&& ziZ>coTd#G+q8Fc>#=^-iRLDz1G-4G|KH#ln#!1|7q2sAog*V*(cwuQq8Ml;WV66X# z12c=6vN*}%k9-9k32kTPoW>~c(<`E=95S}JFgJKF{#br-L9ucfH;!>W`>YS9vPQ+L zy{`X#(3W(SCoMW@d=KC6g4fMP3P(5wMm1+22&`$@6?YOulaSo($DM)jWw%{(&>97ZBr3UbX#7hpkxP|$Xop^(m zyb%!YK$2HlDs*#*LHW7wnJvQtn&dMLrE50;S&vAGElev7`Aa*cait;pm~LW!HAexA82VT$SNS=iaYxGv-G%-LlQ$o*)J)? ziF>#Qh0>wQ`I2t4v)8i#^YNeMxC;yUi5GjmGBXyLQlA?nzBe2$+snYIvI3C^5dQy& zI~n7&Q+S6s44IMu88du3lyL(9`Yab^S135AvqmZ`jE#W~FpMaVNELoT z7A0vGk8z~*fd~fKM4UP@y3-C#tRNv|uLB~ASG+-nEQv}f4pT_Rpzx^&@Pszqc7TsSFRQBo-K%urEZ8cRVEr zp^z$w2&#mr^DBiX{J5GVHc)b%hB$&>D1Bg%wB_?%)&6LqXxFft_LJ|Ns1EnG_gg_}pTroN>{yQt*N4bb z;)zcgTcpsmqXA)5LgK}tXbv1wHUN_@C-8!5rB_aMhp7KM8kh6W=Of26_yXOrk}~YwbsWxY$nk zvrns%%3&FU*iQ2Fh|ln{mf)B?8wgjs4R|3{&TUf0+t!wOhf;8g=Hto7HLQND+K%Oj zGm$x07!D_Lg-$SqPB4Qm$QkUs&TBi)-NiTLyf!Pig6q7_+6}fbNMhsj3M2@}ruS5F5j)b2A#iTR-MOD1Xs*Hcn{LEllE#;`vHR8O?>DRJFy;6x|qy0MD!>IJg_-QjgF07@fms}i~$Q)Tjs+t4jDC9A-6Q?f!Pvyhr9ID;#8 zMy%@+eiGnXj70@BCKD;)7{=RfEQJb*EDryUh{c?_JtAA?F}Fw#q##pJ0X+=k%H9~} z5Y?G60W^(!XcArOlSAe!66>IyIW?|mWxu?n2415#tsWhkV5H5^49%{{(!kWV^z&Co7V&xDHPw;};(wDaz#mk5yLavvM6I?8H(o=>-YE!6E zvmOi^OX78dQqa{d=G88a-P+Y%eABkG5I@~8Wjfu|wy=UI+6&jBj3V;FRfJ(8_0yS{ z+W=V3ya?h4KxmhUp*21j@w1KVkmEGXimW&V-r$X`9orOv*oXb-=^zPl7G4jATs!LH zjF4EKC7kIQq=Sf799@pi{bt!}5aIv8*-khzsf(;Z0kAa^OrS;(1o3H?h~OE_3n#FE zW%V^@7DQ}>3b=H@aq5KX(66SZvTP+5z%he+qs|j!P80(S6myECwgNr$~^C@WUp zKBmWNJ|$<;%dj~+>g{aamXK6w4lm|v3s`1Zkrfm>?yoLuEARpUbb~9-Q^EcRTxt_j z*1_NT948^#-k!^jJ`{%S=%fEb!K<$6|E;L;hQq5!(on2zxh?P+xq?Ki?1`*lq zK4mjpihKC%)7A>oCT+eH+s3>-kn>!89+xQ67xwB4jR{y&7U=)v=Fe?N0yi)Fw#TEA z4T$&x2rJ_8ur~ye2tZ!THGHJ}Q(8^1Ot8q-ujzwf02a?lM~Wjy5Zd z&pw0PsGg3W`H7LPXY~Sgme2VDy)&4kYdaFmi!XAi?PHmZ>>0PIAyjXm9wYMpFlrq3`(@9QHZ3- z99_z^sl8t`ZSibMwW`lno2+WxD$`!8p$0k#zt7Ux7B3%{e*y`xBwIO5z;9|A(|` z2E=<(*n`(kpb13Ye+(ie+II~`xDadNCD2Y$bBQONeG+yk5E(%9=i!I}_$Cklq;S}i zW&dagaU7l18dQ2|Q(5spBOPYp`wc6@atM zUPddj3HVu-J+&&@YqW*UC6FX~a_iQx+J>tYtp~AcuDE8|g4(U@_SMd22FbRrRk$I0 zqg|NBYZaveZR;;v;&B)86$K9+{2{(QWulv~gDT;~xDYG{Z&zm83%5#Yg!| z-kvD%=P9Avczlz$t7<}>lfKe^1QqCdN_vNFF`2ua$q)cpT>JceNXG9TxNVy@#QW3ZUle_{{k9L- z^%f_u+I;E*QKkGFg-@mT{2Rz7=qEM+`bA?7=?=mIXc10@ih&Wa#Q={-sA6RYHWb{| z*dRy|SaFacVEN1zw%3qql?P`Dl-vg)0<9C(WrYs8S_VZoywsRZeJX?@Lqx=x8bZ)r zB;=kC|4VbVhwyHLIwZ)v3^KYT5=4eZT%dW(mO>;t5n@cV-wHn?g&;Nrck8)R^wcLi zCl(}q1$mMg<1&!>%rHxRThE+uSjII5V2n<)V~Oww5njcQI*IDzm<%{O|DDKrYuwKp z33a{;4rFsiyqF#Fm;k{z@iVJ4qUZj@$3BA5iIyY?5UdD6MM`9lM8aZ3nxjSe!Ny`u zgrHXlxDdDziC(9)&>z3&uG__tgQh%X_Wq-h8wxT3t^6Lq>ZQgl(#neoY~+2?qNznH z%9adF3y3UcLI%Pmm=bx@i#oZ=ZgS9&gi7Y`&ScG@k&;0O>>&I&h(`snZ+x%;LOUx+ z|48LzsDoZQXU(MO%Gm6aP&_%5hb%|S-BoLdhO5~YcKNw{9`r=g><}8|IZ-om=9kZF z2g)wWBZ#u6h!qLV3)^=X)=5E~hT~2H-{~RHkW@h(9UtOWbx+r|12H!Z4M=J9&jvo| zd(~8k{_t6;i=c?25~3MKj!M0HwkVXp`>AZ4s;ob$vVpuZDbUdAPU>Cmlo|CAO1Y|- zbz1dAEp#2tZptHq#)+IMZKmt~D9PEKHJAOwk3BZZ*1)o>6^g?sOqaG(iXhWf%ggH~ zA4dipan78NV<=q-70W#t)2YZbY_!O#sQpo{d>gTsXz{aFj3{umzIrP{4M$DX|E3m^ zvdYzFcV$<$p=@_F-I)X%y2|MV3xggxB5XzV+s1WvX;AD40EYUh$bvPvBJ1VuV1_pt z?pAaISuTD8DP16Z@@v84ToT$)x9D=japHpHdwE4&mdTcBo}Zd_qoja z?0hlHGQ=8DuPpP5K0{)!j!6*16-?32wwXW{PYgDhOm1)ErCX7xRJ=4AU?h9WE%X@F z$Rds~jx{LOKS_9KSoN1&q%dQV=u&1IPAyd@*4zYcA;7^x>{g9jN0#Ym|H@fHaj=%y zM;Noqa!oaITA8(&If5iKdluDT*W6-2pj-N!ZuODe=ot(-fiVj6oeS}sQGVjmm;2ouQ` zBfRvk+M2f3COU^C`iHL<@@Zlj+91k~wz7Yr>|Qenh{7h+kfGb;2iEPemo^-35g%{NlMC{G)XlF-}*-j^<2Ubj6ZkksvQ8iWi zjqV7_x7E95xWtL$l^~M@zHB4QR}UVffe&Wd>83WisXf2EQhFgE{~vkCLmnBpz@-fb zMoH@^XY7lQNyoL3_{1L)Z^wpOAvzDbw5{E(#wL2(`R%s6D_P}*3!UK+Vf93i-H@kS zz1n}7i_$lZ&Bqm0=AqdFu|Ixws5=BbgRMcN`4ci!>7 za(_bvc1D%Eq4=)y!t1^7W|W>R4E_7zfAt7nzK_^-7yOrdHsM|`0U!J`dIz@!##a&psD6L< zaFT^F4;X(jabd&J_=kQNh$DD!3qcnDcS>I45K!@gf>?r#|2T+`xOX0*cpW%5Wa4p@!+tU$ z8{UCrZ#aZJmv*uSX`h&c9YG3tMiV~9KqyoboH$t=QHr4G5KAa#5hshTw-K<0gG|_T zkCR?B!8=Cy5V$yt4WVRz_9zrljQvLuAp~sEQHgVdfJvl)IrwdX6^SMYh>#eA-B^R6 zIA!1Fi{HqNj_8f&h;XvO&cuu2hj6jTj8M013{i{kwTjEwYxD??6~S)O$U3E# zM94RW9k&tvNQiF{9&jcbCpV9>7>59t6HjGFo=!*}gg(V@1 zAK{Q2$bTK7W&znaA9zVBm=dhi5khDZisx-%C50Av5qgt~IPn`AsZ$0=k+#Q&MG1c= zfk6S+hB9G{6){{r>4RX%L5~-f-4TGSXO1zc5;rDq?zj?*c$4-h5jQrMn^@ zQANhSi%oVVaP48I$>xku;2n{}i3ld6u!*6O|>6Zuu9x2%bjdn!_1hNcj_+ z$)27!hT^#r)Coe+h?qB_kMSuGbZ3?qBbq?LoHA!;Y~hqkQJDc+5c5f&ypkd)c^=$3 zhQi4egTZ}wJE{IsY@%VE`!9_&c6dt;y3DKAm zdXQBCA}pFED7q9k7^YK4Z(3Rq>|_=5wo*n>HXIs^fr%&v<)1#Wo@sgztymTGv4=E~ zFJ_u0i8wP{W~cP&rw>ZUm{lej9Y zt|o;BL5agUb)NF6i>at=%BVPDrKgIajd~CgWU0Q2sk_P$o5~cN2yO+)kjW~mgGv*n zN*`=7r`t*p=;4`VK_3$usS}|Q!8WdnVxBS44kc=@x%87uT9Av1aE&^AN71M98bOG) zqHZy&>)H?qx)t=11f<}v74emPM_U-E z6t-u#DNV~^@oGS&%CvRMJ>M3ZUdgpdu(5Q8J)|y z=ph*{_ZcnG3cR}$JJALc8@#_Oyu8~ERT~o_IvDV(QoPH!1W~!KyP~PvvhZ3-tzf*a zVGAwsy0;p;Yzm*W|D(IT%e%rGyuj!I6~b}9n7h29!N2G`hbB9{m`kM|5kh+;yi#z$0&Ktdi@&Tw z7X<9Pi%Ya5VIN-6yTCiY`J2Kjyu$Db1lG&DL244ksk|(#!lY5dHe4GH8WM7$y}-K# z-HXFQoWC8s3FG?}BdZXf5x?B4w?mx2z^Nfo9K|fW1?g)NAPcuO44jT4#Ji!CpehxJ z<-|}d#b!*!Pn^M0z<{K1ym1J>JAuM!yu8UMz!Q76A`!E^0maq9$FBmu8?nSd?8nl@ zBXbOrAAuXu|3StpJjF6+$WuG9TidIJn;MxL$Z#CQTr6)>yuzs(L$BLKE{wq5Yh<#~ zsUu6bm8`=+z+N5M2BvzsYr7$m8US3o1zR8m5^%AdBf<@#FnhboCq}XCs$8PO3OMQ$60pXk&~QZ&ZLopQn%O+Q475*Z(QI0m1!1{B zfzYApkGH36ga38GnkfNoJg?HM(n8B$5YZBOsESEo#nNXM(>Br(?U=q75f#nT?@EnK z&1FBK&2=$|WcLqEES(a&Yts_UPQ5#O2+m186Bn!)>KGZycC8y@l2U-j4FRZM9l6el z5NZa`Yy1@b+!r)Gzwq3~6l@s8S<1@0$!{|rhW($0J=UGvCAw-T15v9%{SvGq1s|Q) zh4ByWoX6W)C!78kK+;cb@!`;Uy5-BB{6GL6uVN|kf%`^?s z)TQyn5C6q*(`^#gD{&$f#Ida$9m^0BEZHx0)?qT&2grbTaS&bo#Y2qKLYHeJAr?Xh z8;sn@#j(Sid)hVe(Gr5$mD-LEwWV>|-9v0bFZq&m783BommW+P)rf*Do@M z*&P!js-`e%$q)V|Pq$1TAsPlknk53eTl^~H$2m8#%L+Xt@STH8-O_^ntU?T|Pv@)` z@g%6H7XO{XGM+rPjl6N9*pEEl1Hs)|EW~!!-`eF7kW%CUlg9Sl*eev`FhOZjKDa|% z843lH(#B&PQ7vdL(-;!MgCh1@X!QmsavcB@f);^j+m+cz?@Z5e70}toH0-8{hylnEs>i=Hy z?A{O+pYjF~?-?&E0Jb!|9obwW^0!O!I%o1D=``>DAza?_I}SB7DJoA)rNCbE3~}== zsUjH9@=*WjJ9C4dBJ>E6;=ztI+pcrnzVxm_UxowoLlX5WlH$Z{BxI2E0ig3*-zYsF zQ*2KoV84+;w-ee<_bX56c+c^V(+1?(_CqZ7>8Na6%Mmx9j>dlEg#0G}=JCjW|Q0ABcUPjL9o_ly7b*nav}FZ%FK`3Q{n^W-`fmiiNdGPotO7El zO&PkJzg8snfgkXrufhnu+NS};etxsv|Hb2;Hr3Sdkbd_G;lf5d&(AxD0Fea1z=4~7 z1wfb(;Xj5A9X|X=s+B^D6)h?R(gxzjh8IaCAV@ID7E-npHf*&?0+5R>L%xLBQszvW zHErI!2q4KsoIQR11R7N6(4hZpNf}5~>C&1ooxY@*Ai$PZ|LifeXs?wNkOQ~ayU3Aa zD^g1nkP^G`A{m%F!BTu^k4zGqPwggUnpdyFfn?t91squLV4t=G5=M;k?%kP5{5q6r zYg5-vE&u)6i1}eFGD{sd)ci2?zl)PYO5s@%G)lTO7u!u7+cf|QfB$9Q#+@6dR=m1z zzh-<92&t= z6@h$J8yTs=>(L{M7y8*gR*N48?vzQa?6zYsCiMs_=%51^WN@!mx@u6b0=ugSHI8V? z&aVJ$TWG(3$Wm%Dv^-pkAm=O->%@vCbSgp#0g%EL4qc?N#+fAR&BmZuY>}c(AkvH` zxm1M9q0v_RursCf6D>1~{xMC0c4o?qA$ugSh(`l;+;JfMxC9eS!*UF>E-j%_C<$A{ zs>vQ1>x&M==SJMGL;xzIGOaD7qUcOC%Tx>ib0K(^F`Rv}*dr9tBnN zkQ60}%E&{~`UB}w6a~~Sp+yNww5|lEEHzcVX1wVj2Voiz36teT=z_u+=`1rODUSKg}~^z6krAt~BYJ zdo?&`I3X(b-BBGLNQ!z#W;tn@NYOXZm=TK6TW*c?7XRU&J_gcBi$okb>v0#36<(OV z^l4kA&rZk|QZMEg>Z&#dDqyBGF1RALtUif3uuT>_-hrg-NjkL8F1BexpAH~uxPOw{ zv$yM}=p(!nB3bA~Q9k(Sb@?0oZ2v6Yx9!9qj}KrEeGWCgnlfI{?vXr!C^2G0R=)!g(*%chYem zs&S?0=GpFpyVlckKm8ua_`Jc-er0smhSm2q7caYG$3f=Q_{wD;8ruL6tWT9Leq0J3 zP1I(%F!_#V_zT?Wm;x;Rna_V|iCx$NNWD|tuK#8SNPISMc+VVK|ymCdv zW8Z6`Xi6h8=Xvci(VJfV?qs_f#xQ{(j1XzeWs@zGuzM$j;Sg77ANSRSe5^Cr1=9z> z%TaHD*1H+}fJh_3)udwFJKPEHccJjb!D;GfQUv_Jca0*fN{}xLYnA zl0m-l(u4#2r65(9P24=sCi639jgaZJsj-kATYFm&OB*s&S?>~fdrATL?h??$Q*M1grgEoh({M$$Z2YcgVuas1%pbM z<)QK>E3K%D_L)3OqViiF6R260s*vWbE0k5`5%qd%6MvFxtMyDNMQi~CBZhI3Nu6g* znFz?$-7<iFsiXzn^Nf9gA)CxsG15M>cenHuz ze)FYB>L(^!IMbFiv#tg0E$|QuR~E_Dr`JTTLuXsurF534d<|=ZE(+DmMu)l=$?Y%^ zB2~wNl)Dq+U}Jy!Sn}#+wK8FDOPx#H;huFVHN|E^K3m_7h<21b{cdf|+ut%07$Fp` zYy**KVbF?YF1ymILg>5SxG2`DBgHD^PWwX&PtB_~VOo0CD@J>AORdEtih?-lEz}~U ztqpzaZx_2z(_YfZ*lRIUCjYDux%AbqNaZkt)AC-6#8;M4xTO3|vgr(~ zz+%dnL6? z6gk39H$K>D?fY_q_1s=eLQ)`RUJ#mF7~LahlFi5C>~*&mXDJ_)%iWcv6tI|8>0WZu zOVzDK@|a-_|24`a77&#wV&&w{H_K9f$f@!B$_N)}#e;seoLPL4R-o6LfPU_kDV>&9 zr1*Fm0keWhjq9A=w?G2a@6WQG>;fa(M^1k7Hv!9O=E$j*g+1qp#l22pf1B8=R`H6- zo!Q}y5Z!j7HfOU7LOHMHMoH8A^&^l=z0ir3J9pRzfCLm<=pfI# z-j&YeqW68kf6uOftbG&sjJud3Z*by)Gd2K(Tjp<$Jj&U7k=+^n=(fhZvYTTT6#my` zcg{Mos;>CO*Z)29s87Au!%L-v{DSY6hk2z3o^Xbw{o{9ENL2ZXut|v*dZK>~=}SwK zgD~HR!GC<3ef94`ZCv~vAB*4{RUB+`<=3Z2JjuI!bxrCU{Hm9BOIp8pm&SbR?%llO z0j&5ym#&zc{n$C+qPvrmyd?{|Tl*Z+gDw9%JnT?Eg{VDZxsa_Oh^ojr-NU}cz?^|_ zyzm3Q)RV5=AR)1f5KUtjPBSa#%L_{4vE|wV^m@PdQLF8eKU5>VO(;QDJG-yjx7gc| zFLJ$F^SjlnIQwunK#CFeqqZUn34}SV-5b3T6t1N^!L2jG00_GzRKm++LiF2+Y6}c0 zAcJ-op8w_}g%zyA3gn0c95T|=5Hmc#A}m8$!?+P#!pZx+GrYiykb+Gh1&OG(YO|Ci z;FCrJfKWR&M%yVX+CDD)!Z7Qk-Jn7-9K+-ztK|!?<}1L&j%vISKrxr0d37ltYJj!ULH`50S*tlE62?Lt`X2s_BU< zA-|Uct_*y^3Tw53>qYAu!mkOz;1I@w2*SMSy5P${)+)MXWJW++H+_tgL1c<_^blYa z$p3-FxzG_Fx&22tbsxD}>z0 zmS_byOd9h`$ai!IQfMRfpve8ONUE&LqRB@5lgay|i0xs)JtDh3EJ;f_NtB$ksicsv zG!f0oJ-BQYBvcv)in$pHn6fO7vy2X(tTUGUo2%5uw-n6%E6ln~AsDQh=rK!wl(-w> z%N{u!f+(dX1RlYxi7-SPuYc@!hPbmutMNwN& zLXyL=LaXa@yN9HYuK%pAvJ#Id}TO_lV)0~rV)z!H*(8{t!n zRv^azgHFL*o+%{?Td)-OLrSJF%%Oud5A)Cuz0Ttt53e8z$xI9zB~ZeUjQ=gTv@!M3 zO@m0YlE{hl%pH_Z(ew@g00LU^3&4!1?@Lqium@7WQr~#at#nQI6jHss)7s39{~!rJ z6{a5z)WNV)41Lr$4Ni?TFlqcyoukb^$yC&6OO!&>N@WV`X$30GRM8Bz*n)!mQyERIt_l;m{EfO~O5sVxIb8};fX{|&C+u7g+E7*<*%Tu~$TDfN zEcJ;)B|_O7%P;-VMite>C>k>z51jl}L~RgZ6<1A-QYh`vMMX&>9k$p2k5-V>1~FI2 zYFFO?3qO0-NfJln*jD&^2w4pZ1eF5)WYb1u7~;era1DvyNC0&yRsY}U!eraj1qm<& z(Nv=JBRL%m30TlpkP#V)lr|s*Hf>g3S=Q_8!Fhew7y%T5i@c0o5YxccrqIw+WtCdx zOtYX0=Fo~gc?obiHi!jDEd>H{Emy6>*syGnNaEN@0#3@*98DRJy-3dexYRf#*lv4S zdwW*jlU4`RGfE|oZkpO$?8ct06oz#iDP)~DB#7JE4_mcH!7!0BfxK7y#Ct6d<4anh z2sl6-R5_|sdIOBk^S;aQECXC5W_3ho-HZR=)$xE&6!cZ^*sI<=#hv}TqXp zTD*!~+0EC)D6_Qt#0MY3}PJ?#SDe;r@0`b_bvS=n67n#>DrO|#Z>3!$aSz}SK| zWG}C7GUzg*$)QTPo3TcLE^&OScHJ24+SLWdyB(uvECoCRVZVYALklIIP+ZEemRCd_$`s2wAg-PqV;hU5>GGG)R!{St#Mrud$>IW=r#GvSP zO=sEsY4Ql_)q7_-bYTj9)=oYUyFSLlCJcY&XOZ-0=ICpxzGkadHmrW(XI0GGm{QHo zY+kl2iC&6>*y6m_YfrprEJ^FMqFJ`?A^$aI#}5V^^?+z}jmL714TN&yq3Gd%p6c=V z>p==^dH#-XE)UFZZJah~0!HVaM#;t=kH^-n$R=t~HR>#sjiOOzakg$fH15rgv0*J` zsb-MprU-)mUg;jzp_YyHW^ZP`4V{K>?gnckLF)riYpr1({dUW^D{odDR^z1GXncJ9#zY}pg+^QLZ#Wo@R$?!*vb4A1bgJ~r?64)9Jh@#fHYZt!57 zZkhFt3NP*x-)yxFa1Gbv=JpQy7BQF}Z_}o15m#{kZSR{NaJNH@XcqCszHPmL?TgT8 z0OoDC@@V`XRjy`FkMhRF_5Dh>y^VX%D$k z4{>Z~bj0{n-6Zyh@~=rpbN@12YXCb?+euu8kc+)Y$OJ&a-uVeE6 zRUYm<_BPq#^5|hQlk*wph&3;#Hm`3Zmw6C%cVotOU?E>eH}-k|iLi5dac6nNtjN3| zbe3CpNDr-R4|fPxZ=ok=pdX4eCyy=VS$LkgydZe{epsjv_n7zO5`X9~9#EyobCTb4 zj}@#T6y2J$-;WnJ22b>?c2m?KjNxwP>$duzIO$C85`7;>x4m1k{5VM~_~;h-`7C;) zDSN7~`oEt?A20gF9_jJ!R7|1dLSJ&Hr}4W#ZI?fbE8li*pT(8WijN#S!iU-mOXLat zkPG~JoIiA{IQXoG5&u~(M=PFVln2znNtuN?rJ%sNETJ{p0U_UYwI8wtaSI2BLlpGPZ~#kiqp<5{C2zS)+|9jaHh2n)xRcfSLg{Aa}AIn52!@b)Kqnp=P2~blM76U)#kN*<_u@3Mzxv!&L=YKFuPD}{b;&eWf# zBwbpSfZ0w}ldyd<%V1-J4&+|5>0b0~anVXEuB`h>N>wYyHl-`358X*1M|&cvX0sw~ zQtqJWs(WyZ@_N)xXMP^)C|T4-dhKaXHnlCg4!y>2LI!>ZaKH&{fugyrA$&4KBT^Vv z!~X$K+a_gisXQWGb6$t6kG*qbw8I7}?Xxdm0WWUfE1u()N|pa3vYOlX`{Nj#H0USapV?ZJn_|+ zCv4@%y6?UP+`o$+{P5jRRQ$=vw+>dSKGiF`)eF^)c|v#(d%f@LD(yY}64?WO`2W*Z zJ3qyfQf+d#Y-bRU@d;@8+d};0m!A4Da3LhaU;gyQHk?@nXTU2+&8(s;*cHklFCx&) zG-o5Eodkg*>Rx|n1zS2s%*uUy2$JSj^sIz*80o|48j5)vXtapN0ZSj5M9@jsNym*tx0 zlRw_4djLoRDH2#nDz?#hLwwmHoh2PyHN`prq}v`LqNg(MaCm~$;T`h}LYTpP@A`8y64gcK4;A~kDQr4X_b zkluS`GO0LAXSUFK$@`@!kBAjt@-KRl1XnjJS-)e#GMr-TZY<4K6$ObFa(&=$Cre>sKQtt|?!?BRAWZfxI6Y^KJ1~rrzeJk|} z*iobc0DFoB6-ZKN$-TC-i#3_7L{u8et7i0WT0QC-`PPn!eildeAVm@)8e4`!)^0T+ zB~VY<)_`i%sI@61gHT)B&ln|fge0P}=BO;?LPWJQ8*FQV2UE?;^tloc+Hy6-Fwy4I zmSyFsRKKXiq53w5uRU%o$uqL>Do8BkEiW|B8(D-<_aUks9cwY`M8mc+z9JhMeSs6& zw9fRg=yd2=*I8K`x^+`0sr* z=nSxh1^V6$D>(@tZ8BDhq*UZ>v9yf*?U1W_*(?`#%Q9ASXYC4Rsr6i&IHjwJFz)~peD64;w}1%L$b z)@Y0TV!@vs7FB_aUMl<3q71?ErnTH@c}6+`YZ0ib90izdr1T` zdepbwwYujzK`9&37V+z8n%A3Y@}dx|z<+pJ6M@eh?tQy>^hHqUgK?|(+`+1dNn zMs9v+TJx~vBCjOL9mYFk&Y7{HL5@g}4gjSqeX9%x63PRRYB@?o#{dv@((srpf-l6n zUdfKDco&s$zel_Oz|e*YJg%J|{Ul6xduY5YXB@9k0!fg96t=JhGHinHd?y7d$N>1k z177fiFMQtzdOnef=e#oR;9oU82{ zO4wSB;T%CQ*1wHjz-b6exQhDi-E;_z00Nr|Is}K2ogsY=uH}h(9G~)$g5F61+T4hQ zz*kBQ+y*XFJCMN@p#;{whl%|I*Wty@WdD;Msf3q-SJs`K4JN^Oq}vXzMEd1j-=Uzr z4WAcI1#q}v3~Gn~{(|!L9o|J>gq(%8P$BCzAKo?H1V*8yLCK_KM`1^R?7=$uCs+XDg<4>rUHx=aS%9rm{hevT?` z!6UB8sl=k@X@(hM#T{N=9)=)3qJ$J|g8LmLM-tyf)Y(laWH?ISVK^f+R-FEM#J6c( zudL(4WMJRTmPB7P)Qhf-WSWfQL+)ci?!-iLj~)i(OL|^jpkPfVrB&3TNZ#X4 zmZUzKV@hHK8D!!=av~cRWzvP(1}ddjO2y&iq*LOELyBKaL?q|wn=TS%m}H<2ekEMy zSPD&}F3W7$FE zWtN0)XyQ=5*%hM1JFXym;2~?GitC7nDz;)>mPKvc+NN+&G!CQGWE#tvSQE14 zZDU4gXI@g>a2`y=VMZ%7%t>75Y~JQG)Sp2Wb3CU2O^eU^?UVntY$r+C!Hp!EkC2q;F_+EcZS zQ6T7TWT0hY2B9p_gF+~vt&~h?Cy`tqg$73~652@$p`573EftMJ6c2Bz2S#>fS@b0n zp6JOCN@a{^Yy!t}BL5g`IO9xk36TNhj>4$ttp$C`Xo(8x*p#Si7RMGeos=HN9`y$x zX2rZ&)Q5s-WxynZnwFMsDVE~rm4fBxROOL=#&X)rX~dO!RSxP{XMzqLi)v4Lw&|OS z&5ETcUm50tB`0ni-4v-zvKR*yCWZveR$t1*qQd8w#@QFX#km~eNt$S(4o;g=8dFSY zXEH@?)J2}2n`N96RmcZc3gV`E){mAdMUJYv;Hs!z$bm9yARdO7-BQO?rTPuM zjD?@tY0}Xqt?;U@3J$OKDv?;qi-xFZgj$CR1}XehFII*GU=PbB#CURMb0`Nk!d!z^ ztD8=Nb;2v@xU02h zge_nzu&SzDl^jGwR05=*!YK&GCP2nw>_hw&kk> z!H!AF#_aI4tW-oS^x5okB;CmhN6qrA@W|_-lE{1bYMl!0l^7JtBC5i+oYL-U&}ybV zlB|%T1iMzy)JAQ?;w;rBtr~a;^8YtjjV4|4rM(-ly2!YR#st*~V+phN_-1 z#iE)mO~I|*c4wl_ZTFz9+y-DPfGxu+sD_?d*#d6;2rkPgUD$d}(|RrAHZIzh%0i4+ z+ZN_YQ2%0d#@g0aF8vTKxaABF)V9ZaF&dx@_X+a^zFEFJsbg{1Q_1YA?k8 zD*G;7)^5e8YOm8mNbB}*;KHx{^r_VvzXYvzUw z&;PIa0x?MCFh*!@5iiCEXRs10RSlP}(P9MC+^-@EZ~dxh-zG5OOmS^3u0=dqQugrs zlCc<%F|HcUacD8Foy25;@EV6#8)HNX!{zGMryAF>9eXjT#)kmwF&b?r0s}Jb`f)Pd zu|@Q0T=LBk*CrDya+49NqqPhn4-6k$G9`l<;Sebnhuy|1rAS2b4|npMeKCo#QDf00 z-$dL0)-5WVqJwI%9(tu5M{%6avLeKD01z`MXR|iv=R=sWF`{t=)0{XPq&nNrEqn7EKmW)& zE2ZCN#G-ifH}Ba%ye|FCGfjqPM2J~OG6;HFX=(a%Qufy8VDd6!Uo-z2LTmG&+B3Du zV<~U4a7Hv-axcRjoCKFgeU6Am3u$CRgcD1!*kSbajVsSJ!rwQf6~IMLs7t0}D4vpsBhx>w*lnbOWwV7`DAyWPJ8^&;Isy z$1G!C!~%x5csm71m-qRi?sup6dYIpGw6}Xd?|JuZJEE)MZYp+9gjwHr_ZsPNPcT!e zA!@P&wbTn|;)bXQIDW$$b8GfZlP7;7sY-;OKv+1*1~`Q8E`00u)de7j2X=M0q+IeU}0m7nO6!?-MFv5|YGN&r{h zqPC8gdDId(YM%s?h3}fDX*k1Nv~H zu3}6n4$e4+qqyEZqGH53q}wdoO}cSk`fgv$qjx%H8ullSx~L=gRa~^G+w5Jm!oX$) ztr{$=x4Lb=x~}H7o(K7=oA`H>x~{_|Y;&V_54(`^x@Vf)54k$BGi^=E6Q;GFb4-8xa7uPr+c>#n>8E$&78G>4Xa8n9j43xF`MckzPtW7A z*E?J)`?c%)iEg_w=DWWqB`|mSrw#AG$0eRCiNQCJ$ksS;COl!f^m9YmY|gdBH(I7z zcOW4MRAl_AGb`ye6?kwu$SdXHoFL;JAje;%VW3{#X(1^XVl|(9VeSYc-d_#!o!y0c zIjuwjNJ9JZ9`XgB(c3(hreJrg;QD_MAiCwasT2wLMPbI?Upj)xmtQ#uEck3Aj#PD+Q+N_j_0hZ&VG+5#^1fCzrEQb zdP>aw-vhqV!sg)n_tJUR;Uj+39_MQFXi8Aa<3s-38vp6yhhl1~J?8VWq;7t%Lo!r< z{uCQso+n0>3%luGu+EA;uD?>!QqtiMzvcC1NvDO#AT!~8ccYplye#0N^*OUJ& z_j#9N?f9#I|LUk`qci-EwEV|*XK{c1`!StTIY0maAfeT-00$8!RJf2~Lx&F`MwB>_ zVnvG=F=o`bkz+@XA3=r`Ig(^Ydt?L()F?2)rjjpV#*{geW=)$napu%1(%zPo8B=bu zwUcO3qeqb@Rl1ZZM|%oeNl|$*Ws+74pElLHmH%s3uV29y{TJZZrk@rC0wI$%Y+JW) z;l`B<)|S+%6H{(sJC|=?zkdM-p4ckMU5PBO3Rb+Babw3xd!CKRa?4}OmoaD7e6gL~ z!vduY-8`CfY14r>B{1AD<=WG)VaJxOwC-w#p!d$!y_#l}0aB96O`Usp?|y4DzYRd|ck}1bw*@{v0r9cv;m4Oxw6kr{(C6pZ zzn`R8@xlRcjlTg2EYKpt{yRt@3EDBx!3QBk=p@4cNT9L^G0bp3QYcJ<420g(P{a|r zs|_K6$|F(56{TAbI{;i_QN|g2BSkd@lmEbPI~sZH(J~WJ+|kD&iDV483S%r%$t4A| zQ6Q_Bj8e+E!b@?=E3xznxEKw}(#tQAG7CyD$t+VR!lV$=%r)5z>7)zWj8jgK+DUBA zJMqLw%{=++)6YKv4OGxU2`$vnLlI3>(M1_;)X_&FjZ{*t{F&6!6}!AtQ~pA%^q{Bi z31H7nNj>kMQ~&wJoijc;Lj8SFn^*CDpd8LyFjCkOaS3>o5 zHcyp(h}K_B>B0bFzj!sm5DSDAA#Fe6w%LS$wdaf~9ysEGE0Fy*GiKGLh}L^-@xlTF z4lv-0Q|?K&-F;`H^%heCaN>Xi&i_qUMP}KRF5yoZT3A#G8PYc)X7yzjTUp1V^%XM$ zaDZTYU%7?fuYS3wWRXRFlQNmL;$XE z0fbP`3#Aa?rQT(>E|73w)4Bq_YWKEReBugqs~g^+=nw-0zz7DI;uRCpw=0}sg)Q9R zWo*W(=}|8L1~5VcoNzi(#l=9mH;;>;IbxA$b7`mXVT8xI!mVM=OS0>@CNb;JcSDl zQ06Nkg{qRh!V?Ioo4L054(f!8e4S7rB7v4nyItUfE>j`$TKGb7;xYh3J4g*rk;7>< z;0iwUB4CVmE40CGgbbCL%}yy6h1hLcT>zY-a(SwbWwye z+yS0|!*V^KS~`u5zHVjGM6X1xW`v;Q(Dl)wc(MCr+NH$7BxmsKw<9wv2_+P5LQ+wK{{( zjQ9ng9pGMy*qsi;`&)C--xYw=xRX3(ZCBPUa~r3ka>NUMbmi`M5a) z9Ki~ZRZLbKfUZLM%M?~c>laSzgmZE6xSDy2D<~IAyE>Mw$1V;!l6meAnfJScPMaxE(zUIVv@4e~~8t{qTD&}G@rCBO#j3s@F%L)VYTL66Kgv244 zBi@>FPCDoX1A8orThuG69Hx|0c)YH~`HdBlgZ#e}rV>TOr zm;d(ZRJ*j573MYL00euBl-5jgw+qE)R+ztV-iol!6@ZnI&l<{h<1(OgZy1mfq!t2aC<4-HquUc-%r8yF+jY--I zXK*qf8LG!CxB}KTvDJ9<_5^%k3tpvgg?tmsm@7CymUzmg7yl8hX_dNF_|B9K-=WhNHSy z`;Jr6`zs-WaYRG=!u+W!U069<@9;0)og$p#s6fp zj-cl_{0`UI&B!|+Ne7+0Ic!rb0Cs}gZ`HlzH=EJi0E#hhd6x(d)U=1s+QdfMplKy84oZ{#KK-vXtj`-L2g<}9zdz9V< zV)<@MET*2wUf=j4Qp%L~-U0m@Aa<%H+mtX1p=ts<=@)JY@z@02qQwY2rrpHMh{ot|BT1Cj4twoSE;FUcy(Y=|&uxCq@cPL)2(E6N7?*sz6m=^#X|U@lA#9|8;M z#g7v2Vm##+JR$nXY!_EiFcRh-%)kIt%uF=q%P=S5hV8&yWd|uDRR4OdR)pxl%8V#z z@DewXxaN>408yx};0-{IEHBxn|Xm1cb!o8{>;t&zG3eg=U(H;fk45+|ZzNGAkuG)rYdX7LQ$qra5&}VYc z&4}XHh|N_Z@+W1&t(eT@Xz!z*FO;y&jY48BfhO&0F(GFe~** z;c-Gz>XraFSbn_q0{!ZvKy7MBW|zSaxf`j3lIgg1gZ12+Tj9%~8}^fmtB449zlq=dy>3~xp(=l?9UA|mt?pHwOSi`4D~NfY!XimMo* z&mI;Mz1viXj*B5*W_+7laJrD8H`VgdH@WUCXd;1W*JPe;_f)Xj(>ax7YmE1$9> z7nUsC;R5IdHHC2)$6_8Q)wv2aBThCZl9dUNkwcGTX5B?jXYdt7P;I=eizZ?YF;iDv z!K&zn+4OWZA%bTaVq>h}3yLg6eU&CmhNhsbV5Q}zM6z2a;tCsb!Awjcm}M|u^oTO^ zDAsEy{^1m4sW68mT-fv8IPL%R$|GQlCjZMIBf&B$ly7Pe?LL`eHTMkWa1X5@u#F7V z2CMWZdy56fMGNIlqG0F?+%f*p4HY++a61BM1L|t~R9UBQ5=q1W_mQyXhBxb_EIDza zxV3YU6iH!?-)>W&dczR{3&8SxJ} zXeC;3rBN3WB*&FSMwMre&HQNa4Jv5TBGh04^c}yqN%8$0g6DJ8=wHh z*#L^bilWF|HcNZ7XPna+Xvzqk%UPTY0G{g^pY{2k?b)1}bR(=_DWbA;r}fOPxDy=U zeMo4F87kpgrB!w(qIrjjw0MSDH*d^Kalbg1`Og(NA$#mOoeRJK3SgeE2&l}+0n9m` zq1BA|xd;kirC&Oq$r+v-=$^arCDQB)s^AnD4)ajye!;~f5b(SvE`w$+7AfVTLEhT+a-0F0|o;R{rDU>a(7rkbp&x~!!-s?$2E%i4H;6Xp0) zdv>VYxKt)?0g&~T@c&w?U##&8N+)y$(ToIik9h-C{szg2trSw`zkV6TENEHjQ7>#TU#%zGLd&0{4 zXur^UX;fc9cfOzx^P|OoZPAjdc~C-*j0n{yI*|bm(VZ0IdPb>38Ga0QNKSP+p4n zTu)!c1?t7ASoJ;%YozPZBRSVt)Dm;ikVYo(kcH*c?4T5DYM@y9w{-qit;H0IzN$yx z0Do`Kw6OpV#B|E#2RHfNpajrle7*@4Z3rphtnuiuyPH@MsbN#bFG0Cf;G0TC#Nsz= zB#p=THMz;F88WRIPBKUwgyU0^H%F30#VS`+IhOqcYi@``rj2FDV@Je)O+e#yxh`$a zb!3ku<1gtWGr(dCub6V;i}aabiv}ff{Qv`hAk_S zRtRqkxec(b8bFmjh+k|?ciG)>3l5MuL#75AW{uJ2@fjd(BWHuKq(J=S zw5)#i$dAPug}~x#d(c_uh4&=KA4wd%jepz1E^YC9obCxC^xCK!@$iq9-6 zvWfV|&}lUMW(Cc9sJR7BeQ%+?_!*)tr+VvdQt(4Kz;r^`-;s`1u565Iq{soSw-=mi z_}W#=v&*`j6rq_Xdd`5Y$uworZMnNFuc^hgt81}^^=kw#aJD7}wR)z0? zcuuPUVA1P(OeUJB#FKcxXnLOw2#>(R#b64`s#PR2Xef5RBP>r3!z%eywM27PuR%S- z{Ao5X6$wN^*7(Q1N+rC&F7VC9V3YILRHSQbTiitR!B-`XXdeN0tzQ#KE(*{3=SwG= z={^vR7Pg1MPnSHdL$4j%v5aT`*+r}6bTVF+)?AP2rgF2OZ`lkFlFzM(6fB-lZ*&ar z%gG$C_psZqs+4qkv>fSwCLg=?V?N*qwA-oWR5|E9&VbjdX;=yXm9KZ}pSOp-m$}bD zXHZe96^y_hE{L5oj(BtLSwAi6SWL z5G4<*b!XFuRp2oSHEYc+Bn#Bo<;-)Se#RYODHAXXgx1ndD-!(1qmlq9x8qDV?B8iV zihmI?E6|+g#4ge5-*A=umaKCSs31_p_0wN$Ze7!ehSWmS#?h1qmJWd zHL5VXOMxXqq5yB`s@JI&EzCipyv^`UTR0iZE{bD`LIgWG~4?F}TlVia<*roGpbb{5YDw_WY=*3ylv2SyHU)kzB@` zC<@mQD@av^4>!oTOL55R(@~*2D&zf0<4w_4=`gs|v1#)H zZo-ZZMY8rPhpmmO{*<|jwndXKQ`Vc|wLsC`Cw-A9WL$%H9-(hGn`gS|Sd79Ua!A=p z`E5b<%L9Sfc$7|U?{Erdhh(9IAnV#=KGuWuKtcy{J#(2bIp!weC%_k4K$AqEo?OyK z`q{n)c#_{Y|4o~#0;MS2uACwG<`E-Up8{&mHGR9foJ#+T^(?~Wv9`eQwbe>3TIJ^D z`D=Tm&*++z7otI@)874DAX=%1q^}}olu`58rdxDg3IV>kn+63D#L!!JeKT>@haE3B zkDojDzV*vA9sfLuYu=kPiRC7K@V`ZAH|yE9^#dG7?MhG0Xo6=92LphQT=P7ivj~o5 zhl%Un;>-GIIc+wI0YSZc3WgX@r^bd@PVn~PuvM!UcQsw5*CI|{1F}92ySaF_f2|{> z5y1rPp=)z)1DvMB0*(svZNf5KG)S8e^}8ZCE7p&aa=~^_@84iUNRKpC|1BJV)C8`r zB3iWGX1&Ea{I$ z6c5WROpv4>&szZ0A-;2qCejH~ABRSN5WolTP1IsrR0IQRZdqqHF6hzE=a^Z+q?yJW>E1MAP zM~cY zNXX2rA~QQw=Zadx_?C?pJzir|C>3Be8Xmz7eCD~#S#3m%#D)vJ&YU^uP&ySK!7T%c zT;6^pu11_}**ilPUw4)X24EXja;TWT_YC2c9KwmZ)OeUl94EfB=TsS}QywM)@3Pz$ z?S@ zpo_=T6(c?(4(&(r2Dl-CX7Xjn1kENfeVRYQu8W#D@)tI-(tc&G*lRFjJz0hQveG5# zEcQGzy-gWd%iA4Gi@q^J7bi`hMULpOXU=tY%>1>NsLta0-d$1cRwN$u_-X|mXstJS zSlm;4Oqy~b=b1E=G}{SBoys>ycC^*1m4Q%O9~j;4^$rzQU_-^=EJeT-IxMH)9;Z!r zprj3xtmYS#uS3aT+M_za)L#aw>aJF{GU2Sy9zp)7iX|Nn-73I_ zOF*sL!AaA_`g0pb4R3MFppUiNYF!qa0Gvuflp(ZejM8gJ&0vx}h_3sC2sZny!3iNT z7nPG=ajcu9t7*2?>UnchvzuY~1n5f|taiFnOAP6;+yCfRi!<9&x`baQka#C^lrJrQ zXSkxQw3pD}O8YHBD$4(Hi%=j&bSJiF$~kyF1AUl<{=I;q2)frk`*&c$E~ROU7c3pO zh-xD9&r>uO)`LEiSSx0c8Ql7fr)&h);5bH8bav%J2~r3I$6MZ{I_m={Q z#WC9=Fw`VG&=Vm(`AgKkFFJc5f09ICQ)4vC9n*ie(Xb=J&M89aVj>0}R!N1xcA9|5 zLSbI8cjN=cz6IQBp;~u4cG+z(Fc}jftYZ@-HvfXT<4K2$A1$EDE01ZnU-v~9kJz2DQdnL)!+ko4Qi@G( zjwx~8z(%1NdyC+N&7`>?k1`s4$t6L6a~{(13lRR4gNWsC0&Pf-hl_9rm(48xY&S+L*pC}?*42#v<7HX>Mtt4*IKaiD%8R&Bymm2oN{1^!* z8KQ)Wi|-!veXA`HaxPMM0p0n@@T?ya{NeEvrIEgF}^KhsmBka_02zAa{3np85 ziZ}?O%r%os+jO)aGEWx?-cJ=~aE8|nA!QT^6P);B@dlhaFlv;-nLg4l!~&j{IDKvf zCNLa6NrqkIthh$>o98tD-N8q!&caSx>7O-YUu#8F(8q>Ge4tg@)8B&T3V>Qu}x)FfIO6^@hDo!xv>pmAU#Aeba8 zY@p59HW$pE!tCouH(dZ;pB1sD6FfVd(WNEU9F;giD}&Hj)_+>1$Yz>aDZZW1SX#Hz z?$mL(1l4eG1Vmi9h6l*{x7J+7S)&nRic9fsc)$el@2J}GZYkLcE`T#&cB&=ZawYX& z{Je`|`>L_R>CpT-Ak+Y#SmhJ4O{s6A4fD4``>rP{c`vH}f&#$@5w37Je+$7R&XrX_ zLPIB^+*d|H3UC%QF*zZ&*S&7f6HUGi69c*9LKt0*Nk}7n$#)+(_i|FTV8s}310@|| z>TQNJorwRWIg}Edzhb&5K)Iugmq91Es;e@c6V^gIm9p9xeuU$V!|`;HL%7wUzR0~d z*hXdo21Do*IrI_3G%s;1g#qv?j3M~)A=+^+=FM_MUjp6%K1HP5ga%W^QvD0awIz8W z=U-Y!LfGFFykupp57C|g?l;CN!9KM}pF@<3lEs-G<}!|k7GW7Y2;&$?T9`RKn0c9^ zplL)DunNE!F;iFPjb7tXY6!k4^sIobnhg;d?Brzy)3@A_Sdsg;Alhs2TS$uQ&ba^v zE|7(>*y7Xy!&zEE)CLYZx%eyO`6hZXr@*H&5bs?J5FBHK8>0;d_Q1>h!Hm%5(_(q`jSzF;J9uBx(Y{m%s_H@*k(vsNLu@8FH0swi z|Bhg&gb9ru)_aKrKuvft@>awb+WQ~yKl(-jKaf!H8!Q(HLt3!g%!$i_?f5Co=N`v_k+BkFtbCn~<0&1XDBI zRA$^!_(HQ1v6dzZmM^$uuc=)R|`voT~=0pi_>zkz9AQ?S1v05!;C zzL8nAc=o*-+bk6Nv={@{t#j5jG%cLeLBKgQ0-)6$4FgabwJbT%1SL4t-$KNvQDi(y z&Kr1#ykTd3F2+=HC`02bQf@@lP0@c_f!Tg*qiUv=*&1&eEK)+Qqfw+5V@fa+@>yxC zS6~bv)}JNb6_{DWz;BtMG1VJW^{RL7XNR#%*Tk)#q9D)7LzT8|b8n(_W;MAdws++u ze&Qq2lJV2QX&0BMOCVQR-~db~yQCzCm4)mjLg;9W(OK2L>Fkh2)dcCBX{jMOd$^SG z7n7n9lnxLUYXuwnU(q}lOex>P8^_4x0f3eRaN^*$fP3WF&kL&yUi$*F1qOM&5sI>8 zT2L`b=<>Lc7=ZJR@n$hO;RD4a7w^&n$CBGqT_hxdVdVydS<6a{Bh30~^%lM`wun|v zzwf{(rY;e5l`w*GO3}-Qnh7eOVqz!%FhT#4{Ec6u>BE(ypOtp(9*y!Ypfyv!JtKiA zIn|WQ93q`G8Hd*&7?oH})c(vu{dWu} zxSXJ89D-En=zR6%d*oj4D8Fs9F^eTmNiPec*rEHMAmxw>Epk^*!|fmZ>+bTBRuNOA zj9!#|8(tZqoQA|@m+*wl(JXshM2bL^;-B7+2azKbpvj{sOOe&YXeuJNM7aXuni0R} zSnNrGub6Qr;+P>#r0B1Uf{hkyn{ZFh4M&Jlf?}mJluH;$R)EDAAh>ViKi4>+U(mT7 zv~l@B?{7Gi^my^>?NR3*Uio4Xs&g_dHcBa_C$PJh>_D7u)94}lK4{88pL-!AO4wgv)3hkgtR`oz}B%zfQki7 zZgs%x8UbN?l(EHs(3X7-orxQ*@L8(4ZC#)FR9sTS7m*hNI8CcWbuLK z_|8vzKo}>Ssge4)bC{H%e?J@lc(q3R{y2dFc8ggD z&2EJQ)dina*M3Y2;9D&UBQ!*IfGtp--ZrHk;!3f@6F#^0Zi?Hh~xi86s}|pv1Gw)hU(BHW=Uj_MzF?NtFh9pGs%<} zO)?c;-^-s@0XPiEKgceh`>0GHEE0*IxBG7`s7N4{Vu|+Rp+qbU;NSbpo{V z`+cO5P&#ycBkK`iXaq@O4(ENdG5`&3*8WPA>*+iQExLzee`x@^7+q+$3*nA@42n>& z@BVTB3=2grTk;RWs;yR}QL#(dyIYY?Gv>07`F2}Tf8>jUccsz(U=Txjh7I=RnxnXH zTg{4s)%}cMAKvfHchwhYv5|lOHeEGF?^4-+bNoBm*>v63DzDLRaG5eZoUbfIF0tbc z3@P^d%BgO!U1ZkRrtf~CDnVlxMgN7E-1}rIoyAg!PAlL7dtzZxN#^TQC7Zrh zs!K>>?J!g<&+3rTI=e0VgDs0MeS&(;pT9|+T=u2U_542iw0wW3;#DL24x!F+b)S7| zUaf}udJMg3I6`1pLDjvl&9_5P7;eQ_2sN*wEF;Rp3AJ(X$d#0#nx86ktu?|smcFw0 z&e9VXYsvl&d$iEG_hYRqRxa z*S+*xuJZ9HvKVt*er6i)ZxcGH9xL2x_g_Rkfbdf1!iAj`c()juJ;sRcSXVMNVdTX=0qd%1dD$Ua;s9 z)F`w&kpf|>Y1mijemuS@DJJy|tAxse;n?Vi4zt=YjbqZ>h?1>6;|Ti1Ord$|GvegT z#)}YFBKO}hxmo)|J=k1wTM!0)=UP9_(NDgs44!keDIL83jj+miN667a)hLp?_BY4- zmty5=62?;@)Ulc}2L5#40KqxZNt7eRFIQ7|whA_Y@EGVHij|~govA2pr$1jK{w}Fb z#vjVGG%Pb-Cpc=TvS-8bKW#UP!WT`hW9j9$REz#X!9RQ}DRq%%F0;&gi&ZQ5XChfu zj(Z*>S2y?0Q&kvFC>=+0@=U5_*IGS~aZLi8hkxW4*y@F|neHc$;~VNg|0d$?*nW&W z83hsRKRd?p9BTcKd8BxWmQ|N&cy*tq06xu8TZxHcRUfMhiX8)Dy-eNR;=mY&g_dN*1Ts4uEFYXq8q z`WPYaL4XqAkNkrq9H zGaRxz-PKt3q@JUzVC=WNQE=wTQ>KCymosiq1_ju~ncFpJ^hBRVF&o5xqPjkoBBVwAPAYgO~XG2g^Bgp@W<8u6T|9VAdCgE^AC4B0N1Jhb+`f;rNl@785ZWJh` zxVeSFv1yvpbWkj$S3dyio;8IMLx)Qm8!FnB(kgikVp(9ANbN#R(h16xkeLxC&r#vI zzD?kWJ}O`xr{n>5k4VdIVTuayN1qubb$@K9*DpzOSi`3Z>cnO_t4>OYzbSflF@(`M zc=D@t6jsXp-Br{~Elx$Gb^J}1rc49E&~hX9&M34L9FDG*f?lc?4qE`ozG}ZN& zn~|onMXo}7&%_DS!?MO{7_C0-l0)z}mxa)Y!W!2R+{odg5ns^JL z!$q^Jlg# zK{*N+U=)r~)x`705voDQ5Y?V?!FT`Bd=j+(WS*%K15U;>jk6t-1u0ZL{Zfhz&qRMS zChTPEw{*_O(O+jg&r^GrU~9^3Jm;t?1@#Of56f)CS=y#)r$SB|2vn1j;@y6+|02-z zinqw`2jP6ybGYH!OwrBk7tWc>bE>!y=b&LE9+a#$E0#TaR=&nK{EHr0I^g&VqbDK8 z^+sA+kcPE&w(r9n&g?%UU&@rrsQrM@gxB>AYU&xFW%bIw#Th28XwNf`o!O4r&;j}HwPK3$;ax$7IfCfDdC{uo5gvzav zb0Q<*r3f}(+lBwUMCBO2TZ9g?<}q!Wxd06J(82s+vk~w);wVRY2Us#Z!?SwQv6P8= zJY}!nbgyp1n!R+wPUf%X_M=cJf7Mfg-dJDCn=tYYP#~Y(_hQrvjv3=SiV!OasOVe3 zY=JjfUBl*fK(%EiLT+#Xe+vb-y8{?>8f#z`+`X;WD2`%qq1K)NYciWo6|AV(Q{uD! zc3Ps!u}-=6zBTht*We@kI0v5>Cch=lu72F$Mt>0upG}A3d8J7nlIQyqOgSNPt?3=n z75ux$DZCVI-E*i|2CC!LDnRzs<{OumciE|Ie+*Z+Aa z=L`0rNqNHRmwx=!uhp@l@M|F+g*8PTxnP|=zDX`dNvH9jt#JKC%tuk;;aM_0P!M6H zFVF^=MkN1Wik4-8mRao!N{=um95b8>oo54ppFsq7hE?mlOrD>bAf>W&vmLibgoc8V zct?cvO61EQk<95dyh~QGXm&CI(FkBKP+YVhrJ@O+jXGA8E=RPnP?VuZlyOFsX-AZ~ z1+>`Q&WtM7Mn)N{Eegi2`oG1V4F7+zC*=Pj_LP5BI{H7wo|bJhlm9FBBsYK|k!?8} z&Xr82*N9HBST0pAKJ}w-ty)cG3cL6t@l>^5PX_r5BiCjpQL7UcpPIQ^v)vBt9?F&D z7S^rhTVC6hYiIh|Z~prb8?~chJ?$Blp)Ok6!LTtNPwr+j>GF754C!Gdw)4TLKTnK* z_2YrraIr!yNpY6YT(hpcyv{*^zhd|Mv&s5iTqD>jzk&SnR6*b5zuS11Y#LV8b!2{c#((yS>*;r z#vE9nM9>my8i%UCS*AqNv>|4Mb8dBL>7pEZX=}D^V3qjud5rBxGve}Ug^7TWG<{IF znhTRMkfO*^>B=IqQ)Gl9w3Bg7=rW^uqu(gM8~yW0^=NAuHqW&1F{jFLW`j597n!oe zP5z{%e#Q6i%lyiR6k1ay29>T``E8@5x^mBQR{A-X2(DJ~+NzjA5e`XL#OU6P~w zXtlvC4?kSXdREw;ZAU&jJ{{iEBGHiub`8;M9PfPXW-aMo)gz(O=EHJi7#2K? zD9-V2{bUkw5UK=@#tdc9;3NS-P1*pp1G$alj)JM3aZDAJa%dCJS0ZgU*9|_fsAza3AY4^SGAQwyZDPUk64*J%aJOxc4HsoetBgpf zc1jL1pmRKSV>tfGb_2QnbSO3TE*6vmgCCPTGJb-N2m^gQnSd>s-ASokuwB?zv@sFX zf*~FDsQV(`FsYncE&Ab4zvIs#5-p7Tz~~XTXcCuCKnWL#x+@IzJSCsp^yX` z!~cnE$(3;@+>@^ay}*?VZC1*79p1}jbW@0k)0I3BH&V6nlpszK3?HLkT%6Dz&a@ z7kxg;$KhE&VlAFbryhOpB*6w!s=B9M4c-BIR1c}^)~;fbx8azDaHgT8KJnFtC*^;1 zqwix_B@oQjDA9yf3u3Hmnoy@{dO}yNZg?i>vMCD-4AD@3`Oqqnm@SQEsF8;a z6d7(@%e>rbjlS~J(J`r$xyCTQk7aO|&ZV_N7tp)m6bl+o#?=5SPkz%%?tLX6^O$AI zzZ&VNCQia77oMQ7yK`-<3DBx;AX@WU&tBdPSM2SiFstdg+}Ncq$p1@{JZ0xBoN4Gu z_CCtUz(hL_1(f?EloZ=kB~y!%BH9Css`5|~ zX-o_tFa92k)u(K15zVEgrb%@lDR*1qA>SlnwfV%d|MaG}PrKdxXh#K&v;;$HW-qPn za#sxv?s@v^&0W({q}Rh%?xQBI_03V`FkG1Nt0>y)iB$Br1Vm3Kgdes-(y#RU&O3!8 z$pJaZtTi*yjIHi@k0Nl92lT~sR8<~4|S?+N9IoC?wGMESg>EEXjB`I8D{uWRK&DB#LbCrc* z$?50glh64(=bZVqAm(K*{cN_bg)GK1y>dEx<9ar;jESpgarOB<)I(GG-z?c|N5~D& zrq1`+g0b3u5R7<;ViG%vHqvF`u01uJ7_girtdQM(;?6DV6LJ>%%4P`4!vjL9QFVGCBVsC?wpPw?g?!*Tv(JeaP~D6aFXzprhH&> zbC)0nS(%Z|rMlXk5>oD>eNU}5N3sv2y&X3xZ!YniPAK-(y<$in5K--OM?S!i%^M&4 zH_X>uslq*Wndl=1+{(^DEFQs{Hz()w_GovmLD#?cP%S@#QrrC?4e^>z(JTxfR7-!+ zQ0fxmev-a)KDJ-_669_~NFSJwo3QiFpYR)N{PUHvA)@d};MT_+6uJ@j`n^t2hb01! z=kT0Ph*uKOQ*P_r5;!P^;d^3^W95M<{v8(IKxYvxYt6?Y-GirzITALoi`wuHo}cEr zB__1&$_SlTD;97f&>>A0{+A|yqW)n!U4?}KLZl-%k0XAo2Z^>R=A-y{gdeS_MazpL zxuut96KiIK`^~ySxkVthN=O+@*qEei{sQiWV%c>Y-9ieWzBfF%BjCAr1={n9*wbtQ|XESiJDD9 z8-rP~I!>a=nmWf2ji(%bpkibMZw3`Zu^JMzb~aY%(y(zct(``OQ@Lamu82ZHWOzcj zh#`Unxo32kvk2c&7&Ni~2Iqt=9}>&5spR&V>p>~_i6-SMrW`YYERT$xX(Yvjcq*55YTrw! z6DKQhJ*5ghrGYyfl}&I5&pvR?%(P8Xt`qPj3bK~Aw3=<#KRFv+Gt}vEB39=76Dy!Y3uD%pYDhxMZZlHpEncyl zDs>es2iIZr7l48m7 zDq_>@aq$-OPlkRA$WRZPLj+dV!t&8CiQJ*^ChN?%8qHD@OX)px9S5Y&o8_``>9TAA z^E$H8*?fLt=97>YCMP>G@=?odq#m3rT2)Gx$hc63hY3vqt;17^_{b?VOB_q|!h^fxXx%`tSI89O?Fu7ym?_VoPMY?8qXb!f$LB1utx=D&@IR*d?{9 zg+7G-;_E4)nMuW)qzFqT4IAYWRtc5A)W8)56wuPM?TjmQK?YVO2qFpst|3wHn7J*k zwsd77ymla+{B*UX`$}6-iw)FrbPL$0hs{qH-?2a!FV&20zbLL|D&bpYF(N@azElk` zI_6MR*82jN??oXL8K^q;?RK2g4uvdXtB{{ON&{)0<967bmw>KHH!pu6=gDLhYlE@gR_C2e#o##)7Qm-3Sv>oz)T*joSz8DG+hQ{X~uv_6U@J51cWOB@*F z*og|gQY3V95Pc_;(aS378RQ4{L37m0 z_){*LMnra@+%*b%VzNTg!N0mn{TF-usH<~%yr|iFomH|FOd4O#yD9D@!-$|>Cwi|W zYiY;}zdUti#MEj{7>9VL+EhnSTB0xEiD6{*mQVLG9@te^V>-IU6LR-B`U1_^tZ;}qV-=#-ieoMZ|(e#~K#TA_abcOjbp8Y~S4Zpq3vtux=pX-M~ zy?`wyrI%dttx#9wIw@y)ej4y*{MX!SLscg3uf)4a| zja5*h7MDZC^s15eu_J{E8cq3A8g!YgY@^vpOZ@fTvyrXK-F|RWn6|6jp zHEF^-nF39fKrpPlRcS5ITjs2|#NB0iIhvx=QXV_yUNfk1C3uKJEy*}@eOKDf7EkfV zWzL6|)Q$xUQN3rmn^R?IS6*t4AL|c_n7xZX?q`Kq)Id31b0(cg(_8=Sea79<82O`- zQ_pa1tMrQ>c8fr~I6fBE4x28$wk`vg?70*mJ3l-tMr1sj!XuZF{c9{WR$n<|JpZEK zaaQp1L=Gf6@MyCgF^&{zvKBqgVr-c1Ur%-_rC=%ER0QKV>#UR?{2Zp8PEb$L%pc6X zpe0~zDXq@nZ(_mI#HMZ{b$S04hm4h1RJF7o%x^vU2<*u^v%pQ{meR{s#17%4np80+ zs`VOfGoqNXO}0YpD~NeEj9Gw-p|lYhjwL<@NZ2~$B`)w&g5c?(_r8Os$+hKdHf%hxx%XV-nEY%Irl z3R{xIM%v!zotjtG4GbRm#fV#SI<`y823P4TgnGN@sEy}M6r?66CW0rI3Je58iN;*7 z@eUzt-17APi89+W+L{#%~AGTc#<6P$UZ3RkUrN5=KFPBxy%_Kg)$5l+mCS}U$N0J|;+*RGRL+nSDSpscUA}$WTy@I`F zvp%alvj@}%qF+BI(Ylq$^BV8C4#t2XXlOHp47~QNeXLF6e-HbH?I%Fs!R_9~GU)lC z|EMvGxgAyx+lkj$_xe~$YVi8x;hA{(+YMz}Z~171*5dKOTh? z%P%l})|fje82;QDWw4Oji^wsGV$ZYoKT*jg0l~1$n@HS9E<5v`0@9t9H96wpk)(Guw@K@tIuuWC3Jz{qK8`s7k-e*Mn$j(>yqerA|t(f-HV`!OzfAjtgR zHS?jYhw~jn`dxnGC_Bm3Vvk%Q)6HLj?DJjRCFni(+KZaHffTg$35KnP+LH_j5gF~x zLBi6t7Ob$u`hA4mHvYtK282gHpw@)pqvVg1zoc?q2H3LIKd*{P`|Tg`zxGJXPqUrg zcDJ9!qD&r6H#X2bCD=Zm`Q^SIt~%}A41C~A^*>JtJq5kd$7ornH4u=3RQPk zddXvXm3AbS?)gnC_x`W$wk-eME8y^ZZ|DgIH zA5ccX=lIKm!>4zLkJj%6_^~um{PQw(PaKBne@ovdzrU|4{as@@(4Bpbht!|5LH_Q2 zeJNCWqVhZ?{e7<(cMf)ZI6(jRtL5ap?~tSnW8fQPK&g}KFGnoPb8#R zwcqG>%2P=N)TE<+>o@O>29W5QjwsYp$H42fp6yiB>ZsMC>bc9Ue1Vwn?eVI;%;xm? zzrf%4a!ONrBo$#(7D{$m+9{B{k4;qfK4~23R3j^w|M*h zBvR_jw9Wl76l&j%F#gTSR&?CvGd%sfH+CtcPB@lUG$vLP(TBOT#)t5RAL*eOgBy{A zL%BFTD_Vg8{XAHft^4Zmh6ziK(OJBUPoG|_OVP$O8H&9G99Yi^VrU#CG`Vb?01*L8 z$yD5?!LvNc6U_q~rY@`_Q=+zwV}3oCOT0s<0=*fqte_?kpi)Kydf=irGU-z|_1@-ssU}W^@@EQTu#Ryf}Dzq{sYHKw~@yXjlS)8A$W)})}ut~hG$ zoC=*nNkCB@mf3&JbL!`4>MY;<>wVA>qu%N1y7P3H2_R?xB<&}<<`%?OPqX!ErI7*X zVZ1fz9#c_@RY8WlCvBU1bH{;>I5(HoH6>nhU!dnuj3|y~Yj*ozEIMU7S^rQmmb7K@ zPWoQMU(1ust9mlM!=>}H1h1N)P4+YT>`;`Zqsh9=)BbpOnK@e9k)D$)dU=SRKqYZ$ zz%;$0j2n~{fXcf$;&L5`_@aNi`o@)cXXiT~>AlU)#_aP07IE`eCDNGTSyZ9*^@6TA&qS@sAmEt>++)4jMU!1ar=BQWmdEXu% zY4@wvug_r?l*4SZH!~hwdX+Oa4@ZXZ=oKQc;f@gVrDQ``!K98TK%iOBup#{R0B=a+ zLKstM;h$H{QpZ$u+QTI|R~wq4?XYuyzXKJNZn)ulGE^b{V`)g%v9OzjxItyi0mh3e z=H<#XyYw-+<^-tCLqMKUqBHF$lvFfM9c#FypD|&#RKsy8Z4CaoHnAXXZ-KRwfG@ey zU&5yG_x~0GeBdade|LgjFXzvF$OOTM^ojtgHj1~%Vknw@S; z#j*aD@=3;HRzVWqxI6ip6SRv}x;bNk+-M*SNt%L_S&4s)LXsL;ISdl|C0-$zm?<8E znPH~IOjJ3N{Li!qJ-36xhE2^@a|X!cjGM@j3(t7Cq;zT6A-^Gr^|?NuiKtD=lj*AQ zYh>j;JQ4_YJISk~h)^v~b*jkQDA=yvSxNKq$%tG4ta=*@?X80Qvd$mA7ldF+yKBz< zkQIkX-6~m6dR83fNw7^&FOcHRk^v0;DrW}7Xp!FI!;`D>Qf{q2)AOpzgg+K*;@D`Q zcM%i!~txJi^2>Ghpg)hUId1cVBaMx(!mdl(B zs?l9bmKE<)Sm&)xFc&jO@)=`(Cj4kC-c$b=O9%;=sVd_w)@7!do zCyk?-rWJLkU!VYi75V-e^5#T(TP|GH*$0_7sF{iPyph!X69=(~zPi5}lD_5if*3f5 zs#5XW%3qP8sx!7*i%Hv?Ck5%3T70+Swc#}XVn?cJ`EbfPs0XFr*O(CM={;>>Q5gZ1-=iY%)i5&$fKa%!dT<&QhAJY zh5<>=x84*kZm0VTh}1$zhyyQDB&89TykjhV7$TcIkEZZRVK)*9o{xpGP zFMLY5EXUc#>E!!llYbgZ} zEgyzAO;1UBc*>#LObMmR)i7lp`Tb?MAkv&{a%i!anWw6nF^O;Nqa znm>!l`9Yl3?$sJ$xVd=)k^lLzB&=*AStMxii!g`cnVLsxNrLM8$6V93wy}(^-HNoU z*Dz5~M_k5#`^Mn#7ROBYkprtmYWCytRKAzGUj6H92i{H5_+#A;gG~nK^RG&pol;gp zxhP8fTaw&YQaxPysd|(f1)A0h*rHWMO_@7l-+Vkx_pUOgR!hPxxc!k7hd?;7yh#b% zL*)!~3SYRH(5gGkQNleW;Yk>^%A86Q^W3_N;XP5n97SrxP8^UIkT!OlG5kk5;Ww-k zUNk-l_tH!_&FIT6i`51Dc>AcIJzGOI8^I=Tzf*l={N)`z*B<7sJnQ<->KuEeyS868 zwWj#u3EGsAizYVcATJyJ<33H`{wI~H>S`J!-*KxSiPH|$vi}2nK!m>&d9&K39jymP zmJDq<WTeu2q{<}{IfFf!#nX)z?JZ>0gR=yQ83}kt^`C4!??Vdk`G`) zKCpT~vAPSh>%AN~EV~&czylWwBs_9Kyzyf|y>q}23<)SPv7NKHf5);V8;SL%M2|ALORf;(*TNrDbj-_e`+Mpm?qZtOG!5G9so-)E341fdyuVN__$M`wl z)4ZG8yi{R5*5f*-fffJkkS{tzEgI~d5j>bH!mzJ76R~N98VVB4kc1xGLfFf~LDaB7 z)QG=}AU9#0ZaN|#Tn`}pp;&`FL(D&pfhx)ikl|aqjfp@~ARFZfIF~yQ)T2E@G{se+ zMA@^w&>No=Grdhx81~pekSYo7Xoo`)yHpGbI?1m*^NbUO9AN=3ryv>UtGg{c#bksh zUBr>dGCxD33xV^dn_-g0lM*6SK4t_7IkGjiP(o%4#wR3}-)ge-sT4EBKV?)$VARD3 zER86%2}R<*->VVAc(!x1lca+u4Q867gjb!13_G(?8E zJ`|Zd$FZAgq_O{o;1ZPcN3ozNDx?>(&^7jntT8(j@gRj&!oYNFNM-cLPDBxJw8B^{ zj9J`~hnlaA6b)Y73&#P#f{c$s%L^}YEF)Y=b=1aD+JrXH8=*Xvid>H{85T)QIh?#3 z=&{Ofga`=;$>;Hk+$qPtXem;RxS~u(W*iAGL#axtvP6tc{LL%PMq8P7E8%8N-we zOu-yPv!o8|h&NbFOlLbcSb4fG0zt^k5VFfFn5@j3aYoM>xCi7+Q#4D)>x>ta6vg}@ zDj^}&1Q!2p1g=)-i`V2tnHojSEXCT)!iTiB*gD6xjFz?(meX`h;FJ`|!wV;y&98y8 zHM>IQY|d0nEC#b308qOyi5j5HM(o@e5DK^%Yap2NG6fV*Ec8rrJI~StP5QV=_hg?D z2>{~kPCQgKWW3K9JjyH@45W-m(*jTtk|Pt65#V7R9>^TSjCPOLO76 z$SMu6<58qa3T^_ECGF8d1k#23(L#h$kV6xPxzez5iFP>2BHc*o!ZbmgQctQpHJ>!-Qg(pJ)nFI`eCB-1iYIE6FQH*H4AvQa&S(?a2rv#`)GO*%V$y}i5BE2W6r zYX?8&F1+HVKa5dI3_n9{xH?suEjQjaR;eyMb+0^*g|G)JFe) ztqp&T){O)`+#3jpjaVHV7rzLxguTy&wOE`?mj^vpkA>5oQ_Dfk(30)fqx)Bseaoj4 zSeE503Y-~%WX6+CJcdQteH+G=)ma`g4m0x-pxal4omm;o*i>}K2b)TEP_|sVEYmL|EEf+n`O{EiBAhtd)wB zTyQe8mz7TM+g!20SjK%@0E%0(ncL76U25TqgN0R<p{-fL;GjRX+t| zw8KTV+`YTS4bm+vE~mlS+xXqbvJ8W$L-PzlL%kaEi z&22!peL%PsvqGbZ@7>v_V4UFETJr7Mr_J2#eILNXLHDiOY^Azh!`$*!T&PuD8kCNw zNmAYNUjCh2%OX57pu4gdS=+7OixpbVg|vvkj(!VV2FB6f@<^kBS(UTiJ7m#@tJx6D znbT}V4|XXBJ`!=8RK&gCQ#D~qvtI8zos!^QXpCGJzL^3{OVf+a5pK7{4Oei@)D*_Q z&jTr)gU8$h;y-?eA+(fnE+BC$;F*y!i;3+oO(LK!4?K}UArPD5MJtkH_ z0d&I>kzz8=A{Lxo>j1<6u3)}XVur+EFm6mArsGBu;%_^^@vS+##5gpgd&#)M86bxJEuySpH1oV_#Y><_5at z^$QU2j9F&p<{|xL{wlHTsH+aHW@|m=Bs5$j?zC<$%05O@1Fi^5k!Cr5-ExkWsZbki zRwqqXWOnxF8-Bnh;!APv-Z8dkQ#RvLxw>WkXO?thyZgLomSz71uIGccWL%Enb(-Nu zYv_*FU2qO%(*QN4u;?HL;mPbhRZioMc4+inzO$TXx-saIHkJf4WFy+>b!KUQ=G}R3DP>;1oi59VerZwiI!>YGnGR~uXcHAX<7v$4FH>rE{^$-PjWF(A zlAdZwDP&9(VdAZ`t+q|3*5P=58pcSIX`bV;W)obVU2>5y`c-RS#a}?i#&4l(8c~kj zGix$r=)L|{wvM=n=9mA7OYGB$z`kYRF=Sud<*bG>#J1F~9<*9?mp74W$zF-U_DDQN z>ciG-fOkldH=-?h94Y6z9%T0b>>Ey<3|IuyQ^RTlRLU)M^>89$Fw(fLBYpqUh z=2C7xR^isplr*`;sIF!5#^?Cm$^Tl&^=4x&>+Y9UjJNyjpCE6r(1}nfYKTZ@qU7)X ze&_#QY-`KMhmabI2JQkMZKY5#*~IDz-pt#^)7aZ?Zyvu117l$h>!ZN%yE>oZULbv? zV9k!wOr3G}W^I@vrv#SUNnY{Mp6#97=ca60?Z)AJIa3?QU&YwR0avmf=Q%)~I@!Fy z^lq^Au1q68@-=?sAp4=Xlxv%Ca+Q)@zm#EaZSemSF09oKLG7){8F~|P4s(kG55Gk3 z{U&nzRdaY&U#_Z;Ne*q%zHej(%RJ6o#4ZpB-)*Q2Z)|GvI0ug=qq^bk&~29SymC1~T}OszF27mFPBN4tZ|2#M z%DrN3{@F7xc4`kqHYYS}9Pbqm-znOf(~fo!$MZ{f&J~{M`6i$Gwq+O=_3IY)ewKFg z&2vf=X!`qWtB`J3KkxCS@?nSfaSwQ0$F~1i-p4O*bjikAtmJpPv~pWF_UsKY-d=PO zp^D%(@4{ATGynGiCii(q4|)EN<3p)GuVkEfx2wi(JMY?Czh0g1X+TyG-&T=|r|CJT zysRu@HO2W}?s(MY`SD|HiQXQ1?)0&y+)$6V4vW49Wk=iA+Yx`Rcu)1FP0s)qtymjr zR}bnbByNRZ2p3vH>*+*ERU5Rx-6QWOlEj#*)6T zU*!t+dM0#udC&VMSw-Ds)amkte3gIr#U@QP#K$As zNBN$w3H5Zby02|gv@~j=RducTE#Ck8wfkpndi6%nk>fhQGN-j*7a*b6*awQu??{oE z9+XDp%&uWApZ3#-G8{**NSY}=iuySVJLRv9N!$pnUR!JMsF#B^O$u z%$OTD0{?rCI^m^Qbrzx174gRh2mk^H5-eyi0K$X{7cy+<@FB#A2@?d6AZ5!YQmt&Y z3t*2U$aW!Z+52VBBg&H}5w1ij@g>ZdGH24PY4aw|oHc(T{AZFQnN3oXPz(S>CsLRO zmojbY^r^syP!A>zF!gHHtPqa^NpMl)M|=PNDKwdIrP+l%wX$vN_AT7FH^+)?)k-MQ z07c~@z3TTbQ;2}G0(QzbDaHQ;2`rK#Me?86mI_-^K5Y3i=FFNQ(&cz}Xo91gX%;U1 zH{$84rk9SU*)@rTO=Lut96Po(?%cX}XC+J5p4}~=^%CdZa5Zwng8eRM?Jzk(;|~)j z*|J6BZ41<%FzA7^#H(&4xJ#06xka~iuH;9KY#(s z)mbZKNFjw{#epZ^dN0A3-e3yJ_aAi!HkKV^+zGfLhaJ{5)=#7eCqZ8SF{oZlP)S(Y ziYTJ@nnh%Q^_XoQ+IS<53(@sYJFSSA*Is)WcOrBtK9vx1NH+LgVvBv%3T+u`m?M={ z0%+TKcaeA=dPF8ElXCwMt|n%Y-*M#?Mo^OUi%+*%`6is*W%yBJ2LidEmn@PN7@4N^ z`K5G;>4o1GGOpR5n{g_-=w`N=ggPE$>R)d>%XCHpD zITjX(y#jkJwldN6OOMvw`CYQghN)Gvwi?%@ry8|mPh>TIm@T}e3Tq1~#1eIEcj1bQ zDYLFxYTTL8&PLLj?rJ+~ya`k3TZVRRvc;W3@}{pG8Vl zBK*?MJxhJ1c=XykX}(3{7IR_Vb@f_)Wb9Y)(-K8JHQL@07<9xFO-%9DN0)gkarbqs z(XQ?4Tz1-h>*gq(BPNj$zHggrG}jS6OLN#`<7}-&qWV3#aag7*;;KX+9yf|w=Z5Z+ zw1Ip!XM9tB`ekjB1Sx{|;<#idJ4wW(hI64;ub_2^;i6P|8}7dyGpYGVkYj&KYW zB}9!(fgT(Xn;wNZN%;?1+sljq2MDlET_hu-8z1>TD8t?m$Uwkj75k7DK?(wDV-=Eu z$MSZ+84{5#mTMqr1_vMsx-W&xViMTGm%A7iv5L@}6TL>%6$L>MaR5Xi568qLrIAQi z7$Th&(-@O^kw<++DPgO=h#4n7u{-sFP3R6)Ej9A-ijV=Cw}z%YIl?TAej4KsFVr+C z>8_8C>NY8q$f#VAbK(^19+GlV2%D(bKVoX@n4o16NV3WM4?R_gyo zP-SFjs;W6eu$r%Wk`!8rJd`XkTC9#Q&8n<8^cpnTOnhIZYv0h9MU^E}uUYNuRW-U+ zXnMz$_<52(Glbab0WMWnGnS123)#r36|k_{P{3l;Q1MA_Et{R3VtwRB9Gdm994#%a zF6zTvNkNfkT5F;Xm6Hr0V6l~*`**~{y-QfiTEKpIKz z%!|4&v9@U4(6*V5qvh+3Dr&dhu9lHDwljx1o3a%vs?Uz*)0;LKwi(U0%833B7G;~c zMn77Bf97wXC!)L-Dw17>zI2s_Yo6ljx6`gZ?VF^G5mNMs$~i;zjU?KwO)u)zvimf0 zL;XtT3DKIk?$Eq|L(wgk%GaG{l&n`f#X}!^H|=U5GI7;wXU7cKw~hbwQG-He@lw0m ztue2X(aU5`bGyx?k`x|46=6r2`#;+X9BgRIsCN6y+eHO;fRh?aBiB1KX>Q$~+05@Q zn+o2OHlRr)TyW{c(rO1v&;@<9@JjicyNYrvp#(f|OHbU0DPDAfHNNp4mnz0J^Vm5* z>DrPv%6B$2CAL=XrH*^JR3NvGp^8m%n(IW-{7d<-blzfMF&87|ESSWJo;u&P;^G+w zmeNne^RzAsbZHv#$aN%jxSagx>rQ&sp=_!cf92`5`Q+G7wYEt0^jc~Eau0pwb>=yy z6(k;d+|AaR1~NKccYkxXWL;PqK{xPK(P^s4di87_ezHLR6?Ol81V^Vj^2^;>HZf_+qWA?WMSAGCKDf+WNANt`enepdbW9&n1N3z$q!o063wsu{b zs;yscaUz|{%$Z?+Xxt4}#AK}>_ z&lI5AfuBO9i|XAB>m}d(nP2lIT=yNJmn-C!w#733`$7bT*5^+ktqoz#Gs-7wU+ z5h9|s$$70={-~lev7+?A*OYk`h+G=_e4qyzW31#NY3+{ujG55+-z;TQ3(k-z;r543niY&;zd-C8VK(K=;YGV!9@R9Ak%V?)HFPZ3{I)MKzQ%AR3l z#t9m1R0pAP#7OyLKZ%Ertk^*6#j(^!O%`OyeB++zM8iBst#TYt2b3 z2uIrp+C?@cQ$D3r<|96?V;nglF7}}ij!`@6V@5_LRDPvX;)hC#+^I1Y{h1xjz#F`6 zNm{n0TDoOg4i-&bkWKpJLLB4{CFCmdq#fDiP0l4?l8|7+Stdx8VdD{#%{`28VgzvtXHXocY$Rt;6en|9ha_C)W?BS^ zuw`L>&1g=QMd{@+@+EK7q*r|~)QfjF1N5p}u zsD>)3ek!JV>Zxj}jrvHGF6YBY!huL9VWyV}p{7E*$S1;ubqeL7B4%Y8r<4Yfm%b>f z7VD}01b-Y#sg~-of+`G!>D2Jbz)h>PRx7n$tF@X0nYL)A(kX}DsiG37X!+jB0C|S}VR{tG?!IS$dG8{ObnF9Kc58zzS@@;>_D6 ztFgN1jN<5y5+`L&r&|i?Us^_P<*H=is=CUBl7c4-Ef0GJtGa;Kq-v_NB5c4GtjeY= z%M$Ew*3}L6A1ux+&DJdJp%1@a>rZg&oZjbul0lwA44;CfY08BsQWk^GO$o}yQ@&X%!-WIfvo~{P){@jw7#C$z21&QZkgq* zn?kD3g6lW!SvMt13TwKni#r7N+e&LZq6Y|D|P3A2N;nTxN>8kSIv5H5_ z@~%WiMDCKE@-Ym}>Z`qWtIr0lodA!XIiJxEsvfT9c3z&6C~sUmC56JP$0QY;-YeD` z8Ui&g`SC^B0#2x=Es6%~!>EiK-OG1wjX`~G`|4tRvmzM0P4s6Z-FOIYX z__}VsZfl(KC*}_A=3e415eYbI9X(bB>B6RGUZ{Uc?WE=`2p^$KaB!-vEcT+?&8XG8QZTSGjriH%=x8r|>ag0xEC9yR&dTYxLZ+QafMTTY?4>Xg zcjC^mCQT|v3@_^as>yz^%iodP%Th76%&g2QY~=>;aw0HwGFw$DogL+^uR2}5*r@f2 z>IQnP981mXUa_u?@V8oKXOb&E9>(1vPlA>%J^@j0CY5~Q>+2?Rc^ype+VNP~MG)_C zVi2)g9A0ibZ(A;p1z)MAM)Asm^67jq&i>4$iUfb=sR>V>g8H!phh?JrBL1!^=S{Bv z+A^Bav8diLs~#}%BBCmjOC^7fP$H&v+|G;w?$$DM{&elMYH?%824=R?Mo#iuT(f2f z8f<2=Ad~+rwNPv1E=28u^X_D?9piDHQYXb0aRF+E%gvOuIO^}V>=fhk99uCKKNY>O zsxQYTFjI2cwev-~s|?d{C)0C6D|Ecj>;Q*FiVAN6FL2xjbdoC6T5^)37INU4?J|3G zv@UXFkaHe`hJhyNDpxeqb|oNIFny}7QXvWs%XAg-#KEG9NT;Z)`m^zN?hj(@O}HF+ zmQzE0sr?Y_?HV;7!JaPjNaSgRG{Z(tQ?%(xbxpW)8uuo>?(Y?Hb>hNe2vI7H%E%T- z0xDN?(%Kf%!i8E^CiS{B^1U@&e=Sju=~LO~0cY8cdE`zCb6com-C*<#*UwOwSz$wz z_R{|~l-PAtwUb^yHu0ggOi(ofTlEvy7~ExcNqIFE@$y|jCVrGPRJ&JSBgRF?u(%yF zM-w({7n59bc7ccp_P9=HgOd}&uUq^zJ_Yuv9&$(jc6@FJBiHns#&+h8t46ZL#V(0* z<96_1^sEV7G9!v~BUZsC>y>)8Qy({0`AJpTZC1FlL$=-VE#@Ab_hz}abw9K@uSysP zs@!Ufd}{^BN$-a4UQ7D6eyh{&3b$RCv{`!(+5s$~M>rsujZ;Dq@cQ|@Sq*en-rmQ$FK zhqY{L*>>mUZ4YzlW{`XK;ln*!K|&|@Oh(?_WT0*@quYfQ~EzHUoL}0IY%a=`}xui^GT*8 z&~Y;Bx~{0(*#`cwmjjgHyg8tMEH`VQq0hRNdG$}Mt%z7;fEN;{M|QXo8;mYEum|IV z=Q)D8U@-rAW`Jk9%-E;O;j>@bVJGV`&6bjvxV2lxHIiE2U3PSLJ4FhMQUm|R0e`uh zm-}HrBAMITy0d$`D;6&=Cv2qepRRiRaEzQOxEbm@tqbsxn;osH`o)SFu9-nVYm{yH~YjN{iPu_47q6@ zYq}TyaXaU)F&x9$;Ov* zxZLBK#h)KluDyj@a)rRv1~Jm#AKQZuJ6is{=%#e;O&NYKezh_3Moj;^(@*%n4g5#_ zq6%6*szrO3s~NQ)Z|CDi6v5nk=DX-~s;GSh_55u0@s8`p znGBhH$=vQ=KEFfb|HKsC4B9B>{P9D3r+QWkx;NU86FG){^n3diTbvX$JvTLfAWHi7 zhkR$1K7w$C41o{p3sdQaN)0QL&0>CUelV(kr5~PqJ z)vDbulqdhy6gre>QKLtZCRMsr;;#S+efqT3ip(YnFM%-CO7#C_k}ag#475iOYS67` z(WX_qmTlXS34snIF{y zudT)wTs)a`XV0HOe@r=gEGaTlB*YAz)^36%QnsuFym@tP+qZGwJ$TYqyH<0t=05u} z=gzUa;R;v2oOyGRK*#<@U0JnrqIJD)k{vj?b?@K7J74Vc_ZBG$vW6d;M8Xy_tqA(0 zt)6~;`-c}tXBpY<{gJLOYlk$2{43DF1DS$Ls#eT%4MC7xlVB5p;zRDi3o*u*C>s>8cQw1kgBJ zkQ>v?Iq6hu%NWbVX(zHys?*Ou&)SVV$dVw_P0aX|6VOE&t%*Z>s5-C9HUr>mC3{e8 zRMSmKQV>#7_{-AG3cKUf)KfJI>=)@$TZqjbaau{fQc@N=h03eE=z4F1* z3;%oOwND@O^<#P|w#})JfA@c=`n~!4Q8!-yZHmsB10gnQ^$}A8) z4P+n#vuD2W876$-Gahvum_e+#hJ%%150zYoKoJ&&cc+0D{!mz#|1D2^qAOidk~cg4 z?JtEXOn{rDH$oi}g=mE0U{`(^#0`STg6Jup<+k!T85WU&Ky;!Ig%~UN?U0HzNl2v5 z!@&fs>4q=qVqGv8lNA~daI6vI4EdKm?A-8&S8*eI;CPj9Z<+}V+l7rFo9X(AKJ*Gy89c|0T=E3?Aj{Vi=CIo(252on#! z@hX+1BwtSX6|yvvl^r?TTu{T8Sn>rYwT$H(gV;U?vafq!s|n@6_`?8ng_N^2CQfK6 zO9^3SY^`)AMjiuH{A+7g#fe4tj+*GD%RlP}b)=RFaMPes0yp%J+vDJGQ9s*u4w z`7~%cv1!Q&p^%d#5t8$W`I>906E+8}=R_xz(yI7nl?`?2Q=alEoy^oUHASgH^Vt$< zA`>-y%pOAmDH34r(U#Z5={)}@YEz}sl$ncsX(Lgx62I(Zs%@C+N>d8as^rs}w9Kac zfJYP5Ri=w?Ea)`piPDwU^fzs#s#{z7)P^p|t!}mIZ)lp=l;Tqo`n;t-xhIq+M)8~` zRq0aSx|5YGma$Eht4puASjE;gv2LBJN-Zi)Nv_G8$J)q8N7qGjp7o>?nyOzYD_PYx zHm;9#XFPr5o0Z6xCyS-6W2mZEeD1WTx#V6@GcwdRDj}H)%`01PYg^?GB(@cDEkjYl z+^O_tx&wjFbsJk*(?k@baD3i3H8R#4YLm2wEk$J)J6-r#m%8h%?%kg2OsQmsAoXnw zb(vdR+Dg@`GrgxW0So_Jj}VfW=R~Sf8{1szip9PS&J050`^*#7m%$Z&?{(FyTB>Tb zo|^UUIEUw1i-5G0QkX(XlbTu#yVt$eUa7ius~+ZJSi{@AEsE5jYi(;Q zT!G;%+ZR(-p7NWe?BplwkTFr2@ST~A<=)g*s{Y+APJG-;ju6&HMrJExrCVb~$LBkTyg6+2y8Vvn3rTgREOYg7Orymz>`|Z`V9}7KW$nbDYPc&mXD@`S+@ z;Rwvp$=h8Pl`Ff>53aGicl~ES0(l}?A+Qwo&D3_dg26DJGRslE@}S45+R{f)*ujh5I_@*Mx*_xOd~2VQo)A3f{`M7qeq75Ig3ecGD#i%wl~JrRSnpc+5(bX~r6zz<&V zBJaE3hm~@(Ykue_$1{CtOK(Zka)Ut?GR6(=hR`kbh$;ocakrk_AkZ#c;5Z_J@;9s_7?EXOQiZ#Gg{!X*ZkO< zFV}F{!y%KOJhUO6+YV>jg~6+OsZZVWRdc=auMR&$odQpxb6!?+UqwU3hKZNJNUxe;_pbluJV|#293}~I`1d+ z%s1$*w;o~u?MboZ@8^bY_KuJSy^hs(&${rco?c^5ffP#TS}813u?VX2LZ!x>wz481WOC6F|zOBaX8o&>QJ({Ucb@fay8 z8C@_;Dx?bMF&!gt(yZ|l&!b3of)qipAN#Q$scowwu^_n*{17rB*D*SP1d?9kD}1HW z`XnL|a_Gdd-pVoZh>jx>^8Dxu@wCJE4w57za`PUJD$HX-^buTUktKyuP8cpQ0`fGB zL@b6-QM%D4N6;yRZo*b#o?y`6c0(vRk{bU(F6LqqHPRHBvKGBgDwxpQ9*pm*vMH%C zAh*NSx{@VRj=rd3CRJ`M$r2!$us66aDAn>1$HOR-awOxjDJ5_lY4R?~()0iJ>>Qzj zFV_+mRk9`plOFTKzP#@+NfPNg#N*D5F%z;$<|{2FvoX2xGBFccG=nNNlNNK5Lq4-F zPr~&W0ux758gmcqQgaw7lQmoOCI>GMV>2Cxt~R}LaI+RFV!4=-r6eQIQ zOyN>3^-?9(OQeD9l%)kr0zzW9o3Y@@PFTe@XbzRl9UD@?r&-Gl%)eFv`6go9Su~me^lt=%Q zLD^JQ-xOd|RY*USPV*EZTD1J)givcVTAwvlj}=a%^cLdOK_3E7afLI&6Gl_DR=)sO zFW?D6_5qy00!r2j0sv*j)f2n`Tus4JVfJMg!V?03WvjpntiWV{)mTq~VySh6?rvER z6=GF&R#kOM6_rtfqCF`ML?M+^P2m*46_#rXxX+{hc#G5wsIf9az&OQinVQzc3SPuI{4H{UmE4hCSai${zI=CiM(F z;S9Xs3#wt52q zSHD1bDHdNRG;Hy8SQw&y9il)zv>~SV3Zl0Z6tw&hR%q;ZR5KJrPql9Cc3@3)S_NZw zg`++J6;>HkN}rWhH+NVszzT8|XKl4*$G2-u!43c3)E)jd09?U@EwyD^wq|*jMve4- zF_taJbQ&AhV|O)WQ~1VxmSsKo zT;KN-8W@PvVm;^g40<(sO<{fqmwwYYU=KHOA9z6Pw0NPyabF>WZ*`2}SB!afd{_01 zr!@dj6ek&jL+{lU-XL0ARgMiKLEqt7K^9oO;1kRsNRPCJ(*jPf_6k1X6;L^Eg!V~K z;faISP;az~Lt{+A)I|a#i{11TOu>1*7=Hghc5V6iZRK`=&(xug8GjREKut9OqV+>r z7jW-aH}cRPl-Cr*)q|~aw|ESZ?$<(p=*b?lWDmk^wcLlm12LClY{tmmm(o@7*}_do!#I= zx3r=+Bwsh;9$cXlK=>3Ql$dSBMJ1VNX*B@k*Fo8BBSa9T3uBwP^--agd7bxtKbCFT zn3{i-aL4&01eZX6VQzm^Ztvkpo4R_`_gl*~davMEXLvOzR(efArk#aUt9n7zbdd+z zftUL36at@9R$Bi*H-VP5V*S*o6Xfn7_7jHnl@nDs+`$a0;0k({ zmydL=+Z33Mwv_c6KQp8~uQ;Q%c$vBQ45XP>AGVQQ)tz_QAuhBb=sBB*#qN}NL2Z;@ zPg_e#$e;fKg2?t_*VBgVj=V>N|khvT2=S@G@XO|T$;X%5NCq6rU%-_p|!GM9DjeBG!$5^7rcR& z`@~fnu0?#M)mM4ll&IG>dKFw%iL{R8c_j9gTQBu_qnC_zc~}Y}P66~YZWx}wfOZ!m z%rnbl)I{1m=gm2p}~QJpYaRLSFa-GoMHbJ(V#xSgqVBWT)Bh5fOc zJ5UrhnbTU41)8lx{Hp)$q(q4{V2N76IhWaYd)6x=voH0FKUP%-_|MOoUOmBUV>>tA z!4;x6g-=F*>o`RJ^>CTDf!`Fzi#;Pwe6&H-7QXgVtJsY{rBH)Ks zR=*i(J-56I<4FGu^CIk?*e|&AS)Ph*7>m^&=o#F_t=gU4Vn4a{L#KSo_r6U-l&MEzK(!d@ z>HHn4dKx=)R?&Rvy<Vz4mHY^ zrf1Kt4H2!tjic`cKJ)2IVXR3liu7w(xY*UMn>YW}%8IA8&Z}F$?wnvnh_^-hBnBTr6X6sffB>?zP->|~1lo%lP2}EX4{eqeeC9EyocZo$Q(Rod&=Vd{B zGNhVnhUOVSNcJ>YD=DsseDiP-D-%=;sU(=y z&El9fV`!Zopi45QrZUKi{;0EyXE(a`YV}(5xrqd`AJJ^@W;x!UgpS32{!K~y&p~?! zu&>U&$s_%H#~c0?9O5txCy8^O{wmT6ww%FE4h&ao*rTY3Ax2Ofyj$fQ)4&H_BvGUx z7y3Gc&v2iU=WsA(UQ1X*e#SV5tF&Yaq!WF>)Cr6!&&_CRFMusai+xZ-F z!pf;{aQ*AkmNp2vSP8IXa>-mtt`dMU&Cxji0+?{#z^^OXg)d)75d{?q$q{DIj=#xc zhA8KyHm+w+;yU5zKG-k=jjtfqikk6cMV9K|#fd;8AXI2&6bB_MM~L}POj4&2+~u+& zTtP{o5>u}NK}9@X5DpPhS-uw~vo3gnVlllyok+UIiJC%>E_r!8j8H3j37H-2WVxWu zg+!AaIi0mCrLEF*1|mtqCJ?h(o!y+xJ)ImGP51~Wx1A44v)R$a@_3p=4$v%!A|RFk zb;&)l##6uvY zG+}&TLLZO7bEfWuT4P?Qot)+Ll&a$jvW}9hE&?h?GxH%`s&$XQoT7KRx@BJc;sy{A zFDpBhj8&tD)gXn&7Q1_eE99iiTX>;YX7Xr>oEVp@TI*PT;o>)s(!()o&v)1tqyZ8D(=tUtulir%rI6f$XBB&dZuCE`>I}f!3kG*!e+llGOD(@vQeqBZ2GXTaN8dL!m;^zH$by#i*%OZ{Swk`=0wtP{Mv zyIO(o8{o0#H^%`6u#bzGq99Y{3svY9fUnjGGpzV1KJm$f3^WmIR_BcZDPkN&JW`tW zagxA24IV3b73GwPawBA5|Ll#B=+LloxreN~}_{>`iH^(m;eXajYDazrq7zE8yL8$%0cS3&piDJPi zwL?FBzxjapfXM;!oC)38I}_Rou!i-Y3H_Bg>sijSzVm-Q`^$OBhm6;WZhmr#Y*V&u zK*r)L-QHTa2HDuffw3i8juRV%dUo5J#WR2T{Dl6p`PaV|bh!D9XL56U-RfqON!oW4 zPjuni7ohbk;9Z@h$`_iF&NPr<;+x+9`9i%4fUCN=^L!a-5p&P>10u zOff^mRNs|2BX7y>MOrv6{wN50L%ayhSdyarqs z9X`3jbQIZdi<+@L3&FU?y^Uupe4V};6}j+3MBbuOTqE0Lj;Iu5k*R>CV$ITFjF0qN zmm%tyyln|d3M@6(gTzCHy`~x?SBQJPVHx3mXx56gmksDg}8qUQ_O!9Nu zVhd^GF)X4Gl$Ah^b!k6xX(xytCdhL!H$t3NZ;y5%_;wx2!e$dx9~C5nbCEci6DgRn zJ5~2yg10P4$8-m`bmF0SLM3deRxlIQFBv2~-Jy5@#V!`HIUJRNA5kA4aULM#g*EkD zlhHy!^B&p465Mi2U{wHNK%T!{=T#Py@=9&>Y&jG=R+A#b2OQP*4m))dX?RuDbUY$4 zHmh<|0ud8!H9Sj1J1Mv%i&%PCgnkZAAQ;nJfS^*^`5^;-?q%QigF3B}B^vH_^s3_`q9nExm`GGAmwjZI zF-iDX8wz%epVc=SfiDvifp{rE0?8ZK;tF9VNC>zQ@$nu1)t7mPYVuJL%Cct`Kow{C z92q5ksznk0BNc10Od+LZfGJTl(JhrkFVX^@qKM^C0pOWstIoxVJLD$CW*C8Md%fGsGL9AzgwQ6?;=m$e2*5^fD>-Axcwz#w0sN zH5ZJ560V|=a@B?b;2}v?cvrw*`~`6uMPM}fRRLfNK*?FUqHpr`P=-PwN;5&HS2jwy zXdE#gLUeGy@(()UMEtq`6sL2Js4%6==W~oi4e8el$pD^BVxvCa1Ys zdnTmvB}GCwctR)~r?xK!S8ttVm?lDYY;p_dW0|RiIKapn26!*CWmucGH%aGi3!#F2 z$4LR%j&PAV!C0cLd5US;axG^lc6N+{LN67!C>Bw3^pZjOGF}6t zm$#=7jkIUs_z7kZIB%JcX)>6dW^m^D000D0<`Wr)agKIE5H&Jxs`Xe;=s!2NFIbon zRyH!@azCRpS#?utv#}ZgX&dq4CWexy@FOk(r6qXkni9o1DRZ=Oa~e2XukxcM4ro8d zMUSB5G+Jo?Y+yr*mEyI{rB&F*SF^;S;$b5R^`LAR61LEsRsj|OR2WpjR3M1v?byY~fh_5?EHhE?K|?`dS12ooRD zE1m^N>&kvTD0BnXNL4Y8kI{q2LX$Dcp=*I4t#bwd6c$GD8TwdxUgc~=;VcT~EI`*S z?W%cM^)>g`Bij0J0b+5(=}orbp$Q47GNyXy8j3tpD*QLJX5%@a_ogRWSP_Fm@j@zK zR6j`ZmoHOCV-hf8mZW)y67vyU@&hPA>SvyHF{-gQiMEGo0(MVe0axG#d8mSm7G;9j zNMa}dFbC@*2JtVKSysN0z;MPU9ONc+X_w$3f#O$oVUneNVvLOGWq@RJgjre1NICwK zvy63k(V4XC!DY@ko1i8UwpCAE7FzRzS#nCJS@KUE1hlD!Lc&sew*x%Cd2IT}EsJ53 zC-V#5M7GdNwnw5Ao42WdTQQKDA{x1_ck$I_484MxCxw#g;``ZK13s))y=W zB0x5Ng8>-hbr?MpB8BWK6)~wZ(qaIVV1$f*lS~rCOM5_EV$~(C4N9EjLr!;fOWkz; zttX*+F{Y5VQ4~zfMXgv=N8&vvBYjz1q%3EzxjP$oAE*jB#S7EUE zghkuF{+Kbg6`MATSsyJgRmhqk4KK9BSh{5!Zy7@EtRxe0Y%Z}HG9*JnqK~d)H(3I` z4x*6I%1bWbH&PR3u~xCOYFYe9E`bq9 zOC(U(6crSUZe9>LEN$GbV4h#m(`jP0#SJz1djTxVz+VSvsg)tI(FtvLj)+lNHo922 zBF7p;S(h-}RcqKQd(s^AbZ@5|J{rR01|G=x+pZ0Q7p1M}p`(stv@V?g!f{!qB{Yxy zgcz$mH*b(b90b}HW3axpd3;p8tpTr2!Fi8eq2JY3wVcbdk#M+7JJ8xf;I(Fu%UNMs zkj;6?<|)+vMSKfOw|Kj^{>rT*W(%e;Z&na)LD|hI%7!5HVEiS0J^c&M1}b2M9rqb) z{`wFW5^LzEK)x|NSCC+kdIfSVaE5_6Y7xd*j-9bXSs5uPM76}HV0Yu!V~`3KasA*A zn9>hX#Gf%Cqt~pF-5(RDH8%l0)%6RN(x4!|L$M4yOROwj^x$PuUU?oV4tYyaR^fQk z8=})FPeNRyRdW$;E*PYlVP?T?R}pSNw~do8!7Nf3 zSPna@Q!Y_Hw-(6}BBN6JcgF41Zt9;!Hz0h_RA{s%Ejht)zQ8u_6C;Pl6)!)5?o%=( zHd~_g*oB%lTamT<#jGQ%9XrK;=`=H368VArJtc~pCl}r^#&I%Z7>MTjY{MySl1x;4 z$9{NA7zT&J(=`zug4N)b`fiETc$g4^_Z6-M5U<|<1-KW$V1Qqy%2=`D(#4MuS{Je7}DlVoB=$(bLGj)m4~lx z{c_i{L2@3B0%G2|$ zG3CCz^)jZZv{X+;l=_A2+q)=bro9?709{vgZ@Ihp3!~1KjD@;FOjqc;i~kBT4Zs;E zNRJpV-byU=rCq{;@uChaH*Q+gu}_=6We_uF#`kX7tL?b)(xo|t5AS@_GjZcM|M}J( zV06KE0#8SON&RKSGg8l1e5L!|FN8NQUf)~)USQ+!9B-ZSd*R80Cl>--xx!tvJL#7V zMs$DSikFzY;|Qky0ss&u>;eRjqXm&u&lSJS7;eFT7L(~D^n^QZCGqSD>x#eLc*ilB z$_nbc4I9*qv@fzc>y5oUp)Y{=%!;d`iTrzrJL}k!=*Nn8yLDBC0An@-!F`l&i?uUW#)z z>blfZw=18k%}?+C5!69K33aMa<$!bS9xjE#YcASex=JihCOX5bq<*W3BSCe;i&83u z8tO5RTrtWC3$}{y3HmCcsWaXpMac~RhMbTuD5V_Jsi!V%4ZzixK6y11M{eN{ymW;qK9^T>q;|k^34@D&FhoP!`QpR zJ^1|7@e?z6Mu_Mxt?~=R9Wxd1m9pTo;0iaKyXV5aa((&fwY)&|AKqMf?Ypr>`r4GK zAri_tpk=I2D3(KF(F*^v!%-stzMV+gES!H5mtX{i1rjYJ&9nCu7;lzxavn9+&7C() zxio0OhF3oi#zNaP0Do3A#TCs5W|*#@%G9O*)` zDEfrTOid*TRaUR~s4jZnVRZUJm-WKzkQ_>Y2kF#E4)dyMB33Mt`N$_ma zAO`uYZOaK=0B$oII=$j%fP0A9DiSB%De!4s8W&$;lBaj9kv{IR07E1q7Gd2Hfh!qJ zbgF0uyyS6Cu|wJu0C*6TbqS8>0poC1HWC2!rhh0Kj2w$K9=OftEHv?uCv+5`Fd z`e|mPv(j@|mbaWl(nFM~Vvv|rzMxGBa#e|r4l`Fr5x$N`U-BBD#N7JD!)|d z)x5lpiTcvlK^1dVo^2JL!bu(Im}91oo-Jl*f|Kj&xEE8T@k?=4QH5A%yLD0ronNSw zC(IzoYCf%!3|h|W@M@v*JOo4+utFcZ_C?;f!;Hu5S+P(yuI>zyP^;UW%h1FgE40cY zMa<4aM3g1}Xu0B+K@wX4+%ZzrDkU=&@=!VD1k5Xmq;5HrUF53so7%hrKRn|q?<|{< zx=NFpY1&g}iZfS8>L#>Mx{xjtl${%)B}{$7jj71nP4zw#ODN(Hcp+mDkJv+-yNO;+ zy4Xc!9VBH-;a*gWMlTgsCN_Jz?@AbRm0!6qs;p^KQh296gnc9@of;IQF!QJp^7JA6 z`^Y~`QzcRk2f!b(MLvnekpbGIi@+gqhHb(bd)&iR)hf$NGkgj&P$Z=qv7~wy{0`3i z12dVrQj)KF;3g`Cs_Ut(_BJME8(!6dhx%_wIE>>S5~X55B(q|M=*2_X#EAHl3;e3` zufRo+ce6HtI-LgV|O--hLUKdAu~ z6!kB9Cvhekr3KZTp|N2)yq7(!kE+I9Xp<*NZUXeQ0bi)>%8Yc;u4bSFAN4Vr`g6VO zb9K|6_M)%Mhhsj?YEX>KBA(RCXp490Q)4oM4_n_r%#}*eW-+lgR44~CwMp@-VKpyM z_#CR|7BdghrCgOUn33L!mGcke4FtTNl(;)u{Jr*Ji`u_G_~mcHbLT^*s`^#`m|B=; zDSX{a{WK5Q3)Rm}emiU84r+d66hnK4?a=RdzeyK)uE2*GBG2%@LE{jVt1mCgI?|z; zKyw++0FSm4ozs|?MvEDN7_BGi6R+7jxp_PL!3mr7+kxMBH9g&^IqnzzX!XrGw(=a=_LYQY; zw9y(GbMrwS6hSQfK#=+(wClZUE3z9yx6zx7eLIbxf~Y;)xYpyS^b;i1tFs9+vx2Y? z$8wQgs<8lS3jQ;|?^71_*`bJQ33<}PU2}{bRK4Fzo1UN*zN4W%B#x^8`i`_Az4Rj& z5@HuiX%ax%9I^NnVcA4V*_^Th6}%9wG&CaLSeQD|DyEyO)U&aWNW*h`#Fqg#$@3Cu z3p=)1yZ$LO>Zl!|d5)jc6I?tdg1C+!aTlkdMOp+m)>=Ww+ePC*J6;5y?1~PuGm#V$ z2oq#RG5WLosGVeFlAKwb#WOD{LB}95FU{$o^U9UH0msBciOPe!t8)-#0>RV?kDkG+ ze)PsYR1}gi!!kp?>G7mAT$!}Fmp0M8T*-(Pxhgpmy0AbNkh?%x#KR;5zB~**k2Ezh zIYo7g!`zs-sv<+?6TjBMDc@+{PHiX)Jpxz%KAG=FGNW^{J#R+ zFnqkRKMO*&1j39gla=rdZ1g7N3cE*>8DfkYvI7w>V4B_nNPx_`=sF`7JeYh;rV%X6 zQd6cafi#J5i@ofnF7!)FDgF7m3paPth% zp-e`b!mtCi!ILb>VoP_jOZAyMFv%Ud3?s=5utFR;(JGjdbhoy=pplFTuh>MnFtbh3 z3^=?h%5W^^85Z8_O>e9xiL4kc+n@3CxsP;^@r$Iyz?UKaw3di)MC;73T;nLJ@QNlW z7Za%u^NC6pbWW$+BK$N&{FJJn+RnU!4y>9DAX>&Zl(_twxUM8Od8?RpBfXs@uLrF} z2<11%u!ZVO&sm%!nUS{j(#3roBVUx0a(tuba+pa6k3mB=eB_vYE`HgCnOf9*+<@2gJGsst@Ddo^F_+tx-&>pMtISvE5 z^~o5N5H}!w#3FJ|lgvqV4yoH6{_m;+l4ipjMFEmVlB44zcKjj2_J%+x2s)qQy%CfXdl z2t=_wltT=>m~oqE^uRN1IJjIRzB^K5gvht#lI0^W>nqMbohvXZAibNW#G_FyrA^!f z7;XvCWfR!>io=kd zeg)XY>%_4dF|SEh`>M%-vnRL`M&d-ch18swB%C`1z?6%~J=u_qyH;-$)Crr=Uxm;y z(@B&qumn?0dR;kN-hS0D`1+AOVmq&Q#1kxTH8@!1&<d=3l2$Zv1%0tsH|)ke#4+b&tvK>1pL^3T!lnTmiJq7m5ev9m`@oG1zmW9XM|9Fg zQ4G_wRimxlC+f*i?5Cz;6l$|p`zoUKaZi0Yz1=~gIO`IT8@^HXz2)V|noJ1|(+y4y zn5rlYCxW4-t(V2kKZw1{(9uuuJ-R~wQaGjD4U{QcY>n1$?VU}*QDvzRY%G_fp^r5N68%5dkK1Dv@Z2baMi`(GDIp}4r+X1aHGcim|SbB+iDv);t{r= z+u@0YMGd*V9V-d0$f&QqI1^=HB);I3OT~#|4Wr!Er;XyXm?8bsjOKk&=#U}QUB*}i zncP5MBt8_B8dlU0MMmWIm`ph6rQht+{ZH|Bba!I zM)F#TxZETz%7n7KgGOSFlM`_JG#&H+(EQTs!X;Zu9XW2pYh39L*C^rB-JMs-|RdwJG&U} zr9zz}Ra3=K(CvwU!7`?-SSNB8uHrdrCPZYu=4uwp&uF+c?&elLIVXM61`Ay<>{;LZ z+?Gh6^JNKPovX2(FX;N-QLd|Glg-y6!uNQO0C)h5O)Y5UWq`gy&6D9o22Hv16P#n= zaNA%8CW;{pklm3y%e>r9_DjTkz5;|8jV{YL=3r5MUWOLv6J2HC3Bb?sD3rzslQc>3 zLs0M-30i50Tka2y>Z#fP!oz^h>2l7~Z&u?Pa$}u_!fJuc&_I(me5fN1>MumViVo@5 zU5b>!I~OLry~<-Pl|CZ80{GbK_y~YgA}ys3>soB%LFvM#_S>)NgcH#&e!btb7HhFS zW$@D601PwU6*Cw#8CYGPe43!x3Ll!551_D*=@DbNHe?L$*^dQDQT01d%=BoB7pCv9j*)j&J$CVA8PM04C96n{WND zR0Cwa)s#I|d~Ts_7ZE#MH_0&0@ZJ4h@SH|f!+@gWovF8Ga0*Y4@wQ9zPDi=?qljQp zEOXxq5AnkWqtFszhf?4P7jYFIxJB8a6C=tBqhjR!Y!$EZ<31vzlrl=SaUOTT3y(s2 zqc<(W+#WA-+PRv+h-^DfiHlDl@GUdw#|5>&v8M9}{pF=x*%v7^!(Wo7_?Iw@$rz_FmFbSJ$>}_untxqD}9k>UO})Nh`unj3Uw~uHcOO>h zwMU>>n*FxmSqUO{Reusbc%FV1dS#%3T2Y8$h8=zgVu%zn*xz*{Ug%$n>y=obY3U8f zVpJT?m>Y~Wa^+!#Hu@!Ek56rQpoty=Nu!KL61C%sKM4t7l0GsCWlByiCt!p>PU%*I zQfe8JgY0pM9he1%d19Adf|O&L|LvHcn`|02WSmGXc~_O+(OGAfddh?+k`VS6BcFY` zG-shMfr;gsSGtKNqK+L3DNBD6+NhnA;w5ROR4!>LT9xw1=}0b)8kCuE1~%xTrgq9@ zt1B)4iX&p4<_RlFC*E38sGq`BE1uWKs{jw^u zL93ozudE2W9GJ=8;)`*_H1oDG$7~k4^0Xg=Y+KGeYguB^QxfelYuzTSaJecwd@!|6 zKmFOxz(SpE$w3PZ9M)Mon`*{jBTeMaWc%ze%@~^9Rm(A_>~@M&TfHpIb%)J#*>h+A z=(WvVV`?7X7muwq;oPxJvaW)QJu=vXPYZY6alah3yLeBY9)613o$24#^4&MGqK_UQ z=){(8I;esF8hYb*mrh{j6t*lj<>9?9ciduz9J%VT8_u}w7OF0DnywEIJm(s>KCkj> zLti$Fv^RZx($=poUDefJpPcd98<#x0&cjPL_~Fm?JiFk}*!j(ILOZEN)MeF9vdo&X5H1tq0+7|fmnwc{EMMzDXp z+u#Ec=sWCQ9JgT%#W~q)6M@$cJP6 z*XIg3$STH>Zj?0S=lYny@j&i;oNSd2UAIW9C=QdH3CT`Ahn1jYr3Y`7N?Yyc zeZ|XUCC61uAkt=f59*~a6jCIPQQO+>cxRq_ODNrqQoKur&&u=-OmD)0pJcqB&%#PIubTYR(F%xA|!Ha9Y%+ zvTtD@@iXS>`@n{=U@ zo9jMlj>_C_b{R5Pydu}H%{?w%%cR}-wzr<^RS0;`%OLY&2e=RO?SAw7u>FQNNEIcE zaBoWB%=mY>K+}%Xt~)3~ran{u7&)CRNHz*f@Gga6Cg6<^rI z`b9B+yBkmH%J{&9y|H7#<6;)GH8v9-aD-tjF%on5$dqdyc#OQ^Buhn6upP06F-zoz z==eK7?(q&ysbz>(xyV<>v3=IMibvKIa=je;Ccmjc=U%+t;8eLc(MXt`O+Mup0U z={#jVM+n0??(&5ln&unA2DNaOtzHuy)-fyg(2Q<0j3W)?xd_@(fIdk#&HQD1;rY`@ zj!~vPVwO2GS=5U(b)TKv=}1u;wQjj|tzf+tN=v%Rwzef$WPL(8{~-7dH&;fz8gKz2N*V`|93K_py^(O0i_nzf=v3uQdU;O6J zKJ(B=s>*Nce5dce`WY|#-TmHq?0dgBxtA;d<^36(4SnpS>`6c2wf^{`BmRdZ2fX|t zpXd3Q$^D9NKiBcTG%VNI$M)xVG{JmKXCPs6fXi_vx-oj-hAYAsE(xK?aOfi>uE zO9xLhSWK&@Jr|UJfroMdc6dTKfA|-9NZ3m0k%anpg!DIr2@`$2rG!z)JL^X&FsN~v zCV@GqE;#sw`8IWeZ`*hOzY#B^PeD*Mo7mgK*ebZzpYmM>YiQ3c3pi-C)L*oa%;itgxd4`GkPR#(u7j6x(4&RCEEDUDOs z4qHG9gJO`?_>j~HP3RbrPZ*4^_iCd-jwWaeQqYe3SWFrDZO_*+=Xhct2}A850Umjh zQWs5vo|jY9bgq@a>Q`I89QkOzrs z)07!WNt7T}VUZSKIf*_sd6QSEW-iH-7U^q@R$yCcJfx5Sn}C92X;{Npm46hL4#rbB zxqJ3N3IU*%qey{xNn0*=Zk+g)n}?7USzl7wG)xJRN~t+zd6t7Yl#*DOR6~fWA&`>k zWDBE_>ob%8aDyhejsdU*aruRs`I$OtnU@3|Zi$&W_zRnm09zo6eAtlo(1f9cb+Z^R ze|Tkf*hhJ(nQ}=6ohh0#mzSCmnweRg!hZ&oX*_6`hR<^JS0U!mg z$(VpCWsdm^vDt{=>7A4R8I|Kngikb<#0i|X#+gz8jw!gC-f0itX`JckmmYSN-sy&J zD4R)Fo!9A}zsHpM37+~npY@4ulXrXW7@CeqoX0tVjAjp85CAIqd+C{(@@Wh0U<;wx z4#laS7}%HEWQ5vDp4+Jz1-hRG>X?V=a~v4}Hi>#BI-@WmqXfF4?a&IL2%hEHoRg_@ zoYXe(rrTYnsTgpV{mW!ELrFL4Rj<_UG%2TZ%1x&gLP--kU%Awv^ zrDU)PZMviMnTK)z3R=ZAohAByP1p{H%BJ7Ap<>!EEb5#c)u#af1fJ=m#ONVCl%F}8 zqdK~#o3I6|il{mYoir+{0ar)Kxm}I8rc$s4ThOLg>Y=~psR@9cdwPN!nyQAns=1m3 zQXmEF*r0sasQQ$P-ngt%(5h|PjJehdNgxnXfUOp%p~rftth%fckOUHttKXQZY}hk% z3Wu#I1?9S|Tac^y2%wR6luVig`lxQPS*6H2uk$Je=9&b-x{zPGs3{0@nr9@j8mVsO zon#;d2{5qdTCHTz3N6#HV?+kqN}*SJq9EHt94fBxTCx*+vPodD8yd2ZnscJ$uK&;q zTR^ZtFtPFf%B=PZXJsi6HtDOmcB=uatOJ_>Oq#E(s-xohh0^nd-dL^)P_qO}u(|59 zaK^C$VV3)9Yu-4oD0{Ls3$+rk32rKex08c6XbW2)0Yyu+Y}>PpwweQxj|gjKjkpN{ z`?PGkwnclcNIR_X2CV_ovYfhY_Rt0r3j|k-xKL}RnmV{B<(mV+teL8@jf*f$*|bs1 zwumbbn`@S2fT@(*qwp71Y^aMIo42SNqi_bd0ui=(3TJgIv8b!JY>Tt6`+x;gx?9_^ z1JSvX8)oacxiGo~-U?@!`?L&EuvhB0eEBj$Dok~&wpTk4wR^imY8tG|r0vPP=5&Lq z>8C{hJH6s-w9A{Y856oJTSRWy3fXHA2_OmC*`gY>q`ljb)| ztFbuqyt}A3DOnJ~`njUpJ%y=|`|H9Jn~(Qf#Vt#D6!o5U zx~c@*5TUwXHEF~d48*Zj!r|KxVY~^>`g^Yhni?9hEZh*P3trw>#{-eFyJ%qR$h!{z z;lHk!!bvA*7HS%2OA0ev$Ak>QS^JbjFFxbf8nitG>tyQ7=x%C1aYwc1d(8pTAs5WyP1 zja9<#%bMkTTkopN&YZI4yULrGUp45R?0dH@tPp1D$l>&^ z+^(W`wp9wRddm!%XYwny6zNj%Wn*kF4mtG@hCL>k338xeuru=<<4Ff58D ziXQDC1xank=DOFg`pR%kWXXJbXn%+fr;1Sxn3aDcUHm)UK-G2>Ia|fw+VH!{~j| zlG$nPeR^2krz{-g*__bL?cgyR)Q!E`x%#DRP0&)hrY@e@Fz)61&4pi9gG9=;*BucO zPUNKn&PO@sV64rq2(YwnLHoL1nE_%)O9#D4f5tna_!&;Y{b5E!&7n z+oIc@l`DlWd^!~LC(93$V^$7##$!tCuks-jDx=MnA47LE}kovy?UL$)45US`|3 zS=^d@<`px^^J?r{?&t{Jt6#qFQF^PCe76BF%=wD01b?B&Y0vD-*uFm5SF5b`%F_eA zn+M^mLL z-W z%EMml`TP;lo~xTc3g4)sMQW$Ws_5YNy{g`&)0y7?HY49;G|8_Qgu2 z#=85v-=V}GSv9Ur>OGv`x~7-vrlODe;pxP3y|oYjZ1^2P^XO`+m1?)6t-0S1)fjHA zs>-TPJJBRzv;Ui?^{)LXdaArH{?w2EcP^vTdF=oZK;S@v1q~iVm{8$Dh7BD)gc$MQ zzW@~fUBsAC<3^4hJ^r(2t5vH_WJ;DK)hcDmku7bt6KTudOpqTn+WR+hlavGr0{E2Z z&}UBxNu)^Gf>f!LBocrO4a#t6f}%&0CS}SKD$uA66973%hLp^jHgAHAIdUbbEo8P_ zRSGw$*q3F^-nCh=>t4Qn{r&|USfNF{g$-wX*=7?~q>CMkg-l9pOPC?;{kr=rWUHhJ zk_b-dS#(p)vKQZL5=V!(v+9~4{LteQnKTu5~TPB-t_nIEn{sTMxHVD za^}sQJEtg+aB}K)FXC*+c?;>PapS%{IeBbl>m2Qo+zypF*Qr~7z8A=~FZ=iI)x*ah zc&O1$Bgt;W3BZ_0A*H0Hj4I8wp1$&|sN(*s?l8Tgd#*wYFT{``jxgJZLybJl2tnM&$pB`Lz6na$fUGVOCK^bQcXAO>_>u% zoKi*FVq8))lTy4i)e9Rei9C-^Tw6@r2e@X($ZG-)2(q7kPx55y=eAi2P zKm3xz^EN4Jp&$2+Aq{6{8|QuMT4gC$Z;ivC~%7^8bp4WM9$R3pRHcCSGa1v%z%eR32_JMB`5*gPXzIlz&1?O0}^hc4*n zpMPnGj5YW2tYVo2-f3x~r;a%Pfl)0(j1;E)YU*F3BcwWPkURc*Q-@n2mT4f6Z1&}9 z#rD`Ur2M=2Je~RSY>Q>fmh@M+|K9bYib{o-V~h{qcuOyvmB6nAO45m7z(E!*TT%n& z>@&xuV7Xz#6Zc$k#6JgQV%Cp=@)_ve`1gfySm-A_!=>&#!CqPHaVZ*%~JVCW<$ zA_G>iFW;MAuI}YN@(Jbtd=>;0xf<8Ohxo*IKFeU=K)Aw)U@(Ow8(0BZ__5cJ5F&Zg z)(g)xLmnpNS2|=JNI1j6_w}$(;BuVxeg{PD)z64etjPZ+sJ|)tFM@Go*AuJ#RqaylNu4pshWpLsuf8BtrDXY z%c#mTZgNSJG94*Vr@Bgp4=s}U4V7dmG?hu=QFp9m6ZN>u$tg0JhOrEK6hzFS3CC%; zI;O6ec{*A~^Gq)PJIW*FIL%7Y%$GK^W_2dS&A&y*ldN=QD?91H+yHWEUL+@(KxHMH zjWM0~T&Fq{SG0H%t(xIvD$i5?9Td-y}QbA{9+M;o zP+MHJ$}7^es5d3uPdx@wm!9Q~=wY6Fl$uhoWJ@NLY-;ePI@7E&Qef>PSRl80A&jP^ zGT7^CUd9@@38nQec4`(|k|)(|uJw!LI?9~t=GMD3)UK8?>N$^UQ^JNQBuS&_D1G|Z zzNqF%wfT?#JqugYPga()j3pCO`3hH^VC7o{#jJkRH@A8!l&>$nWN4prTD(ZK4PafS zYMtZQQJs~w$dRqP+Im~_phYcM(WbO=Tg1HS4V*XQZC+A4T+mE*u$Fx;Wk+<_Lq+wS z%#96gGm16Ac9*E$4J>A)gI(`MF}V)&tx9ZUQqYnYZ=-FCaj<$`)VkMQ^p$9JQzSL} zqNZ{gJ*#QyE4Y~U_kt6FX;l$x1`*tNqX=j_TTrt$$+BFH@>y{eIw)JA%BYT; zy&?}p&BJuG0V9PQCz<3Z70onYKqVXix7c{0=B6$0q~2_fu+gagF@?iyVGQ%F(y)$X zcrRm_cE-6y?ZtIM_QjyzKu)93jBa#;JxyROcqW@s@0Lxv?1gLvEb9|;OLw?jYR{2x zn&EVfn(Sp*YjXc%5d=wZ{^+HUjm%>z_fK-EI7%oMFwN*7(LM#d``JX7X@_Fid+>NBe7hSRxacIi z`JexJ@c`#L9o669n9%7KJ-l7j3{Nl)wn}8 ztKFx*=!LkL;QlpP#@#nZg^&LGK_BQ2#0?xFMtN@jw>Edbzs8d;`s*Qy`x?j_qO8Nd zpRgL-nJ@W6G6LkDN;(mDQmyhcHJ6e=5Hi5B3BON^u&I)pjoZFjV!aKlo#zw4i-5hi zW30-#lFqTefO9S_IYAVprrcY<^w1@{nhJ#(i3fzJ`NKiLS)}~y7XD(a^1Ga_Dnj(> zKy{M}Q2-K9VT$Jgmtw zIYLh130k2sO$l93M%z_xaeZ}yC2`4nn)O1DaS_zeSEu?#qw_uE;2o4od5L(&KJ*puo zDLJc9I>~5>P0T<+Jkaqne4S%+CeXHSV|HxYwv&#Hj&0kvZQHh;j&0kvo%i&?d8(V!+mOi+L8u~H!(qV;U_P?v?y^&1LbAN9k}?+OFo+NV zV>x^*Je5~PA<2__N2F4fJobkzEZ|*N<`ICB!x;1e`P>EE1!JO!j1)A7gd!FiyluAh zC0?fE(VpsY3z51WV&x`K9$G==6a@xQV0vYZWQxW(sA-rI#t2#yXrk+do`rhE9;vhg zUKY4EqG|YXec1H|`bUpOipm1)Z3SMJPL`T3;6tc`FA6I~%E2fOAwFeM*#$A1zIzco zYP4<=i|Fy+OMHtRM1v{}Dxz|D;~*(h4O6@rn@Y$!OUPA=KO%X-RoOr}jeNo!{DVCE z$*LeR7{9N@G<@1p@3}7)pxf5qgEmo4$2k?F7ywZ9#wuzCA2Lo`s{@RSWmqbDRkOxd zxhgH#Ayl!L)zM|2Y7Q5x&OU2#jJ$w$WFFN)RmzkFTcKH)!3F7KPLmwh!U7R(Cq&Y$2j#0~?h9kDAnSXf5>Zks;FRy2VYhxCTn}5wGEUUzT3GUErwu+3=t8B(b zsiS&tX+x{KL|0<+mDkbMXl8HWC9chYF9_yvyga5}7G(#K%FKmm`=xAVeQWjQrbM3QcpTh zi#zwz%TrhV?a=;JCRioQyTa6ZaX9)#`^^_ZDiePSK_T+sob|K2V;>dB7j4omWXGUx z+BU3v-b1z#RP_cAq%xRfn@jW%;0@l{iayzP!It;t@c68XlTkePm1y+UtM(g_2LF7d zlM;f;P3^~C?h)c=fG^_Ve_}#Q=n%7GGs3Z<*6yPE>U?9#PQjrNps!NJ9?*pvW*8e- z8XbU&%pA1DgROzw!yN)@dJHI~5AD3t&-v0@fDhPrG(k&^ilFt_ne=dv>s@v6B z)4}dC6<&@gTn&_6Nr*Ob)S}q1AXd~qBMD58m358Q6Aw^AjpYiczhEY3@dPGpz0Z}xZPA~=T?f*ADNn-m_R_6B*Yn( zCSt@O*wnCd+8_cr8{}sR!R1KJ&1TMmbjd(L&v2W-z4uKY_fILv+R|fCvaFEEb;$KT z=Hk!|9|A2nRLui`(6C+RDIInL^p{5@{y?}amNzDHMKIh!4;Ct z2L5e>V~ePSkJIHt)Dto)-f5jrHcm}abKjGPebbdbB_oM zVz7vDA43o;(*R-BxMPBRf1$Dh^$22J3m>62(#F{lNm_G32TJczl9S8HC29h_oqx6M zzj|_H$rfrVn0Puxk8~8U2oz(bSYwrTEoGK@b>$ziY|GEK3^>FsrLmLX5*&b-meo zy)|;JDQg61Unsn3|1++t+@cTx5}-y8%4aDnxLta)U2A)hS^=_X z3r5m>L!U`-(A9%}yC;&%W73JMa=m39ff9pup2EjCu^1}4_+Gn7PHW!ldIXHxeEo8R zaCkGZMI8_d)z@$X;Pi=`D8(dW|6U4l^*VZ6-9EhyZK+o9n@_{#mH8MOxe}s zF2%my>(SsH=7Dro4H$p@a^;?3MJ^Q8LH*#Y*Om-M%z>Fk$qZIydrY1Cvov|~z{00n zefSpe`Lp=@(GKBuesk&i8m_BW>4EgMQ^baVI1*u|fg~rWZD3KYrN@@i?y-Yaat>}8 zbJhwAp$(0Ikc{|Z%6X7@RYX z*`ws>1ly`PO&>Hfo*HwV2n>IU2RD09s0$@NE0Edq(z*k#lA0pMUgWcLeGWdv)5))u zU3kEA2DNkE@m5^ER)JHD(!?Dw`jc57D&Fb!Ci64DTbo>1YmR$T)XCGmi!1!e3-;x$ z4#klO#|TmvQcdae*UEF2jtiol+xExHJ-8+tus-?i23*pU@2DubTxm{ax`m&1@N6+a z|JE9z_-%3w%ZcdCN9Pp~`X&L^Og-w>3*RAY4yuoR8;`Lyee>qj?d-4DN0TA@d-OV` zj{wehxHw|>QpF=vfLRjYRzt_4kd`+i+Ej7qmaB$#-5Q=G?xbVIA8+@;mdsx)U%ZX& zAY)cT=VvGdZ<*N7nO;U3mm@Auh3Ag5>c$!6)% zBI?zn{MmJCeH`=dr{mRE_mP*UZYsbKMB&ZmIjdIYH5%t>uJb(1@VEPQy{BwCr_7r& z*#>XnYubzjjOA-)S6>CvXU6q&EbMDJ%yW|aTe-=5VKuqX?>jE(`?$tujo=%wX{Nb2 z>my_NwSw{Et@d5q__c4*StCaXY6VgE8>@Cplcn^S*-o zsjB;8Qj!dCgZGKNY5{=E_cy)GvIOqo{icD+qKsu33t=4FL{_xM6P6-;13;poVo6ha_ zaCQDjF&7KwmqTi~U@loK9L3DH!Fs+}B3C9l}NtT=yKP5jt;*-3RyO+1R8&i?Uyrb3{u7G|CKYOT?1QswH6{bq|CW%1_vlfyo))dhv& zhJ*9rXd-QMOKOqx>CDfH`CpCP(_|T-V7EH+-Sv7`-4zF^_e1ycbg{ZxL-oz~m9ezG zSZB9u_Vx7vYuI}W5b#IsXd?(10bbGbho;6PR67b;!L~rmJkbwEl{4Q7LYHbU2*t~6 zAq*$_;m{5sV}HpEr>YFciy-e@Ta9FzXva0A>vbp5?4E8XiR)Df-;X;mfjSBig7C<7 z;-l^$HDNz^E0(5Y<|0dR6Z9~Ng;MPxOEch#AWH|FNv@M+m;?rAB#7p=oy1!>N*rYw zW^z&FaQk4Lq;RivP~_q4zyD)u!*HL8fP#FSrUz43ng`jto>3Ot@>5$BJJNenl}6x2 zmZxTTPMntd`*Kqk6a-dKR8-7(7-v~GepF`GOi-&7R&GobR~W2#($w*uM4Hs~t9qQ) z-4{^PHnJ#oR#!C)V4F3KOI=<%4R^L*Hm@_AU$^8~e%AO6IpXLz?PcQJIHk;7(00w$ zUfRZ=PIO(jgB$WN^s=s4+4X)`Qrz?oz4P4l&B|@ic3S2=;!jNrVHRu{=TNmhwe%3Up z+D6&vtode_vpIZW-Ez@0WgXDFq;uU7o44WEBN@L|-wV-WeX|Lrp+`EPup=jnh&Gmx+aEOcgaXt3Yf`7R{&CTUHXY7Udy7Hcm^|_TgDd zEaUIE=+~Oy+3UEJ^WGmJi1Xf?xE%Jr?~{(>xLb~c@OhdM2<6+_XdCX?-mydI-SBF= z;dx$!75UjPixS}d{L?4k`=vb#Q2PeFRN3|3eSYQwR<_&(7J==JL5K8!3ta!=k}3F} z8R-BPDEgn-6atnz3H`dm`k#^N1JSkeWq8wBU++SLLo+p@mCS{ZsAB>h9Ecz(#sn_M z@3`1y6d^S@>(L(SgPCyu`MKAG@eZoRJc;*J=UnqiRHMULSPGpyDTjrjnZhMC3sE#m zOXw_X#gKvt;j#urL;hXp;j$E>hCo%b&Ok=wu@vpkrPI(3G}tN>AL6aQ6;huxX!}%? ztdG2LVe!ZFa(p3T0Y`LG!OXdSN$#VeWe70rNJyC^8^5!jif7#+@~aM!kn2&5O_@iA zig*=}3q${At&BILQ6|G>Yvlo`Kh(zM$YkT(N=$;-CeVZ&!Be|cNTB@GJLjRAq93QT z88<4#S3Bd9nvG9sy3P}Z{5ruYvk)^Jq0QX*WkRAwJZ(2Jn<|q9PdN@Pml#f$co9s- zF@HYd7N}%zi$%ewHa@O6aFmobRR*aPChrfi6vkvhEO?nA0zr&t;$iOAN;IVjCD!!;M6E?B@y$`vZwcuR2n_Q{laWP%Zj8dgNY)s$h zsf0(TQVmyKp`mgy(Ci9Gso9{d(xQP{ZC_}qeQBc6eXLyVd1$Hg{ie|erCIAoZmkdH zqcudSS{r6=ZD9Hqm4FA)7*%X-Ozo+*SBzL+k6Fmg8s6qd3+gZPUGYB+w$S8}o~E2p zCM#AsHAX?!3Z6pOZgCm20gd0>5+ZFi|0ky9IzbS?YR>B?!?Z(i(>!!c_Gex!F+G){ z^ui79glMn@s+ZpOGH&bKG0}F=d)T0YX6}%>h_eZI7Cq0jXoGzRcY{OLd&4*Gy)UWB zixyk5?@aCSKA`sp{kwhb%JCNhoiPvrSO4yXH5lXgmM;i=9eNkE7rmA-l%aYb=CXD0 zBt{}w>3Q^i!Mp>&+%WoEfff-B5Hw6YjOuzTy$6KSJ_6Nx?{8Oqcqx|JVoAj0<6Wik zq=7m#F>KRuWvrO0KQ^%0e@AzNbWA19HHhXKuec*!w!MQfp&M$K-2Y|ruBkK`owS#$ z3N!7O!AbUmImV|+Yj)8|0#pn2JLmQ)Qte7(w#|Mx&u%|fYwZw&-qa#ta_JZhHoX_q zmen8c+FWc=y#o%t&QE;F)Ul&&3MKWIpMXs~Ro@|6DgQ8*Ld}J8(+7%~{d1)}(WP29 z$&`bsMXBi1Ib2l6MDLGds0)vtv>(IjM1U=-)1zt17B&m#4ZX{?pt-Pc*9I3ptefnD zbs+60!E`F%Dj(P;QZ2e`tL$zFYc9rCdGKSo%)X^_k?z(3G;_F(T`9UJ>(EE3YhYpI zj_+&x%#0y(l-uSwPK|Zqkq?{-zVA5%3D;jsMth=#zNLc6_ChV&@DOkHZMXv0VO{rV zuv#dRjm|ep(T#V-j4`BooAJi2-Efwbpt;#$#!RhU_{5Yk1ZySdg3+l|TD!I`-Am_K zZ*ybiiHys=hN^c8Isa4UrXlU~_*CwdO2**D@sVq8A@^SP zu5DW{_!Hflz-^Mt_Cm|MXC;okz8JXMvDfMAD%bq8b-dXeTo`)+IL`4e=&t)n5*Be< z=$Qv#o16uPBK=&EU7|v`?|we-0M0~>=R&X6b15!&C8(}3LJwro0PW7#dB3Fky`)pHKQLlmgD z*I^*a@Agoj?|pjq_1Vv74y4ajw72>CSyb!OADw6CdB;sl{-}4b=fFpHtD*!ak7y%# z470>!ck4TA?0d6V1^bIgKS2k-bUAFC4vPpcMTApxkxnNC{4WnBSWS%n?)lDxNAALR zW-)Y@@D`FAn3PY#29)d8*|jbZ|E?HRCQbP^6{3#c9%1;upH5Cbr0bqBoEGc{Qqvaz z4$<(}vx%fM)6N!jE+4OMP0OyJ|E^&5E?Tc{vg{5hxqfj>0VcYXz%|a=cHYkX-X))o z0u+8_Oje{yM4+VZ19&#%h5;6YzA;@~!}LhRTW)=cJ`%kS6h1K&bubKsmbJ?UAv-}B zn;}7DT9^kRw5|481g-|u#%#|(N)1{Zt0CzQ5fXjjBVOz^Efn~~qTrXF(9veVv^pgG z&X3P_j)lQ#!(OkXwh%3TQU5l*l)lg}j0RdQ9}|ppxQ*4AtT#CP3}_Oe_ClHmgJaR5 z!iMyJ0Gpail#KA38D206we`o)j4lW; zVUEDPJ>ZSE_Z*xRaQ_4?ptXVHDX7D5JV+^0{0#%l%tMo43~sXUD`T)aK@+|O)lh>B ztNpYxhvVUld^oubTbD7C;e4W4eRAaDux(MHRG}iel4wFbkyJx`=0f9ubP}d9ltvNO z?F1U#UHSv{1+>C~9AjzM9O(_5U&JCZFPhuXCiyJ{nzo`wHzOKX#S&|PVw0QoAIXf* zXB-CRU{+f&w%&x~3?WyY8G@Nm1M0oM(+3(LT3id{U+b7uCFypx>H7HEDzz8{WEyJe zX;cKK#0g_}`+$G)}r1CEqzZJ2) zHHa|yDJ2!N{fQ{e_{CS~OrfYrKIacYk;zmRLMk$Zk}Zw`fe!s)b`CuX4AIY&Qw`WW zO{GUDLtc#G9hCHElG3&)EmN|MV-7;k$?8guVJ%U|b<&+Y_jq*y>!!3zN$;9teCK727^^eg;Ovu!Q&`u3?T z;%3E}2=vz;OaR`>*p`RalTw-Zry zmihm|^8HZkL_Kilrpn#eTl|-@d;~YgXdM7cc+C)}(d!u=P>0|Z*x8KMy->HhhS{s4 zB-P4j6c_2c7PG;aE6HVMWr|7*5g9HKp{0_Bt!PTBW=l-~&U)y~qz?8cLUy}^D8umA z^yjoa;e%;@#FYXIi1^Kk#PFlgtNRj>dS=SKQ6mL&&UtjFAKimV?QhamRnXR;K&lBWGM+4966D(Tc&&dQaBk&=HKb9o; zhMw0eI1*_(I*+mqbLWZ4K^^syTlWWdHalyJC15gpZ*o^`DW{034WRIQYK*PX#pW+e z`{+(e8fn*#i8x`*v$$zPCMvR3R0?g7+ZWC}bFsi;l1QX*YfH6r&`nxj%0z`SAGS}* z`|;I%;U|0xCh)Jcd<}%P6?ZLz`O@))H%c5?_mwmOX4A-|VasLB=;uk-v^A>MaV|8M z)>Z3Z*XAi`gFnOz>?LcuC0E=f$=6hUD;oiZ=?lHYfq~oRav3*ikzYVxre)^yTdB7+Sku#!#6VM4P*JT4`6I6LVU1}KLb*9ztVcSoV;e~8F$pph@(q?nFRhSrufU&TTjq#D$S@g99@r$cMKRg2uvcY*a9 zf}o&?p_kT}F;Di(#d&X^GmRh!9w1=;yVz8%Oy;}Z zvoJTe#qA+##uj=K?sFDF$X>R+<*O@kAWx((ve>z}PT*x?FcLWyYv3z*JZ}{fjz4fo z)K4a_O|KCXBD^@u5d^BwoK#^`aoW0D$A{|`yo@pX;1163*_hk67sWNeo@M+)xUR!X zh9Pi+ndF2NnQOj-uiCbCSAjh`?{Z_|qPw^^;zIzX*i?hn!dQeVIz2~l`hZ}gpaR{< zerkV3o&K`oOnhim;-HgnVg9ZGFl7nNzilNgzeuM8(|k+O0vglAoxt8G*rXWCJTJl9 zIMy2-Z{2BN6lpH~#~Q~lK9sdj6AIFk%x@IOsik9XmNsh?3}P%GrVaDe+2P~pnBK6C z+jdrK+sSCP3e8&s#-2gajFPpdC?XkPy4L8D^klEvKk8K?$in#q0T{^&mW zp}4E*6?#{lLBnVA)Ia^4;745Uh8`CF4t*n%IveU|@W5VwOXV<{eWR&47n*W{cdP$x zW>-Gbyz*|EO*JH=iYfI9U|Frz%kg>H@_qH6FYGPUyG$V1Z^?F!+X>paWy&ORg-f&R z3dHaZK+7Hoa}){L#~XgHX!~m~CUFPH5L`@ecAApsa!QcnmHlBrJ~?o~@b@zGgUwl- z>ka&)T*q-KaHl-QRQZ8il%}E6GF6Qi7G9+tXRre=FEmjIw^XaMMClS;pyDQjtWa0o ziV^S3q$~=M8Gys-?TO`^LHr|>dVbxCWxn6=vci}BtQHBz7-b^zM2C!C%h%~3iSvdN zZdxhL;xpKSH1e+!5ArJOwA*kj^00$6VrHm`pV@C@lZ+fgkYbeNk&5vUyu#dpbLo$@ zaafT}&Oy>8O&1~t$Rb%?zc<~+(X;G&tVK*UC?Im{**`+v$iY$%NLg65hvpEI(3oU8 z*@6h+4`Y?1#ZPbP8WLbW+P}efBrK5je%sIJV&3ghG|z%uV{!O=%WlK!bW#9nDo?ow z5z&`cS72}?Hpt@pjuMsnYPn8cvU^=OxOi(1Wr8pMlWv* zimkq^e`-ZxU6L`D5E5G~Ka%zv+UUBFCTO~9uYALHS9z$y5QD&=aAH{*b??U!QdIGxTm|zmK??*4{Gxv14@iZPidvI{qv^x-F)+u+ZPB0!DESeV>S>CM<7!PO}Qr+`1^qfz@u^{8cQY+{P9#S zM?Rj2rBcdF=4v|Pi-&gjne0$9lg|Zrifra$1)9@(we9G7wme?|y3G_4^^Ch<@M^22 zHo3R}sHoM+>KN2y&h7LystuN2|HBI^2lJ6^I3G_WQ!$wF=Wsv6SZUe;{{oMS9NzdfEvZ;lTzWj==0rNXodbdnvDj0>8$qVc)8u;p@j*I zKYY5zfeJ^e#W@rTzCt6QN5{qc_5&^X;N(=|TKe_2?RZpn0Ka;L)q(arO#H5Z0z>Qv zTfIQ|d$I#!SHS}DI27H3xn);bnCx_#(hrjr$^UE)GSffS$$Xc>A;(2BQtK}i-Uq4! z_?jKW!LXj|14j$47saDUo*POi?~)(?xFDGm`{uW@AEhd(PMkmhZ6}jP@H(_1dYyn( znqpEDVrqEOC$8&yRBWUwef-V5*c6XRJ=w|QGoeH{#7iPev#j}8)wdh|kJf14JA()gYn=ov)|{rBDD7A$c*C`{7_PDsh9CsBwNy~f=mo)A5n(S2k^tB>PWQOZZr zDqQlob0d}}HT|f;tC@Q{fbt1j;0c7^y~wXFC`s>0Dw9Xf=a03d9g{}qt1L@L5Q99g zhv#e4PI8c~(6Ex#SI07`k?Mko(&0oh5HHs-O7~ObSHoz^#4U!~88e9!d|QtVWsYsj z<*(9GY#J99K^D&iO&0WzU-}Uy=x(L?MFD57Qf3j$lML$WS+IQQGLkD(XFG3f?91O7PIh zz%7L_WIdLwbs90+dB_~)1SMI~=# ziXa|Ox118C_DUyDyvTx+DVHFBU9R(0O@o~U_8>d&e5=>yJhN0J`gAp=SZ;2gzVhm#7%SW>-=LTz)%hQ0>*ZuGaPXuLYq zqUSu_WNBqB?sn#GUXJQW|a?7Dl^IM&Z)T*5bRYc3fx|vxcr(FZkqRS$v4|23J z0;nV!j}r!pSmIQY>uensA+8gcLpK=X5}C}%)-wlJZQUfql@!FaqBNmR3+fHA ze?#GylS1P~AdY%9?)kQs<+zw;dVVNzUQ7ELDvx0RPXQPPe@?U%j-!9)lTpq@*F^xo zC6S4XZ07$1`B^3;1KAkE^zWI(Dkh}uH76lTmrh29DP2h*Mo0`=Ksc_oP**&JB|24;bt%04da;uItPSG@%BthnOB9^lP|kuvf$^Q=9(ra@kkBBGFka50$5>}H7u+HAzz!&I-fDI|m^`mFNRk5>rKKj*;RB(bX_3VUJ`wNv(;f zd_Iwi8!OL5>qw*L$?!NVLK4|LlOau6$_KJ1P3Mwz0v{H4J4vkba2=bWD zJT&X_|BIbGk?Y7t-#pEc zaC>B#6;=6b_v1~Lkn6S!!cy8Y``_=<+RCj{tP&z;Lvhm6QH3T~ApISEZ4#i7*`H5r z-I8(Usvw8**LI3%*tOZxuAG`;f}@m|hOmp3lr`6DHAQCF9);%)Qus_hb0Qq$X=-su z0ZcfHy;S(Y@@#r_3I8AIJj(2rlE=~7WHy{8VAb(Ft@8bWFN3lCTxhT1@ z3pJuO5d=CDADRIZz31}{M+D5ypo=rD`CbPm1|K7raB}p(mh> z{^|qy%g#T5cN+4AYKI?p`|d7;Y%xeHA!^M&Q=)#&j~x=%d+-uy_;pl*JQzotPU4(d zFPt-f|1Of8$B|=zKD6LKmT`*0iZa;R1_=o&ZL$z|WvF3q%2nr?c zmxn}p@Hp$)AlWGr^l8bY42W#~AmJ?&DdEFsYd!abyl(FqZeLK;5))Ka1@2@5xX&4Q z7#yYG&{*#{4h?LJEquG}+*GC__+?RKbkuz*6Y%LEK|}F$F8qvgL(2vnYMJ7#_K8$$ zVz%m^-$SM16Sc;cV5oqKdsHLp;=QY7$D8E?WWUI9jJ$Kk*O_nU_-{vh$Q)a$>!>pN zhDp}}tDH8^pc%YYJPC<*3s-iOPT#20e7+9YHuF>_bV`+EXOTzy^$YY=BLAvwdfm(y$x(b+ z#%Etn{Q6?(&v7kameW)7z|hM4F=N&*MrW1tQmS^Cz$`)qv7}p7%iZUI8AN*#D_%im z+S$j*#xou!7J0xG5=9N@-&T9hU)D63Gj!6-@J@!lTMc-hlY~u!y#4ZU7U#^!w+Wg{ zWK7H~m4&Pb;D|(2dbAJRuBfk^$3$eaAJleqLKL-6)?w^Uw27dU=|<_X^^)_HvmlP| ze@nRLpQ=%%*<~1n?-_pM4)?>HQ_cp-FWjjpTnP&&-_FfO+KMq9AIYynU<6Eq>nLD< zGS8PP!nrWDoY8V9&C@-@GrKS*5HA8R&MvoCpo3D|NWnP77EAepVJFG;Qo1lhAD=Fj zTdPk-#NQ|_k63-x5YI{HYPVqXkY9iOLBw1SCDL845eOr3?0|FwUL6^3at`=o~Vx2HNXkE?%b_Bjzd zM5dnb{51%lz!F!di`SqPANW8{O1lQtxHTa>cER{I)KeOyZ!-|S0Hw6GkH5ocx8Wjx zUL~J`#%D0Ypj3~x%`z?YXIc9QuAKJI4(vIyGSn>7MRS5uNv)7e((=*NjlMNb7M#@% zy)?8$m<0QuK2pBtn+3&s+`0qmH)OPXJMhJs8CF(6y(5qfxi6_JFU^b3LXk$(7`YkB zM<%NkQ*3JPl_In0pRcRKXd`MlTPPBA%S$t87Dp|6W}pnahSFxu4zrltNL{6{<10~8 zYa?4gkfg5Dxs;M}v}Ln3gPaUB$9r!5P4(Kfce$vO= zQ~zX$X{21WRQjP>2@jI{aNId=Tt8<9m5(GFHJT8oy3c6}Vl&c2=LWMw#%yi=X^Fmo zAT>*A3=cO|?1YsTQ&?l~hzQQ5?_cRiS~r>AC?>)Zzdu<}PjBW)m-sUsWmlrf>kHjA z)Q&XWL;DZ4D$4&faL`?oMBLf()gcn=GHhIaM8=(aNz7 zK`oH<%IM@)l1Xk%EkVc`91*7yG?7jotFofK{{0t2!QhpzN|aGvp}6;tZMR!EzyM3K zG0?>r^L5ud;|GlKoE($%LGF){EWOu#b^%naP+Jt;vX|GoQ`B?XGkD(? zTihS8CNQqoYLYys16tf@X42D`CNllI50FP)&=8<0_Pk3`vjDS+B5#Tpv7iwK6*?_sB}cSzOKGj8t5!8lPf)$u?2+o~5DBhIobO zR&Yk7L7kqZ=e`}KUFOj(Y2i_xu4y7=b?st_nhNi0Q8=C}ksORB@L_$J6?$}DO&s(= z9z-M2IYcYvMd;}q@4kOD$W>_tF4gTPgeX*4serf@?SDO)vu1+dR^M(o0fybZPhZz5 zT}gjY&?{(`Kt?Cert&;%mctspCJ%lhv!qO7Q(<5cFMoJr^nV~gcc;k&HRWILmHGEWoI{gCw3dL}00{qUJ0+}sq&PZbL zUMKG2ZTsxSc)a`7R`Wir!fy|TfVc;A6YpC;#FpLZ#={G>rOU~|hd4g=hdbV@TP`oN zDKjMlu8LCFnuB^&gW|=Xsf^NJy}BYj7fx|r)?5+J*rj*f<@?|9 zUpuNS&PGX|o{Iql+cR3;Q)pkeFxtL=FVB}^4i&6oE$&jK?$A&548`x|GTs)Bo?)BM zUi>fVVD$^~M1>*Gm7c5>NzQ(OuHNJpff6W4i;v+39A0tW6@d8Ks<2MdEN`- z>r8r&4<6k{j$TI=}l1XROi9#Mm zoIHJQZ%WUu8TMM)*TA;d=DkuJZ0^y1&+$ahG)Gidh_`9Prmu<45l!o{)7t7g>M5P( zX&$@x$`;MaZu|p=M<7d-H z>uPX~S;cRwt^3|e=ZVX&k7W06+RywYPB&WS-%Xu0ExjG+yw_o!X1Bg4m)&_Ho@EpK zeynYSO3LBWA2b8KCnr-4GTmW}-BYiQd7iwBl&LR~y zCXCW~y}J&Aji4T%wZ0!D-bWgOGrOIi_dWnHvH#xyFj(}jFvfy`kY6YeZ)S{zLlLMn z|KFR=<2ePzbTpU%C!NU~;aL1ToJOG28vxBxDicYovhk$uR5}v``KNRX8nt*XAJpn3 z+Pt}3u@KJ>4eq_lKsi(iLsi9{%|JC+F2nO1hP`^N0lh-XM&gcgy~TPn7B1qhV79{< zud^qLqfWQp{&Hj+ma~2@$`^JPFPgK#a42+{-uD+)`C)Gi>~1$MSJTO~N#4rwFK%a< zYP0Fg)`><_wW&g_F8u7Kr-9XGD``{>u9CylRevYf=eJ&5W*gef*M8sh(h#De_?66+5{0^9-2 z_TP}$ASjgohQ!YA^+o<)kXS6;=>H9g{T&2@C)Hd&UnG%4tuxVFp;XM0_a8{C_BUc=8KiGo~|{UZT1d7Ryb|7+g+sR2iucvc0(Qi9sr*glW~7A z9ClWAs@-9$E&xwD*Ls=pcru-aVP>l1QE@U?I0^#B{qbz^pLtwvy0b-kuGVN0AKI(+ zdJ|Jxd}O-It$#Vt?Gqngk>mbw3>-v$rn|(xX5?NhXUF@}sdDnVwMVz-Os#qT)faHO z)AQAT7YB(=ZkOBa*>pEph#{@R^>u%{X#}7rxMR3GedoyYRoWlTbz4sm&9RNblh{-E z^`N%wztV$26oSCcrW^En{JQxEQ*MpO7|Au=K(#NKGbxCtBwb&%RP@ZyhCL>SEojINA}7qBz-*`@A6KN5n8wOcr{%l))9dIA51~h)P^{L4DD+4-QaiURtWE zK@sSMENWTNBD6{o%wgGSQD-81QQ;}^aCTNZlxlL8!u;@N9oadNNm(;J(0*0JPuEc? z(UqA>=QHT}Vcxdy%VXQN85mg`rv{FB)0r|3d);C>Vq8=8p}BO?Td^Rm*QF?QPA`8h zMOj}mb)#J0e@?Gm;PZ%Fd?TC(;ng6#N!Hyk#J&GnXJAn2%J3JysPaKuJy6DW&{4}shi6y+GzH60&q~5!Z=BtH*=o^#v4o9 zN9tzFJe!#f$r@wAN6Y*{xR5qP4k$OokdFl%^yGy$C62?Y+Hhs z*R}CJHcuFPT@VYJ+mM{l&hf!JJO9N&;3-*$WZYy<$FYno?AvylBaNs|9~_YvRs*$*pk{=K72{_Ufe!7n$YC+lt1=V^7eT9LF?nP z;F2JMZ*|4IOg=kSI`92&g>oK@Sf~(^#(0Q9Ghx;9x!+tzg!zDlmkzs{vw+Q@y{P0d zK2pUxL3q@Bls{$MQB-EaGM8u(fn%beo*|*sfy9`DoMMF@$D!0iap-=>eXl9^G4^2i z4@c$0c#-lk1c?!NhhyTL7xFUZ#dx4J%R}?Wf5>HIjFB9TE`{p2y|<1LyH) znavwtG6VuO6AEDH_60~X+XJ|jRUWM=81FmgHP#2w@xICUL_O|Q*Q8@sBUNRbOIM>Sq#PpI9a;lXd9U;2=+0(5L!JFadvK`6^p_HHuZpoqZD z%K5QC@M<1J_xmo_8KhoqFh#9gjVjY$%_JV0F+q_@sa)3Fh;&tUt%>%rR4SU#pvysV zZfvFz0!T$p(9htzvu%i{X=*A0wbq%inHy}MO^pCH4$F+yEqUflVaKqi(Tmpx$XgXO z``KNyn@n`gdnUFr;niS_*K9i5skP(Q4?7h7ZE02}vgJwaiBydaMiv3lr;fZHCE<b8gy`a^Z=Qzip2}OBJ!Z%Q?Qqr#Q#vyr%gg955?NDdTvwG*4OJ`@_j%BSfkq$Y6$FIhUg}iERB@dPZ~~3ZeAY8d zX9>*GKxo+U(NYkTJIUuW=7Xu^Hp?( ztgB*{>R!3rb3a0suHdmJJ+z(2Jd2#=!3letPp)gVWX|Sf>%cgYz*xlPrL$vQ&!Iw| z0RhXemo<3y^MBN5p|dQV$BDMNJ#w$$wtDdHh0RmoaK=%h9CvxwtQI!e9uvCHKY*d_ zpalS=|oh>!?XqE?jYvXbJX^+Nx-ls%b8{2Ytk3yHKK~%`b1tS7r-&ICUh5P-oTZLrtGesp zhWKl`Y{TMytkzy5PNE!cjjxuk;wau2>N_L8jP5RL0<5zqIU4=dTy?kgki>iQ+@lFj9JN1aaYXVFo0g#93a{)A<`%%*Ywz-#BtVwc>fq7 zs0RrD3*1e7K?aq|C_)4ReE7p`Z&GaxS3(?`1JYD|iqKI6)a_hOjJC<7q22$SQD_9O z@nMl0rHT0oGr3c-+sXjigGE@wNFepw$c#=(?2XS*C|}HXSOdW@qzOzkw8Xu{1U*#C z6#_VglAR^gMJ$q^wbR4HGRnh*&<#qS!*V$72h~{OIVr8d{p%&XXv)0|p!|NTh4+L@ zc8!sa8S)l^YmcAmBc1vS3wmsXI2X4?uPyN$kwyBC`bsgmudG1$Jv(oh%kT|rhe1WD znEBkSp-_nH54gCxr$&~z`S-5H2)BcSm6}AQTf3-f8z)A~x=5U=+dmDe1fgq-sK;#`EQgR)MqDiVaw^QvYE3K;-U8ke)n8$Q1C$N$v z;x7n6W*CEUkrx2mBO;;Vg4z=1!IR!dg%C{Q@fDNK&LX*>LOB8qui3OG!_<6MVH%FP z#Map{*5Tb#yf}zraWK@=Th#Tj!kCp(XjvnQ6)m*d66poa7)CAjpHlT%5>Gk9`*aSu*&AzQbEIc`7zJ|#;cH|hD48CMIyXUO zgi2;j7-h9dS^yN3PFj*^k%IG1vUr>RC5LH%#!wv7%$|4GF(}Tz>tv=KG&r0w7;ngI zr(vwlITQe3ah_EtX^+TR(%fc2Zy<=6ddYMX&J@m}Y$EZr2yjf<5vSsCl;81&GgzEY z8hNB<5hEHXy`fQg6}fvtj^1Mb)7V)>MFF<$8bOfmE92E;@x+}k28%=-%AgJD3DkA>$0Irw3E`Vj^RLqXUch4Zb2 z1Ztsg0Y?4@ev$k|vH<0~QAsvLfXs26Tzir0O*#>$uR0A{|F!!aJ@Bt2C`QiZ_)u$0 zM!)qM=vkT~ifXQuq4f)n>;XF}X(Uo;Zqnun^NcUc$5S(XdsiSPFOxv-)Nh+)ETyNg z5H#HqL2TpCccT$cE|V*uW6xA@CtenKYgj82+q!DcxSER>9p)#`TH_A1W8c zn1gWgUe`NcEwV-c&G*p5q!B$e+fMCeRSD-2qfhI*sAzH3wFV}dC3$Il(QzbrweEDj zx|>P3<=O&&+M5Rs4c6B&cfT>#!H;GJ0Q>gq31PLr5<_TOjZEB&26*Z*d})8A%1;8- zB@M`}tQ^#jeYmVV)VVTtR_Zp$6`GDS{8CLBo7J%t06pV1ABW0)+u3_m3m(WD&VXUo zf@xC6in42;XefTNH&to)(q1vr^9(gj{wp&%QRHZGDQvHEkpxUveMVufD^USZ32@FEu|O@$MhAcC)Mt2<~bA{6Pn5O1|1C*am|?> zdzLWE6AdR?a!X~IR_EN{DSDB6y!JO9~dXp{HI z_IEtmr@r{Iy`kiKKIzHP?d9LAyJhZ7Fi=E4rLOYouA%7bBkLi?q}|W#Aj;~ix$NDH z`E_>E2e<2>QtY=Z>tMkAK=IVV4E{X0){FD6pB%BP+XM#X}LLNPhL z{6-_;rz3aFTG3BzQBR|i>LW>&e`3I6onhUl>`C;K{Pp0xd2re3`0~0~+s;7W)nur~#NZDJ2n-CNWLkwuK6Fgk za`qKq{;@NY{s*4&uH$j>`?F2J^Ta~^7WT&vj~CIOWNbhL`I#7&H9b^6jafy5`aF$* zKZB1olc+oMb7zv2N|=I`>T!LB#z=-%c=n^w>?i+OhU{6Uu346iS+?g{4yrjW;W=)& z(cD-6Ilk;Ufv!2BjX9C$IZ>*4ap8GMqj_ondD-lF`L21zjd|tgc~zRg~qXljM z1>Nig{jLSWjRoW91yia;bKyk`qeUzKMVstJyRO9_8;g$5i$AHBT!fe0jFvq7m%Or< ze7ctWHkJaOmwr(#2MaHU8ZC$WFGprCM|Um9ZY;+?FDFo~Bnhvi7_9*OSJJarfL$wD z8!I`_D|u9_1;VREMytjCuhN&*@~+j&jn(Ss)mo~xdf~N3qqS!Lwbtyl_O7+gjkWIQ zwO*?Ae&O{&qxE6`_0jD0@ve37#`@Ir`ZU$XtnkLX(Z-_x#&Y(?YS+g4#>OW6d84Lo z@}XizLTOXTVUu+dd??g&ILV+qN3|Ej@>%n}TQI}9OR2TXoT47nnHxiKfsr)cAvKOE886m_R!N30 zK#EB{6+toao>lN=0bJ!LGdY3#!hy?Ejmt}oz>h84*hrJSi}ULZ#K8qe%yG}$37oDOB-Nk$XEw3d!Hac80*Cns2Ax^ln=jgNOohA0MhE z&wk}Kp}~+)Y-nfzjtX1>;-f{Rxe19k zh9HFy&QC$eR)egZj4H*L`|eL1qpXNv~FNNhiJK% zcuqK#@v3dqN0roPXWJL0$}<9H2ZSd3anz?S0l188DIs1v9dO8%5_ls2WQX#@E{h}a zYBz-N{PmSM7*1!^%Kr|G|6%qV-~2ix_yg-v-&-+;ZY!Tv2Vj&3oX2hcjSs*%K7(M# z5$Jt8GXH&T;dCT(D#mBRL7UT!^hNrZB?+jEi`sMHmV4>0a{KPv<>bqI`)<{~fD4bB z<6dLDIgzW1mur5pCz}$M=`u@9p@IBlr;X?k_HaGkdRS5c0d1jtJGAE)z5=6b^<2 z8p&up##KRvSJpP}CcqtX$Npj|{DqER<3Kq_*j=96 zR?SAWK*Bd#Qo!Zo6iC)tB#gZ2Xue3!-*^b9bpkFm>Iy){&^i*UA4yr`1N2dH4OeR*|AX4)o)JpEu1p_FQg@P&$wDh@5(4! zYajr{!TpEDEJ$HrvZ}HCxHvzz-Z3}SYvA^qMF^EcqSo%X(4*s4;Xrye1nS}Zwx(l@678i$Os?DiXUgYLrxi@(1C zSjKgFNvd-m&+O$0L+0hxX`LPNtjNyoXjP$<7C*(Z`Sw_f!z(2)*-+j?FeL^=giZzD z1~p7^J}XzMe(2x6N*L-Qowes1^V3%qtwE_w6fIF+yQ~D6i~k%X5X{7BM*QvfyBra^ zhTcA73S%7)BSch}-tG5wl*jU%OOlVTlyn3^S;*^)OxE?r2D#)Yw-Rih$s3zx}kRS9*K=^XAVcn>NGsG^G8nXtZJ`nz8p7wU}pL^B2s(u{zZ zNjtI<&o`}DaZ;UiZY{93yTTV8ei&F)&wA2Tu0DXSsY~z;)LqW_a$sCeaLi>&VUzk) zjnT|37`yB{k4^fLfFJ znax5z<1SlIHj1Z;CpRTP$CXmJrKG)8vr*)(MVV67SXSHCqLmhxb%XnGyL_fS)?XRZ zh}hKX)aR39I~^^BA9~}I9vB*tpK@BYeybHZo;H4l=(3T#`GY$Ez6xGn$T(Mt2F-qi9puj8b|J@B??#ZejVY?qBI)fBAN2HZtI%VgzTev{ zs6Z@^wRFogFf!fe5^wtp7eyRgz3q%>o*hK7Qen)#F<#8ABsviIk*Iv0)dC9RIPlPL z9bz?BOV&A^j(D1&1$v|>otQ~_z4Oi;L5hX z+q5#9YA{pOj5^K!pMYaLb;?-1Dxp#pK()GGhd4c>R$K0ULbbwdzt*)?BgK)J279NX z+&Sh$xt()jI(vaEnJeEQ6c<7~<`*{BNKf#?u`0&YZA8g2LlD*(<2lz*;5EKb&Ei;P zZzW|9ngV8#g<0DY5n{J_S;&%%A=dH$YCLVzb z`dQH9-aK5=(78v-7%Co)`3s3&n)9~@p=9uh?yfFWZ`S9^DT>aPL5n#xW7xU4MvCGG z!AClAS_MF})Q-k4oryU`c7D=bOSABM@K8OG*O?bkY?^z8)&+}JXx;29`YL|J9-8=G64-8B5D=Te#z`v(J(*hQPL5|Cs@NEg*m`c) z^k+dj?Q0%LYx=2~jQTubey!6pfXx~>8hUC16dBR|6A~Ip&gkcbwV_9vcmmHWwd4a1es6DN4XyP)3-Xq}b3j zwOzAb96suqvU@q2x0m@X(lxCF)v-80psx_yS@K)Q(P(~ovNEef_=8oS$dUlda140J z^kh%-fsy;4Ly4n%Mdj^-G_OptGVd4rRXl?8vYK?R#y??#zahBgzc?dhExaw~0BOQn z8%)5<5!3L>j5gs@TDO6_feRGZjUQ}0X9Wb-Fq9M;M2C&8x=7N^e~-n!@t`V)jT5+F z!MP~(B=6pjkfYh`BABbXkW~utTa_ErY7twM?U+*H7+Z4dTT?b;a+9S7>(w<(VHY0y_Je$pgL>^Nm@0l8p|WKd}h*~Yn*C+Sk9oeIT5 zkWK_%)=ua!b2W*yPzS6Bq}h2kON(+j;a%MtqdnI3%L)NsRU(3Pu8gbBN^JI@`BZS_X1R9( zeq+Og(`W(N<9g}FLSYWkZrR^9D{o|N1tWGzf!?c*ehl;5VKgDcG0qCzi@t`pgT zHj8fh3ljim&u?jl?7}%=h`!6`Y z9&z?($`^Vv*4(?2yOU9!`c|WLmdn8SWSKv|`UoOMNe)E0Sml7`QAzN!akSbUw3S(! zZ-oORh0GUay^S;2;+Yb(4X@W?JEdR$D*-tE9Zf7HBT6G?LN{Z5En!%nv0pzitN<6u zkdnx^YdjMT+$xMV*cR$T2~NmNE{jHZ9MCuw7EYlv?jWgc?RIApXN&@D_QtJ~6|de{TiZ15@d#U z7>V|MQ$QMOv|1o6W(PMTt0Gs4KVC{QPerm$t88R>Aj8v71|Bgmnm5-+P1yeG)$T;+ z2EhhOYr7d)KPQ4}4*zAV|)_|4}&% zAsy!y8e_Z9)6HOh3rQCEIMU82gg;&*b}ub)@+D@lQRxklj4Nf@dY9a8RN__VT1ajr zWk%)`xq!lZa!^AAx4TCy?k@y^DYZ?3Gkt2`!aa%LL&eVBaxgwpW| z9|$N>*%b&(*8Be~18Ti+IhaX6Vv$XC)coG$)3vOjALYr%hi$nv0&%3ZKeWOQd$&?;tr zxugp1zi0;na6hK}adLenT_hvg*ZzMIB@F6%{If2Us6PjiKvnRp9DDslWf_iQCQ`RpxafQFQlBUMlu- zyO+twCS-G@qZ0j*%3wHenDZN)yO>wvkDEgvqYtqk5p__$z*PS2HqYZ<#tTeqIhNWV z+y zLSC0zi%j~(Zqp`p^ODZGOQTDK?xToqONG6^@rSe?+livW(mFm+d@fL{Z_+N#UKA

hH|1rFYL00dex)E2`UMv!&bW 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 Ydus@&ZxN8*{?`EcKRvep?}6a|05HI}ZvX%Q literal 0 HcmV?d00001 diff --git a/res/silentdragonlite-animated.gif b/res/silentdragonlite-animated.gif new file mode 100644 index 0000000000000000000000000000000000000000..c7c521c8758595fafc2ce839908934b02df65d98 GIT binary patch literal 415920 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�VUT)dyMR)A859S44uU|hFe9O+?8{eM|&LKZ>3ae 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%0A)R?CJ-DMV3fskM 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 Bwut}$ literal 0 HcmV?d00001 From 43098f8c9f9e7dd3c9eeb98de888e453f849e023 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Fri, 1 May 2020 14:30:42 -0400 Subject: [PATCH 047/251] added bool oper. for new theme, plus new animations --- src/connection.cpp | 112 +++++++++++++++------------- src/sendtab.cpp | 181 ++++++++++++++++++++++++--------------------- 2 files changed, 157 insertions(+), 136 deletions(-) diff --git a/src/connection.cpp b/src/connection.cpp index 99666ac..26d6d2b 100644 --- a/src/connection.cpp +++ b/src/connection.cpp @@ -10,40 +10,52 @@ using json = nlohmann::json; -ConnectionLoader::ConnectionLoader(MainWindow* main, Controller* rpc) +ConnectionLoader::ConnectionLoader(MainWindow* main, Controller* rpc) { this->main = main; this->rpc = rpc; + d = new QDialog(main); connD = new Ui_ConnectionDialog(); connD->setupUi(d); - QPixmap logo(":/img/res/logobig.gif"); - connD->topIcon->setBasePixmap( - logo.scaled( - 256, - 256, - Qt::KeepAspectRatio, - Qt::SmoothTransformation - ) - ); + + auto theme = Settings::getInstance()->get_theme_name(); + qDebug() << theme << "theme has loaded"; + auto size = QSize(512,512); + + if (theme == "dark" || theme == "midnight") { + QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-startup-dark.gif");; + movie2->setScaledSize(size); + qDebug() << "Animation dark loaded"; + connD->topIcon->setMovie(movie2); + movie2->start(); + } else { + QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated-startup.gif");; + movie1->setScaledSize(size); + qDebug() << "Animation light loaded"; + connD->topIcon->setMovie(movie1); + movie1->start(); + } + main->logger->write("Set animation"); + qDebug() << "Set animation"; isSyncing = new QAtomicInteger(); } -ConnectionLoader::~ConnectionLoader() +ConnectionLoader::~ConnectionLoader() { delete isSyncing; delete connD; delete d; } -void ConnectionLoader::loadConnection() +void ConnectionLoader::loadConnection() { QTimer::singleShot(1, [=]() { this->doAutoConnect(); }); if (!Settings::getInstance()->isHeadless()) d->exec(); } -void ConnectionLoader::doAutoConnect() +void ConnectionLoader::doAutoConnect() { qDebug() << "Doing autoconnect"; auto config = std::shared_ptr(new ConnectionConfig()); @@ -54,29 +66,29 @@ void ConnectionLoader::doAutoConnect() main->logger->write(QObject::tr("Attempting to initialize library with ") + config->server); // Check to see if there's an existing wallet - if (litelib_wallet_exists(Settings::getDefaultChainName().toStdString().c_str())) + if (litelib_wallet_exists(Settings::getDefaultChainName().toStdString().c_str())) { main->logger->write(QObject::tr("Using existing wallet.")); char* resp = litelib_initialize_existing( - config->dangerous, + config->dangerous, config->server.toStdString().c_str() ); QString response = litelib_process_response(resp); - if (response.toUpper().trimmed() != "OK") + if (response.toUpper().trimmed() != "OK") { showError(response); return; } - } + } else { main->logger->write(QObject::tr("Create/restore wallet.")); createOrRestore(config->dangerous, config->server); d->show(); - } - + } + auto connection = makeConnection(config); auto me = this; @@ -97,14 +109,14 @@ void ConnectionLoader::doAutoConnect() // When sync is done, set the connection this->doRPCSetConnection(connection); }); - + // While it is syncing, we'll show the status updates while it is alive. QObject::connect(syncTimer, &QTimer::timeout, [=]() { // Check the sync status if (isSyncing != nullptr && isSyncing->load()) { // Get the sync status connection->doRPC("syncstatus", "", [=](json reply) { - if (isSyncing != nullptr && reply.find("synced_blocks") != reply.end()) + if (isSyncing != nullptr && reply.find("synced_blocks") != reply.end()) { qint64 synced = reply["synced_blocks"].get(); qint64 total = reply["total_blocks"].get(); @@ -117,8 +129,8 @@ void ConnectionLoader::doAutoConnect() qDebug() << "Sync error" << err; }); } - }); - + }); + syncTimer->setInterval(1* 1000); syncTimer->start(); @@ -127,16 +139,16 @@ void ConnectionLoader::doAutoConnect() }); } -void ConnectionLoader::createOrRestore(bool dangerous, QString server) +void ConnectionLoader::createOrRestore(bool dangerous, QString server) { // Close the startup dialog, since we'll be showing the wizard d->hide(); // Create a wizard - FirstTimeWizard wizard(dangerous, server); + FirstTimeWizard wizard(dangerous, server); wizard.exec(); } -void ConnectionLoader::doRPCSetConnection(Connection* conn) +void ConnectionLoader::doRPCSetConnection(Connection* conn) { qDebug() << "Connectionloader finished, setting connection"; rpc->setConnection(conn); @@ -144,26 +156,26 @@ void ConnectionLoader::doRPCSetConnection(Connection* conn) QTimer::singleShot(1, [=]() { delete this; }); } -Connection* ConnectionLoader::makeConnection(std::shared_ptr config) +Connection* ConnectionLoader::makeConnection(std::shared_ptr config) { return new Connection(main, config); } // Update the UI with the status -void ConnectionLoader::showInformation(QString info, QString detail) +void ConnectionLoader::showInformation(QString info, QString detail) { connD->status->setText(info); connD->statusDetail->setText(detail); } /** - * Show error will close the loading dialog and show an error. + * Show error will close the loading dialog and show an error. */ -void ConnectionLoader::showError(QString explanation) -{ +void ConnectionLoader::showError(QString explanation) +{ rpc->noConnection(); QMessageBox::critical( - main, + main, QObject::tr("Connection Error"), explanation, QMessageBox::Ok @@ -171,7 +183,7 @@ void ConnectionLoader::showError(QString explanation) d->close(); } -QString litelib_process_response(char* resp) +QString litelib_process_response(char* resp) { char* resp_copy = new char[strlen(resp) + 1]; //a safer version of strcpy @@ -185,15 +197,15 @@ QString litelib_process_response(char* resp) /*********************************************************************************** * Connection, Executor and Callback Class - ************************************************************************************/ -void Executor::run() + ************************************************************************************/ +void Executor::run() { char* resp = litelib_execute(this->cmd.toStdString().c_str(), this->args.toStdString().c_str()); QString reply = litelib_process_response(resp); //qDebug() << "RPC Reply=" << reply; auto parsed = json::parse( - reply.toStdString().c_str(), - nullptr, + reply.toStdString().c_str(), + nullptr, false ); if (parsed.is_discarded() || parsed.is_null()) @@ -204,14 +216,14 @@ void Executor::run() } -void Callback::processRPCCallback(json resp) +void Callback::processRPCCallback(json resp) { this->cb(resp); // Destroy self delete this; } -void Callback::processError(QString resp) +void Callback::processError(QString resp) { this->errCb(resp); // Destroy self @@ -226,7 +238,7 @@ Connection::Connection(MainWindow* m, std::shared_ptr conf) qRegisterMetaType("json"); } -void Connection::doRPC(const QString cmd, const QString args, const std::function& cb, const std::function& errCb) +void Connection::doRPC(const QString cmd, const QString args, const std::function& cb, const std::function& errCb) { if (shutdownInProgress) // Ignoring RPC because shutdown in progress @@ -242,26 +254,26 @@ void Connection::doRPC(const QString cmd, const QString args, const std::functio QObject::connect(runner, &Executor::responseReady, c, &Callback::processRPCCallback); QObject::connect(runner, &Executor::handleError, c, &Callback::processError); - QThreadPool::globalInstance()->start(runner); + QThreadPool::globalInstance()->start(runner); } -void Connection::doRPCWithDefaultErrorHandling(const QString cmd, const QString args, const std::function& cb) +void Connection::doRPCWithDefaultErrorHandling(const QString cmd, const QString args, const std::function& cb) { doRPC(cmd, args, cb, [=] (QString err) { this->showTxError(err); }); -} +} -void Connection::doRPCIgnoreError(const QString cmd, const QString args, const std::function& cb) +void Connection::doRPCIgnoreError(const QString cmd, const QString args, const std::function& cb) { doRPC(cmd, args, cb, [=] (auto) { // Ignored error handling }); } -void Connection::showTxError(const QString& error) +void Connection::showTxError(const QString& error) { - if (error.isNull()) + if (error.isNull()) return; // Prevent multiple dialog boxes from showing, because they're all called async @@ -271,8 +283,8 @@ void Connection::showTxError(const QString& error) shown = true; QMessageBox::critical( - main, - QObject::tr("Transaction Error"), + main, + QObject::tr("Transaction Error"), QObject::tr("There was an error sending the transaction. The error was:") + "\n\n" + error, QMessageBox::StandardButton::Ok ); @@ -281,8 +293,8 @@ void Connection::showTxError(const QString& error) /** * Prevent all future calls from going through - */ -void Connection::shutdown() + */ +void Connection::shutdown() { shutdownInProgress = true; } diff --git a/src/sendtab.cpp b/src/sendtab.cpp index 3fc5510..f854b2f 100644 --- a/src/sendtab.cpp +++ b/src/sendtab.cpp @@ -13,7 +13,7 @@ using json = nlohmann::json; void MainWindow::setupSendTab() { // Create the validator for send to/amount fields - amtValidator = new QRegExpValidator(QRegExp("[0-9]{0,8}\\.?[0-9]{0,8}")); + amtValidator = new QRegExpValidator(QRegExp("[0-9]{0,8}\\.?[0-9]{0,8}")); ui->Amount1->setValidator(amtValidator); @@ -39,10 +39,10 @@ void MainWindow::setupSendTab() { this->memoButtonClicked(1); }); setMemoEnabled(1, false); - + // This is the damnest thing ever. If we do AddressBook::readFromStorage() directly, the whole file // doesn't get read. It needs to run in a timer after everything has finished to be able to read - // the file properly. + // the file properly. QTimer::singleShot(2000, [=]() { updateLabelsAutoComplete(); }); // The first address book button @@ -84,7 +84,7 @@ void MainWindow::setupSendTab() { ui->lblMinerFeeUSD->setText(fee.toDecimalAUDString()); } }); - ui->minerFeeAmt->setText(Settings::getMinerFee().toDecimalString()); + ui->minerFeeAmt->setText(Settings::getMinerFee().toDecimalString()); // Set up focus enter to set fees QObject::connect(ui->tabWidget, &QTabWidget::currentChanged, [=] (int pos) { @@ -123,13 +123,13 @@ void MainWindow::setupSendTab() { } else if (Settings::getInstance()->get_currency_name() == "AUD") { QString feeUSD = CAmount::fromDecimalString(txt).toDecimalAUDString(); ui->lblMinerFeeUSD->setText(feeUSD); - } + } } }); - + //Fees validator - feesValidator = new QRegExpValidator(QRegExp("[0-9]{0,8}\\.?[0-9]{0,8}")); + feesValidator = new QRegExpValidator(QRegExp("[0-9]{0,8}\\.?[0-9]{0,8}")); ui->minerFeeAmt->setValidator(feesValidator); // Font for the first Memo label @@ -140,7 +140,7 @@ void MainWindow::setupSendTab() { // Recurring button QObject::connect(ui->chkRecurring, &QCheckBox::stateChanged, [=] (int checked) { if (checked) { - ui->btnRecurSchedule->setEnabled(true); + ui->btnRecurSchedule->setEnabled(true); // If this is the first time the button is checked, open the edit schedule dialog if (sendTxRecurringInfo == nullptr) { @@ -172,23 +172,23 @@ void MainWindow::disableRecurring() { void MainWindow::editSchedule() { // Only on testnet for now if (!Settings::getInstance()->isTestnet()) { - QMessageBox::critical(this, "Not Supported yet", + QMessageBox::critical(this, "Not Supported yet", "Recurring payments are only supported on Testnet for now.", QMessageBox::Ok); return; } // Check to see that recurring payments are not selected when there are 2 or more addresses if (ui->sendToWidgets->children().size()-1 > 2) { - QMessageBox::critical(this, tr("Cannot support multiple addresses"), + QMessageBox::critical(this, tr("Cannot support multiple addresses"), tr("Recurring payments doesn't currently support multiple addresses"), QMessageBox::Ok); return; } // Open the edit schedule dialog - auto recurringInfo = Recurring::getInstance()->getNewRecurringFromTx(this, this, + auto recurringInfo = Recurring::getInstance()->getNewRecurringFromTx(this, this, createTxFromSendPage(), this->sendTxRecurringInfo); if (recurringInfo == nullptr) { - // User pressed cancel. + // User pressed cancel. // If there is no existing recurring info, uncheck the recurring box if (sendTxRecurringInfo == nullptr) { ui->chkRecurring->setCheckState(Qt::Unchecked); @@ -205,11 +205,11 @@ void MainWindow::editSchedule() { void MainWindow::updateLabelsAutoComplete() { QList list; auto labels = AddressBook::getInstance()->getAllAddressLabels(); - + std::transform(labels.begin(), labels.end(), std::back_inserter(list), [=] (auto la) -> QString { return la.first % "/" % la.second; }); - + delete labelCompleter; labelCompleter = new QCompleter(list, this); labelCompleter->setCaseSensitivity(Qt::CaseInsensitive); @@ -221,7 +221,7 @@ void MainWindow::updateLabelsAutoComplete() { } } - + void MainWindow::addAddressSection() { int itemNumber = ui->sendToWidgets->children().size() - 1; @@ -239,7 +239,7 @@ void MainWindow::addAddressSection() { horizontalLayout_12->addWidget(label_4); auto Address1 = new QLineEdit(verticalGroupBox); - Address1->setObjectName(QString("Address") % QString::number(itemNumber)); + Address1->setObjectName(QString("Address") % QString::number(itemNumber)); Address1->setPlaceholderText(tr("Address")); QObject::connect(Address1, &QLineEdit::textChanged, [=] (auto text) { this->addressChanged(itemNumber, text); @@ -261,16 +261,16 @@ void MainWindow::addAddressSection() { auto horizontalLayout_13 = new QHBoxLayout(); horizontalLayout_13->setSpacing(6); - + auto label_6 = new QLabel(verticalGroupBox); label_6->setText(tr("Amount")); horizontalLayout_13->addWidget(label_6); auto Amount1 = new QLineEdit(verticalGroupBox); - Amount1->setPlaceholderText(tr("Amount")); - Amount1->setObjectName(QString("Amount") % QString::number(itemNumber)); + Amount1->setPlaceholderText(tr("Amount")); + Amount1->setObjectName(QString("Amount") % QString::number(itemNumber)); Amount1->setBaseSize(QSize(200, 0)); - Amount1->setAlignment(Qt::AlignRight); + Amount1->setAlignment(Qt::AlignRight); // Create the validator for send to/amount fields Amount1->setValidator(amtValidator); @@ -281,7 +281,7 @@ void MainWindow::addAddressSection() { horizontalLayout_13->addWidget(Amount1); auto AmtUSD1 = new QLabel(verticalGroupBox); - AmtUSD1->setObjectName(QString("AmtUSD") % QString::number(itemNumber)); + AmtUSD1->setObjectName(QString("AmtUSD") % QString::number(itemNumber)); horizontalLayout_13->addWidget(AmtUSD1); auto horizontalSpacer_4 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); @@ -289,7 +289,7 @@ void MainWindow::addAddressSection() { auto MemoBtn1 = new QPushButton(verticalGroupBox); MemoBtn1->setObjectName(QString("MemoBtn") % QString::number(itemNumber)); - MemoBtn1->setText(tr("Memo")); + MemoBtn1->setText(tr("Memo")); // Connect Memo Clicked button QObject::connect(MemoBtn1, &QPushButton::clicked, [=] () { this->memoButtonClicked(itemNumber); @@ -307,24 +307,24 @@ void MainWindow::addAddressSection() { MemoTxt1->setWordWrap(true); sendAddressLayout->addWidget(MemoTxt1); - ui->sendToLayout->insertWidget(itemNumber-1, verticalGroupBox); + ui->sendToLayout->insertWidget(itemNumber-1, verticalGroupBox); // Disable recurring payments if a address section is added, since recurring payments // aren't supported for more than 1 address delete sendTxRecurringInfo; sendTxRecurringInfo = nullptr; ui->lblRecurDesc->setText(""); - ui->chkRecurring->setChecked(false); + ui->chkRecurring->setChecked(false); ui->chkRecurring->setEnabled(false); // Set focus into the address Address1->setFocus(); // Delay the call to scroll to allow the scroll window to adjust - QTimer::singleShot(10, [=] () {ui->sendToScrollArea->ensureWidgetVisible(ui->addAddressButton);}); + QTimer::singleShot(10, [=] () {ui->sendToScrollArea->ensureWidgetVisible(ui->addAddressButton);}); } -void MainWindow::addressChanged(int itemNumber, const QString& text) { +void MainWindow::addressChanged(int itemNumber, const QString& text) { auto addr = AddressBook::addressFromAddressLabel(text); setMemoEnabled(itemNumber, Settings::isZAddress(addr)); } @@ -428,7 +428,7 @@ void MainWindow::memoButtonClicked(int number, bool includeReplyTo) { void MainWindow::clearSendForm() { // The last one is a spacer, so ignore that - int totalItems = ui->sendToWidgets->children().size() - 2; + int totalItems = ui->sendToWidgets->children().size() - 2; // Clear the first recipient fields auto addr = ui->sendToWidgets->findChild(QString("Address1")); @@ -451,14 +451,14 @@ void MainWindow::clearSendForm() { // Start the deletion after the first item, since we want to keep 1 send field there all there for (int i=1; i < totalItems; i++) { auto addressGroupBox = ui->sendToWidgets->findChild(QString("AddressGroupBox") % QString::number(i+1)); - + delete addressGroupBox; - } + } // Reset the recurring button if (Settings::getInstance()->isTestnet()) { - ui->chkRecurring->setEnabled(true); - } + ui->chkRecurring->setEnabled(true); + } ui->chkRecurring->setCheckState(Qt::Unchecked); ui->btnRecurSchedule->setEnabled(false); @@ -471,23 +471,23 @@ void MainWindow::maxAmountChecked(int checked) { if (checked == Qt::Checked) { ui->Amount1->setReadOnly(true); if (rpc == nullptr) return; - + // Calculate maximum amount CAmount sumAllAmounts; // Calculate all other amounts - int totalItems = ui->sendToWidgets->children().size() - 2; // The last one is a spacer, so ignore that + int totalItems = ui->sendToWidgets->children().size() - 2; // The last one is a spacer, so ignore that // Start counting the sum skipping the first one, because the MAX button is on the first one, and we don't - // want to include it in the sum. + // want to include it in the sum. for (int i=1; i < totalItems; i++) { auto amt = ui->sendToWidgets->findChild(QString("Amount") % QString::number(i+1)); sumAllAmounts = sumAllAmounts + CAmount::fromDecimalString(amt->text()); } sumAllAmounts = sumAllAmounts + Settings::getMinerFee(); - + auto maxamount = rpc->getModel()->getAvailableBalance() - sumAllAmounts; maxamount = (maxamount < 0) ? CAmount::fromqint64(0): maxamount; - + ui->Amount1->setText(maxamount.toDecimalString()); } else if (checked == Qt::Unchecked) { // Just remove the readonly part, don't change the content @@ -495,61 +495,61 @@ void MainWindow::maxAmountChecked(int checked) { } } -// Create a Tx from the current state of the send page. +// Create a Tx from the current state of the send page. Tx MainWindow::createTxFromSendPage() { Tx tx; // For each addr/amt in the sendTo tab - int totalItems = ui->sendToWidgets->children().size() - 2; // The last one is a spacer, so ignore that + int totalItems = ui->sendToWidgets->children().size() - 2; // The last one is a spacer, so ignore that CAmount totalAmt; for (int i=0; i < totalItems; i++) { QString addr = ui->sendToWidgets->findChild(QString("Address") % QString::number(i+1))->text().trimmed(); - + // Remove label if it exists addr = AddressBook::addressFromAddressLabel(addr); // QString dustamt = "0"; QString amtStr = ui->sendToWidgets->findChild(QString("Amount") % QString::number(i+1))->text().trimmed(); if (amtStr.isEmpty()) { amtStr = "-1";; // The user didn't specify an amount - } + } bool ok; CAmount amt; - - + + // Make sure it parses amtStr.toDouble(&ok); if (!ok) { amt = CAmount::fromqint64(-1); - + } else { amt = CAmount::fromDecimalString(amtStr); totalAmt = totalAmt + amt; - + } - + QString memo = ui->sendToWidgets->findChild(QString("MemoTxt") % QString::number(i+1))->text().trimmed(); - - + + tx.toAddrs.push_back( ToFields{addr, amt, memo} ); - - + + } - + tx.fee = Settings::getMinerFee(); - + return tx; } bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { - // Function to split the address to make it easier to read. - // Split it into chunks of 4 chars. + // Function to split the address to make it easier to read. + // Split it into chunks of 4 chars. auto fnSplitAddressForWrap = [=] (const QString& a) -> QString { if (Settings::isTAddress(a)) return a; @@ -601,8 +601,8 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { delete confirm.sendToAddrs->findChild("labelMinerFee"); delete confirm.sendToAddrs->findChild("minerFee"); delete confirm.sendToAddrs->findChild("minerFeeUSD"); - - // For each addr/amt/memo, construct the JSON and also build the confirm dialog box + + // For each addr/amt/memo, construct the JSON and also build the confirm dialog box int row = 0; CAmount totalSpending; @@ -632,7 +632,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalUSDString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (EUR) } else if (Settings::getInstance()->get_currency_name() == "EUR") { @@ -640,7 +640,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalEURString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (BTC) } else if (Settings::getInstance()->get_currency_name() == "BTC") { @@ -648,7 +648,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalBTCString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (CNY) } else if (Settings::getInstance()->get_currency_name() == "CNY") { @@ -656,7 +656,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalCNYString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (RUB) } else if (Settings::getInstance()->get_currency_name() == "RUB") { @@ -664,7 +664,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalRUBString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (CAD) } else if (Settings::getInstance()->get_currency_name() == "CAD") { @@ -672,7 +672,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalCADString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (SGD) } else if (Settings::getInstance()->get_currency_name() == "SGD") { @@ -680,7 +680,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalSGDString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (CHF) } else if (Settings::getInstance()->get_currency_name() == "CHF") { @@ -688,7 +688,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalCHFString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (INR) } else if (Settings::getInstance()->get_currency_name() == "INR") { @@ -696,7 +696,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalINRString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (GBP) } else if (Settings::getInstance()->get_currency_name() == "GBP") { @@ -704,7 +704,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalGBPString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); // Amount (AUD) } else if (Settings::getInstance()->get_currency_name() == "AUD") { @@ -712,7 +712,7 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { AmtUSD->setObjectName(QString("AmtUSD") % QString::number(i + 1)); AmtUSD->setText(toAddr.amount.toDecimalAUDString()); AmtUSD->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); - confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); + confirm.gridLayout->addWidget(AmtUSD, row, 2, 1, 1); } // Memo if (Settings::isZAddress(toAddr.addr) && !toAddr.memo.isEmpty()) { @@ -798,10 +798,10 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { // Syncing warning confirm.syncingWarning->setVisible(Settings::getInstance()->isSyncing()); - + // Show the dialog and submit it if the user confirms - return d.exec() == QDialog::Accepted; + return d.exec() == QDialog::Accepted; } // Send button clicked @@ -824,9 +824,9 @@ void MainWindow::sendButton() { } // Show a dialog to confirm the Tx - if (confirmTx(tx, sendTxRecurringInfo)) { - // If this is a recurring payment, save the hash so we can - // update the payment if it submits. + if (confirmTx(tx, sendTxRecurringInfo)) { + // If this is a recurring payment, save the hash so we can + // update the payment if it submits. QString recurringPaymentHash; // Recurring payments are enabled only if there is exactly 1 destination address. @@ -843,8 +843,18 @@ void MainWindow::sendButton() { auto d = new QDialog(this); auto connD = new Ui_ConnectionDialog(); connD->setupUi(d); - QPixmap logo(":/img/res/logobig.gif"); - connD->topIcon->setBasePixmap(logo.scaled(256, 256, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif");; + QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif");; + auto theme = Settings::getInstance()->get_theme_name(); + if (theme == "dark" || theme == "midnight") { + movie2->setScaledSize(QSize(512,512)); + connD->topIcon->setMovie(movie2); + movie2->start(); + } else { + movie1->setScaledSize(QSize(512,512)); + connD->topIcon->setMovie(movie1); + movie1->start(); + } connD->status->setText(tr("Please wait...")); connD->statusDetail->setText(tr("Computing your transaction")); @@ -852,8 +862,8 @@ void MainWindow::sendButton() { d->show(); // And send the Tx - rpc->executeTransaction(tx, - [=] (QString txid) { + rpc->executeTransaction(tx, + [=] (QString txid) { ui->statusBar->showMessage(Settings::txidStatusMessage + " " + txid); connD->status->setText(tr("Done!")); @@ -868,40 +878,40 @@ void MainWindow::sendButton() { // And switch to the balances tab ui->tabWidget->setCurrentIndex(0); }); - + // Force a UI update so we get the unconfirmed Tx rpc->refresh(true); // If this was a recurring payment, update the payment with the info if (!recurringPaymentHash.isEmpty()) { // Since this is the send button payment, this is the first payment - Recurring::getInstance()->updatePaymentItem(recurringPaymentHash, 0, + Recurring::getInstance()->updatePaymentItem(recurringPaymentHash, 0, txid, "", PaymentStatus::COMPLETED); } }, // Errored out [=] (QString opid, QString errStr) { ui->statusBar->showMessage(QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000); - + d->accept(); d->close(); delete connD; delete d; if (!opid.isEmpty()) - errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; + errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; // If this was a recurring payment, update the payment with the failure if (!recurringPaymentHash.isEmpty()) { // Since this is the send button payment, this is the first payment - Recurring::getInstance()->updatePaymentItem(recurringPaymentHash, 0, - "", errStr, PaymentStatus::ERROR); - } + Recurring::getInstance()->updatePaymentItem(recurringPaymentHash, 0, + "", errStr, PaymentStatus::ERROR); + } - QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); + QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); } ); - } + } } QString MainWindow::doSendTxValidations(Tx tx) { @@ -915,7 +925,7 @@ QString MainWindow::doSendTxValidations(Tx tx) { } // This technically shouldn't be possible, but issue #62 seems to have discovered a bug - // somewhere, so just add a check to make sure. + // somewhere, so just add a check to make sure. if (toAddr.amount.toqint64() < 0) { return QString(tr("Amount for address '%1' is invalid!").arg(toAddr.addr)); } @@ -937,4 +947,3 @@ QString MainWindow::doSendTxValidations(Tx tx) { void MainWindow::cancelButton() { clearSendForm(); } - From d97a12cbae2e5061ca359e3b2fa79281e8046299 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Fri, 1 May 2020 14:32:35 -0400 Subject: [PATCH 048/251] fixed setBasePixmap after UI change for animations, plus updated string to The Dragon Awakens... --- src/connection.ui | 15 ++++----------- src/controller.cpp | 2 +- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/src/connection.ui b/src/connection.ui index c421f68..69c6a7c 100644 --- a/src/connection.ui +++ b/src/connection.ui @@ -9,8 +9,8 @@ 0 0 - 513 - 201 + 512 + 513 @@ -33,7 +33,7 @@ 0 - + 0 @@ -55,7 +55,7 @@ - Starting Up + The Dragon Awakens... Qt::AlignCenter @@ -84,13 +84,6 @@ - - - FilledIconLabel - QLabel -

fillediconlabel.h
- - diff --git a/src/controller.cpp b/src/controller.cpp index 18a158e..3667401 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1523,7 +1523,7 @@ void Controller::shutdownhushd() QDialog d(main); Ui_ConnectionDialog connD; connD.setupUi(&d); - connD.topIcon->setBasePixmap(QIcon(":/icons/res/icon.ico").pixmap(256, 256)); + connD.topIcon->setPixmap(QIcon(":/icons/res/icon.ico").pixmap(256, 256)); connD.status->setText(QObject::tr("Please wait for SilentDragonLite to exit")); connD.statusDetail->setText(QObject::tr("Waiting for hushd to exit")); bool finished = false; From f515be1aa8898b6cb16febd3a06a1241926fb8ad Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 21:40:45 +0200 Subject: [PATCH 049/251] create a cid in addressbook but make it editable for the beginning --- src/addressbook.cpp | 9 +++------ src/addressbook.ui | 25 ++++++++++++++++--------- src/chatmodel.cpp | 7 ++++--- src/mainwindow.ui | 21 +++++++++++++++++---- 4 files changed, 40 insertions(+), 22 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index be13b82..1a2bad3 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -142,16 +142,15 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) bool sapling = true; rpc->createNewZaddr(sapling, [=] (json reply) { QString myAddr = QString::fromStdString(reply.get()[0]); - // QString myAddr = "zs1flslqurcnummsw37mfxkhx6d7uwpevlc78cdjyqrgng7357t8f3stm9fneeqtuupfnrt7f933a9"; QString message = QString("New Chat Address for your partner: ") + myAddr; + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); parent->ui->listReceiveAddresses->insertItem(0, myAddr); parent->ui->listReceiveAddresses->setCurrentIndex(0); - // ab.addr_chat->setText(myAddr); + qDebug() << "new generated myAddr" << myAddr; - // + ab.cid->setText(cid); ab.addr_chat->setText(myAddr); - // AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), myAddr, cid); }); model.updateUi(); //todo fix updating gui after adding rpc->refresh(true); @@ -168,8 +167,6 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) auto addr = ab.addr->text().trimmed(); auto myAddr = ab.addr_chat->text().trimmed(); QString newLabel = ab.label->text(); - // QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); - QString cid = ab.cid->text(); if (addr.isEmpty() || newLabel.isEmpty()) diff --git a/src/addressbook.ui b/src/addressbook.ui index f2344eb..c2d255d 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -27,9 +27,23 @@ + + + + Nickname + + + + + + + 40 + + + @@ -41,20 +55,13 @@ - + - Label + <html><head/><body><p>Conversation ID (editable):</p></body></html> - - - 40 - - - - diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 8a0689b..24523a1 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -129,8 +129,9 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) if ((ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)){ for(auto &p : AddressBook::getInstance()->getAllAddressLabels()){ - if (p.getCid() == c.second.getCid()){ - line += QString("<") + "verified" + QString("> :\n");} + if ((p.getCid() == c.second.getCid())){ + line+= QString("[") + "Verified Message" + QString("]"); ////Todo: Render a green checkmark instead of QString + } } line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString("incoming") + QString("> :\n"); @@ -152,7 +153,7 @@ QString ChatModel::getCidByTx(QString tx) { for(auto& pair : this->cidMap) { - qDebug() << "TXID=" << pair.first << " CID=" << pair.second; + // qDebug() << "TXID=" << pair.first << " CID=" << pair.second; } if(this->cidMap.count(tx) > 0) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 913907f..32affce 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1393,9 +1393,9 @@ - 720 + 350 50 - 481 + 291 20 @@ -1527,8 +1527,8 @@ - 870 - 90 + 820 + 60 331 20 @@ -1537,6 +1537,19 @@ <html><head/><body><p align="center"><br/></p></body></html> + + + + 690 + 60 + 131 + 20 + + + + <html><head/><body><p align="center">Conversation ID:</p></body></html> + + From c7d0acac71c03c44d553c97c35eef4435153810a Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 21:49:47 +0200 Subject: [PATCH 050/251] delete some debug outputs --- src/chatmodel.cpp | 2 +- src/controller.cpp | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 24523a1..89a7dde 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -65,7 +65,7 @@ void ChatModel::clear() void ChatModel::addMessage(ChatItem item) { QString key = this->generateChatItemID(item); - qDebug() << "inserting chatitem with id: " << key; + // qDebug() << "inserting chatitem with id: " << key; this->chatItems[key] = item; } diff --git a/src/controller.cpp b/src/controller.cpp index 36ac2c8..b0453d2 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -966,7 +966,7 @@ void Controller::refreshTransactions() { cid, // we have to set the cid here, its included in the headermemo txid ); - qDebug()<< "Message CID: " << cid; + // qDebug()<< "Message CID: " << cid; chatModel->addMessage(item); } @@ -1006,7 +1006,6 @@ void Controller::refreshChat(QListWidget *listWidget) void Controller::refreshContacts(QListWidget *listWidget) { - qDebug() << "Called Controller::refreshContacts(QListWidget *listWidget)"; contactModel->renderContactList(listWidget); } From 3b80b98c0dcd09e8a1c828c2ebaa4e905f32f153 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 23:06:50 +0200 Subject: [PATCH 051/251] prevent sending of empty memos from chatpage --- src/chatmodel.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 89a7dde..d3c78a0 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -131,6 +131,9 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) for(auto &p : AddressBook::getInstance()->getAllAddressLabels()){ if ((p.getCid() == c.second.getCid())){ line+= QString("[") + "Verified Message" + QString("]"); ////Todo: Render a green checkmark instead of QString + }else{ + + // line+= QString("[") + "Warning. Not verified!" + QString("]"); } } line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); @@ -234,7 +237,7 @@ Tx MainWindow::createTxFromChatPage() { } void MainWindow::sendChatButton() { - ////////////////////////////Todo: Check if its a zaddr////////// + ////////////////////////////Todo: Check if a Contact is selected////////// // Create a Tx from the values on the send tab. Note that this Tx object // might not be valid yet. @@ -242,17 +245,17 @@ void MainWindow::sendChatButton() { // Memos can only be used with zAddrs. So check that first // for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - // if (ui->ContactZaddr->text().trimmed() == c.getName()) { + if (ui->ContactZaddr->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { // auto addr = ""; // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { - // QMessageBox msg(QMessageBox::Critical, tr("Memos can only be used with z-addresses"), - // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), - // QMessageBox::Ok, this); + QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), + tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"), + QMessageBox::Ok, this); - // msg.exec(); - // return; - // } + msg.exec(); + return; + } Tx tx = createTxFromChatPage(); From e97a0b07c2b3aa43c55686f25885e2306e841c3c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 1 May 2020 23:40:14 +0200 Subject: [PATCH 052/251] merge in the sdl gifs from @csharpee, add check bob to render only verified messages --- src/chatmodel.cpp | 14 ++++++- src/mainwindow.ui | 99 +++++++++++++++++++++++++++-------------------- 2 files changed, 68 insertions(+), 45 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index d3c78a0..066eb60 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -277,8 +277,18 @@ void MainWindow::sendChatButton() { auto d = new QDialog(this); auto connD = new Ui_ConnectionDialog(); connD->setupUi(d); - QPixmap logo(":/img/res/logobig.gif"); - connD->topIcon->setBasePixmap(logo.scaled(256, 256, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif");; + QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif");; + auto theme = Settings::getInstance()->get_theme_name(); + if (theme == "dark" || theme == "midnight") { + movie2->setScaledSize(QSize(512,512)); + connD->topIcon->setMovie(movie2); + movie2->start(); + } else { + movie1->setScaledSize(QSize(512,512)); + connD->topIcon->setMovie(movie1); + movie1->start(); + } connD->status->setText(tr("Please wait...")); connD->statusDetail->setText(tr("Your Message will be send")); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 32affce..3196dff 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -18,8 +18,8 @@ :/icons/res/icon.ico:/icons/res/icon.ico - - + + 5 @@ -389,7 +389,7 @@ 0 0 1226 - 504 + 488 @@ -1332,17 +1332,17 @@ 0 - 80 + 40 341 - 561 + 551 - 6 - 40 + 0 + 0 311 20 @@ -1351,25 +1351,12 @@ <html><head/><body><p align="center">Hushchat Contactlist</p></body></html> - - - - 400 - 410 - 331 - 17 - - - - Memo - - 340 - 510 - 901 + 410 + 921 128 @@ -1377,8 +1364,8 @@ - 1180 - 460 + 1200 + 540 47 17 @@ -1393,9 +1380,9 @@ - 350 - 50 - 291 + 450 + 20 + 161 20 @@ -1410,7 +1397,7 @@ 340 - 80 + 40 921 371 @@ -1432,7 +1419,7 @@ 1130 - 650 + 590 114 25 @@ -1453,21 +1440,21 @@ - 340 - 460 - 67 + 350 + 550 + 81 17 - <html><head/><body><p>Send to :</p></body></html> + Send To : - 340 - 490 + 350 + 580 81 17 @@ -1480,7 +1467,7 @@ 420 - 460 + 550 691 20 @@ -1492,8 +1479,8 @@ - 943 - 20 + 50 + 600 211 25 @@ -1515,7 +1502,7 @@ 420 - 490 + 580 691 20 @@ -1527,8 +1514,8 @@ - 820 - 60 + 720 + 20 331 20 @@ -1540,8 +1527,8 @@ - 690 - 60 + 590 + 20 131 20 @@ -1550,6 +1537,32 @@ <html><head/><body><p align="center">Conversation ID:</p></body></html> + + + + 980 + 0 + 271 + 23 + + + + Render only authenticated messages + + + + + + 340 + 20 + 111 + 20 + + + + <html><head/><body><p align="center">Contact Name:</p></body></html> + + From 29492b73c3f8894888189834c8b57b5c067fff11 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 2 May 2020 00:06:36 +0200 Subject: [PATCH 053/251] render only memos from a valid cid if checkbox is true --- src/chatmodel.cpp | 24 +++++++++++++++++------- src/mainwindow.cpp | 1 + 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 066eb60..c6dd75d 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -129,24 +129,34 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) if ((ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)){ for(auto &p : AddressBook::getInstance()->getAllAddressLabels()){ - if ((p.getCid() == c.second.getCid())){ - line+= QString("[") + "Verified Message" + QString("]"); ////Todo: Render a green checkmark instead of QString - }else{ + + if ((ui->checkBox->isChecked() == true) && (p.getCid() != c.second.getCid())) + { + + + }else{ // line+= QString("[") + "Warning. Not verified!" + QString("]"); - } - } + + line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); line += QString("<") + QString("incoming") + QString("> :\n"); line += QString(c.second.getMemo()) + QString("\n"); view->addItem(line); - line =""; - }else{} + line =""; + } + + + } + } + + } } + void ChatModel::addCid(QString tx, QString cid) { this->cidMap[tx] = cid; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 2b252e4..f17bfc9 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -39,6 +39,7 @@ MainWindow::MainWindow(QWidget *parent) : ui->setupUi(this); + ui->checkBox->setChecked(true); logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite-wallet.log")); // Status Bar From 0223d6def84a940a794979b4031554ccf2120f5c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 01:03:29 +0200 Subject: [PATCH 054/251] add chatbubbles to render chat --- src/chatmodel.cpp | 103 ++++++++++++++++------------- src/chatmodel.h | 161 ++++++++++++++++++++++++++++++++++++++++++++- src/controller.cpp | 11 ++-- src/controller.h | 2 +- src/mainwindow.cpp | 95 +++++++++++++++++++++++++- src/mainwindow.h | 4 +- src/mainwindow.ui | 59 ++++++++++------- 7 files changed, 351 insertions(+), 84 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c6dd75d..7ca3090 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -10,6 +10,7 @@ #include #include #include +#include using namespace std; using namespace boost; @@ -80,11 +81,11 @@ void ChatModel::showMessages() { for(auto &c : this->chatItems) { - qDebug() << "[" << c.second.getTimestamp() << "] " << "<" << c.second.getAddress() << "> :" << c.second.getMemo(); + qDebug() << c.second.toChatLine(); } } -void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget &view) +void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView &view) { /*for(auto &c : this->chatItems) { @@ -94,66 +95,68 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget &view) //todo render items to view } -void ChatModel::renderChatBox(Ui::MainWindow* ui, QListWidget *view) +void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) { - - while(view->count() > 0) + // QStandardItemModel mymodel; + // QStandardItem* Items = new QStandardItem(myString); + QStandardItemModel* myModel = new QStandardItemModel(); + for(auto &c : this->chatItems) { - view->takeItem(0); - } - - QString line = ""; - - for(auto &c : this->chatItems){ - - QDateTime myDateTime; - - myDateTime.setTime_t(c.second.getTimestamp()); - //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid /// - if ((ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)) { - // if (c.second.getMemo.find()) - line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); - line += QString("<") + QString("Outgoing") + QString("> :\n"); - line += QString(c.second.getMemo()) + QString("\n"); - view->addItem(line); - line =""; + if ( + (ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && + (c.second.getMemo().startsWith("{") == false) && + (c.second.getMemo().isEmpty() == false) + ) + { + + QStandardItem* Items = new QStandardItem(c.second.toChatLine()); + Items->setData("Incoming", Qt::UserRole +1); + myModel->appendRow(Items); + qDebug()<text(); + ui->listChat->setModel(myModel); + ui->listChat->setMinimumSize(200,350); + ui->listChat->setItemDelegate(new ListViewDelegate()); + ui->listChat->show(); + } - ////////////////////////////////// Todo : Render green checkmark for contacts if cid = cid - We have to search for cid in txid/cid list - // QString cid = c.second.getCid(); - } - - if ((ui->MyZaddr->text().trimmed() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false)){ - for(auto &p : AddressBook::getInstance()->getAllAddressLabels()){ - - if ((ui->checkBox->isChecked() == true) && (p.getCid() != c.second.getCid())) - { + if ( + (ui->MyZaddr->text().trimmed() == c.second.getAddress()) && + (c.second.getMemo().startsWith("{") == false) && + (c.second.getMemo().isEmpty() == false) + ) + { - }else{ - - // line+= QString("[") + "Warning. Not verified!" + QString("]"); - + QStandardItem* Items1 = new QStandardItem(c.second.toChatLine()); + Items1->setData("Outgoing", Qt::UserRole +1); + myModel->appendRow(Items1); + qDebug()<text(); + } + ui->listChat->setModel(myModel); + ui->listChat->setMinimumSize(200,350); + ui->listChat->setItemDelegate(new ListViewDelegate()); + ui->listChat->show(); + } - line += QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); - line += QString("<") + QString("incoming") + QString("> :\n"); - line += QString(c.second.getMemo()) + QString("\n"); - view->addItem(line); - line =""; - } + + /////////////////////////Render only when CID=CID? + + // for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) + // { + + // if ((ui->checkBox->isChecked() == true) && (p.getCid() != c.second.getCid())) + // { - } + //} + // - } - - } - } @@ -247,6 +250,9 @@ Tx MainWindow::createTxFromChatPage() { } void MainWindow::sendChatButton() { + + + ////////////////////////////Todo: Check if a Contact is selected////////// // Create a Tx from the values on the send tab. Note that this Tx object @@ -420,6 +426,9 @@ Tx MainWindow::createTxForSafeContactRequest() { //////////////////De-activated for now/////////////////// void MainWindow::safeContactRequest() { + + + ////////////////////////////Todo: Check if its a zaddr////////// // Create a Tx from the values on the send tab. Note that this Tx object diff --git a/src/chatmodel.h b/src/chatmodel.h index fcc68bf..a060530 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -1,15 +1,161 @@ #ifndef CHATMODEL_H #define CHATMODEL_H #include +#include +#include +#include #include #include -#include +#include #include "precompiled.h" #include "mainwindow.h" #include "controller.h" #include "settings.h" #include "camount.h" +class ListViewDelegate : public QAbstractItemDelegate +{ + int d_radius; + int d_toppadding; + int d_bottompadding; + int d_leftpadding; + int d_rightpadding; + int d_verticalmargin; + int d_horizontalmargin; + int d_pointerwidth; + int d_pointerheight; + float d_widthfraction; + public: + inline ListViewDelegate(QObject *parent = nullptr); + + protected: + inline void paint(QPainter *painter, QStyleOptionViewItem const &option, QModelIndex const &index) const; + inline QSize sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const; +}; + +inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(5), d_verticalmargin(15), d_horizontalmargin(10), d_pointerwidth(10), d_pointerheight(17), d_widthfraction(.7) +{ + +} + +inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem const &option, QModelIndex const &index) const +{ + QTextDocument bodydoc; + QTextOption textOption(bodydoc.defaultTextOption()); + textOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); + bodydoc.setDefaultTextOption(textOption); + bodydoc.setDefaultFont(QFont("Roboto", 12)); + QString bodytext(index.data(Qt::DisplayRole).toString()); + bodydoc.setHtml(bodytext); + qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding; + bodydoc.setTextWidth(contentswidth); + qreal bodyheight = bodydoc.size().height(); + bool outgoing = index.data(Qt::UserRole + 1).toString() == "Outgoing"; + painter->save(); + painter->setRenderHint(QPainter::Antialiasing); + + // uncomment to see the area provided to paint this item + + //painter->drawRect(option.rect); + + painter->translate(option.rect.left() + d_horizontalmargin, option.rect.top() + ((index.row() == 0) ? d_verticalmargin : 0)); + + // background color for chat bubble + QColor bgcolor("fbffff"); + if (outgoing) + bgcolor = "#fffcfb"; + + // create chat bubble + QPainterPath pointie; + + // left bottom + pointie.moveTo(0, bodyheight + d_toppadding + d_bottompadding); + + // right bottom + pointie.lineTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - d_radius, + bodyheight + d_toppadding + d_bottompadding); + pointie.arcTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - 2 * d_radius, + bodyheight + d_toppadding + d_bottompadding - 2 * d_radius, + 2 * d_radius, 2 * d_radius, 270, 90); + + // right top + pointie.lineTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding, 0 + d_radius); + pointie.arcTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - 2 * d_radius, 0, + 2 * d_radius, 2 * d_radius, 0, 90); + + // left top + pointie.lineTo(0 + d_pointerwidth + d_radius, 0); + pointie.arcTo(0 + d_pointerwidth, 0, 2 * d_radius, 2 * d_radius, 90, 90); + + // left bottom almost (here is the pointie) + pointie.lineTo(0 + d_pointerwidth, bodyheight + d_toppadding + d_bottompadding - d_pointerheight); + pointie.closeSubpath(); + + // rotate bubble for outgoing messages + if (outgoing) + { + painter->translate(option.rect.width() - pointie.boundingRect().width() - d_horizontalmargin - d_pointerwidth, 0); + painter->translate(pointie.boundingRect().center()); + painter->rotate(180); + painter->translate(-pointie.boundingRect().center()); + } + + // now paint it! + painter->setPen(QPen(bgcolor)); + painter->drawPath(pointie); + painter->fillPath(pointie, QBrush(bgcolor)); + + // rotate back or painter is going to paint the text rotated... + if (outgoing) + { + painter->translate(pointie.boundingRect().center()); + painter->rotate(-180); + painter->translate(-pointie.boundingRect().center()); + } + + // set text color used to draw message body + QAbstractTextDocumentLayout::PaintContext ctx; + if (outgoing) + ctx.palette.setColor(QPalette::Text, QColor("black")); + else + ctx.palette.setColor(QPalette::Text, QColor("white")); + + // draw body text + painter->translate((outgoing ? 0 : d_pointerwidth) + d_leftpadding, 0); + bodydoc.documentLayout()->draw(painter, ctx); + + painter->restore(); +} + +inline QSize ListViewDelegate::sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const +{ + QTextDocument bodydoc; + QTextOption textOption(bodydoc.defaultTextOption()); + textOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); + bodydoc.setDefaultTextOption(textOption); + bodydoc.setDefaultFont(QFont("Roboto", 12)); + QString bodytext(index.data(Qt::DisplayRole).toString()); + bodydoc.setHtml(bodytext); + + // the width of the contents are the (a fraction of the window width) minus (margins + padding + width of the bubble's tail) + qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding; + + // set this available width on the text document + bodydoc.setTextWidth(contentswidth); + + QSize size(bodydoc.idealWidth() + d_horizontalmargin + d_pointerwidth + d_leftpadding + d_rightpadding, + bodydoc.size().height() + d_bottompadding + d_toppadding + d_verticalmargin + 1); // I dont remember why +1, haha, might not be necessary + + if (index.row() == 0) // have extra margin at top of first item + size += QSize(0, d_verticalmargin); + + return size; +} + + + + + class ChatItem { private: @@ -117,6 +263,15 @@ class ChatItem _outgoing = true; } + QString toChatLine() + { + QDateTime myDateTime; + myDateTime.setTime_t(_timestamp); + QString line = QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); + line += QString(_memo) + QString("\n"); + return line; + } + ~ChatItem() { /*delete timestamp; @@ -145,8 +300,8 @@ class ChatModel void setItems(std::map items); QString zaddr(); void setItems(std::vector items); - void renderChatBox(Ui::MainWindow* ui, QListWidget &view); - void renderChatBox(Ui::MainWindow* ui, QListWidget *view); + void renderChatBox(Ui::MainWindow* ui, QListView &view); + void renderChatBox(Ui::MainWindow* ui, QListView *view); void showMessages(); void clear(); void addMessage(ChatItem item); diff --git a/src/controller.cpp b/src/controller.cpp index 2fe9b52..50db859 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -893,8 +893,8 @@ void Controller::refreshTransactions() { QString(""), memo, cid, // we have to set the cid here, its included in our Addressbook for this contact - txid - // true // is an outgoing message + txid, + true // is an outgoing message ); chatModel->addMessage(item); } @@ -964,7 +964,8 @@ void Controller::refreshTransactions() { QString(""), memo, cid, // we have to set the cid here, its included in the headermemo - txid + txid, + false ); // qDebug()<< "Message CID: " << cid; chatModel->addMessage(item); @@ -990,7 +991,7 @@ void Controller::refreshTransactions() { // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); - chatModel->renderChatBox(ui, ui->listChatMemo); + chatModel->renderChatBox(ui, ui->listChat); refreshContacts( ui->listContactWidget @@ -998,7 +999,7 @@ void Controller::refreshTransactions() { }); } -void Controller::refreshChat(QListWidget *listWidget) +void Controller::refreshChat(QListView *listWidget) { chatModel->renderChatBox(ui, listWidget); diff --git a/src/controller.h b/src/controller.h index 4a0835f..59cfa40 100644 --- a/src/controller.h +++ b/src/controller.h @@ -72,7 +72,7 @@ public: void refreshGBPCAP(); void refreshAUDCAP(); - void refreshChat(QListWidget *listWidget); + void refreshChat(QListView *listWidget); void refreshContacts(QListWidget *listWidget); void executeStandardUITransaction(Tx tx); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index f17bfc9..254798f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -993,6 +993,92 @@ void MainWindow::setupchatTab() { ///////// Set selected Zaddr for Chat with Doubleklick QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { + + QStandardItemModel mymodel; + + // for(auto &c : this->chatItems) + //{ + //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid + + /// + // if ( + // (ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && + // (c.second.getMemo().startsWith("{") == false) && + // (c.second.getMemo().isEmpty() == false) + // ) + // { + // if (c.second.getMemo.find()) + + //view->addItem(line); + + // QStandardItem *item1 = new QStandardItem(c.second.toChatLine()); + // item1->setData("Incoming", Qt::UserRole + 1); + // model.appendRow(item1); + + QStandardItem *item1 = new QStandardItem("Kacke Hier"); + item1->setData("Incoming", Qt::UserRole +1); + mymodel.appendRow(item1); + qDebug()<text(); + + + QStandardItem *item2 = new QStandardItem("This is item one"); + item2->setData("Outgoing", Qt::UserRole +1); + mymodel.appendRow(item2); + qDebug()<text(); + + QStandardItem *item3 = new QStandardItem("This is item one"); + item3->setData("Outgoing", Qt::UserRole +1); + mymodel.appendRow(item3); + qDebug()<text(); + + // QStandardItem *item2 = new QStandardItem("Hallo"); + // item1->setData("Outgoing", Qt::UserRole + 1); + // mymodel.appendRow(item2); + // qDebug()<text(); + + ////////////////////////////////// Todo : Render green checkmark for contacts if cid = cid - We have to search for cid in txid/cid list + // QString cid = c.second.getCid(); + + // } + + // if ( + // (ui->MyZaddr->text().trimmed() == c.second.getAddress()) && + // (c.second.getMemo().startsWith("{") == false) && + // (c.second.getMemo().isEmpty() == false) + // ) + // { + + + // for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) + // { + + // if ((ui->checkBox->isChecked() == true) && (p.getCid() != c.second.getCid())) + // { + + + //} + // else + // { + // line+= QString("[") + "Warning. Not verified!" + QString("]"); + // QStandardItem *item = new QStandardItem(c.second.toChatLine()); + //view->addItem(line); + // model.appendRow(item); + // } + +// } + + //} + + // } + + + + + ui->listChat->setModel(&mymodel); + ui->listChat->setItemDelegate(new ListViewDelegate()); + ui->listChat->show(); + //ui->listChat->update(); + QModelIndex index = ui->listContactWidget->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); @@ -1005,8 +1091,12 @@ void MainWindow::setupchatTab() { ui->contactCid->setText(p.getCid()); rpc->refresh(true); + updateChat(); } }); + + + } ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { @@ -1052,12 +1142,13 @@ void ChatMemoEdit::setSendChatButton(QPushButton* button) { void MainWindow::updateChat() { - rpc->refreshChat(ui->listChatMemo); + rpc->refreshChat(ui->listChat); + rpc->refresh(true); + } void MainWindow::updateContacts() { - qDebug() << "Called MainWindow::updateContacts()"; rpc->refreshContacts(ui->listContactWidget); } diff --git a/src/mainwindow.h b/src/mainwindow.h index 7114eda..1110f67 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -54,6 +54,7 @@ public: bool isWebsocketListening(); void createWebsocket(QString wormholecode); void stopWebsocket(); + void balancesReady(); void payhushURI(QString uri = "", QString myAddr = ""); @@ -92,8 +93,9 @@ private: void setupBalancesTab(); void setuphushdTab(); void setupchatTab(); - void updateChat(); + void updateContacts(); + void updateChat(); void setupSettingsModal(); void setupStatusBar(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 3196dff..fb02214 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1390,31 +1390,6 @@ <html><head/><body><p align="center"><br/></p></body></html> - - - true - - - - 340 - 40 - 921 - 371 - - - - QAbstractItemView::NoEditTriggers - - - false - - - Qt::IgnoreAction - - - QAbstractItemView::NoSelection - - @@ -1563,6 +1538,40 @@ <html><head/><body><p align="center">Contact Name:</p></body></html> + + + + 340 + 40 + 921 + 371 + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + QAbstractScrollArea::AdjustToContents + + + QAbstractItemView::NoEditTriggers + + + QListView::Adjust + + + 0 + + + false + + + true + + From 58bee815a54909be19a6bbb14ce7b1bd179240a2 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 01:25:56 +0200 Subject: [PATCH 055/251] change color in chat --- src/chatmodel.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/chatmodel.h b/src/chatmodel.h index a060530..b4caa95 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -61,9 +61,9 @@ inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem cons painter->translate(option.rect.left() + d_horizontalmargin, option.rect.top() + ((index.row() == 0) ? d_verticalmargin : 0)); // background color for chat bubble - QColor bgcolor("fbffff"); + QColor bgcolor("#535353"); if (outgoing) - bgcolor = "#fffcfb"; + bgcolor = "#eeeeee"; // create chat bubble QPainterPath pointie; From 7b40755d42582e82a80bd2aa9c15bce2e0509758 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 11:35:05 +0200 Subject: [PATCH 056/251] improve some UI elements --- src/chatmodel.cpp | 73 +++++++++++++------------- src/controller.cpp | 44 ++++++++++++---- src/mainwindow.cpp | 101 ++++------------------------------- src/mainwindow.ui | 128 +++++++++------------------------------------ 4 files changed, 105 insertions(+), 241 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 7ca3090..7b656f7 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -97,21 +97,39 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView &view) void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) { - // QStandardItemModel mymodel; - // QStandardItem* Items = new QStandardItem(myString); - QStandardItemModel* myModel = new QStandardItemModel(); - for(auto &c : this->chatItems) + + + QStandardItemModel* myModel = new QStandardItemModel(); + + + for (auto &c : this->chatItems) + for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) { + + + //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid - /// if ( - (ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && - (c.second.getMemo().startsWith("{") == false) && - (c.second.getMemo().isEmpty() == false) + (ui->contactNameMemo->text().trimmed() == c.second.getContact()) && + (c.second.getMemo().startsWith("{") == false) && + (c.second.getMemo().isEmpty() == false) && + (p.getPartnerAddress() == c.second.getAddress()) + ) - { + { + + // for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) + + + // { + // if ((ui->checkBox->isChecked() == true) && (p.getCid() != c.second.getCid())) + + // { + // } + + QStandardItem* Items = new QStandardItem(c.second.toChatLine()); Items->setData("Incoming", Qt::UserRole +1); myModel->appendRow(Items); @@ -120,14 +138,14 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); ui->listChat->show(); - } - - + } + if ( - (ui->MyZaddr->text().trimmed() == c.second.getAddress()) && + (ui->contactNameMemo->text().trimmed() == c.second.getContact()) && (c.second.getMemo().startsWith("{") == false) && - (c.second.getMemo().isEmpty() == false) + (c.second.getMemo().isEmpty() == false) && + (p.getMyAddress() == c.second.getAddress()) ) { @@ -141,22 +159,9 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); ui->listChat->show(); - } - - - /////////////////////////Render only when CID=CID? - - // for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) - // { - // if ((ui->checkBox->isChecked() == true) && (p.getCid() != c.second.getCid())) - // { - - - //} - // - - + } + } @@ -223,7 +228,7 @@ Tx MainWindow::createTxFromChatPage() { for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - if (ui->ContactZaddr->text().trimmed() == c.getPartnerAddress()) { + if (ui->contactNameMemo->text().trimmed() == c.getName()) { QString cid = c.getCid(); QString myAddr = c.getMyAddress(); @@ -233,6 +238,7 @@ Tx MainWindow::createTxFromChatPage() { QString hmemo= createHeaderMemo(type,cid,myAddr); QString memo = ui->memoTxtChat->toPlainText().trimmed(); + // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; @@ -261,7 +267,7 @@ void MainWindow::sendChatButton() { // Memos can only be used with zAddrs. So check that first // for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - if (ui->ContactZaddr->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { + if (ui->contactNameMemo->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { // auto addr = ""; // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { @@ -397,7 +403,7 @@ Tx MainWindow::createTxForSafeContactRequest() { for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - if (ui->ContactZaddr->text().trimmed() == c.getName()) { + if (ui->contactNameMemo->text().trimmed() == c.getName()) { // QString cid = c.getCid(); // This has to be a new cid for the contact // QString myAddr = c.getMyAddress(); // this should be a new HushChat zaddr @@ -426,9 +432,6 @@ Tx MainWindow::createTxForSafeContactRequest() { //////////////////De-activated for now/////////////////// void MainWindow::safeContactRequest() { - - - ////////////////////////////Todo: Check if its a zaddr////////// // Create a Tx from the values on the send tab. Note that this Tx object diff --git a/src/controller.cpp b/src/controller.cpp index 50db859..7db0ff0 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -881,24 +881,34 @@ void Controller::refreshTransactions() { memo = QString::fromStdString(o["memo"]); QString cid; + QString contact; + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - if ((ui->ContactZaddr->text().trimmed() == c.getPartnerAddress()) || (ui->MyZaddr->text().trimmed() == c.getMyAddress())) { + { + if (ui->contactNameMemo->text().trimmed() == c.getName()) { cid = c.getCid(); - }else {cid = "";} + }else {cid = "";} + + if (address == c.getPartnerAddress()){ + contact = c.getName(); + }else{ contact = "";} + ChatItem item = ChatItem( datetime, address, - QString(""), + contact, memo, cid, // we have to set the cid here, its included in our Addressbook for this contact txid, true // is an outgoing message ); chatModel->addMessage(item); - } - + + } + + } items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; @@ -912,7 +922,6 @@ void Controller::refreshTransactions() { }else{ - addresses.push_back(item.address); } } @@ -957,19 +966,34 @@ void Controller::refreshTransactions() { else cid = ""; } - + + QString contact; + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + // for (auto &p : this->chatItems) + { + + if (address == c.getMyAddress()){ + contact = c.getName(); + qDebug()<< "Addressbuch Addresse: " << c.getMyAddress(); + qDebug()<< "Addresse: " << address; + + }else{ contact = "ELSE";} + ChatItem item = ChatItem( datetime, address, - QString(""), + contact, memo, cid, // we have to set the cid here, its included in the headermemo txid, false ); - // qDebug()<< "Message CID: " << cid; - chatModel->addMessage(item); + // qDebug()<< "KontaktName: " << contact; + + // qDebug()<< "Addressbuch Addresse: " << c.getMyAddress(); + chatModel->addMessage(item); +} } } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 254798f..0d1e984 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -39,8 +39,12 @@ MainWindow::MainWindow(QWidget *parent) : ui->setupUi(this); - ui->checkBox->setChecked(true); + // ui->checkBox->setChecked(true); logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite-wallet.log")); + ui->memoTxtChat->setAutoFillBackground(false); + // ui->memoTxtChat->setStyleSheet(QString::fromUtf8("background-color: rgb(224, 224, 224);")); + ui->memoTxtChat->setPlaceholderText("Send Message"); + ui->memoTxtChat->setTextColor(Qt::white); // Status Bar setupStatusBar(); @@ -994,109 +998,22 @@ void MainWindow::setupchatTab() { QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { - QStandardItemModel mymodel; - - // for(auto &c : this->chatItems) - //{ - //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid - - /// - // if ( - // (ui->ContactZaddr->text().trimmed() == c.second.getAddress()) && - // (c.second.getMemo().startsWith("{") == false) && - // (c.second.getMemo().isEmpty() == false) - // ) - // { - // if (c.second.getMemo.find()) - - //view->addItem(line); - - // QStandardItem *item1 = new QStandardItem(c.second.toChatLine()); - // item1->setData("Incoming", Qt::UserRole + 1); - // model.appendRow(item1); - - QStandardItem *item1 = new QStandardItem("Kacke Hier"); - item1->setData("Incoming", Qt::UserRole +1); - mymodel.appendRow(item1); - qDebug()<text(); - - - QStandardItem *item2 = new QStandardItem("This is item one"); - item2->setData("Outgoing", Qt::UserRole +1); - mymodel.appendRow(item2); - qDebug()<text(); - - QStandardItem *item3 = new QStandardItem("This is item one"); - item3->setData("Outgoing", Qt::UserRole +1); - mymodel.appendRow(item3); - qDebug()<text(); - - // QStandardItem *item2 = new QStandardItem("Hallo"); - // item1->setData("Outgoing", Qt::UserRole + 1); - // mymodel.appendRow(item2); - // qDebug()<text(); - - ////////////////////////////////// Todo : Render green checkmark for contacts if cid = cid - We have to search for cid in txid/cid list - // QString cid = c.second.getCid(); - - // } - - // if ( - // (ui->MyZaddr->text().trimmed() == c.second.getAddress()) && - // (c.second.getMemo().startsWith("{") == false) && - // (c.second.getMemo().isEmpty() == false) - // ) - // { - - - // for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) - // { - - // if ((ui->checkBox->isChecked() == true) && (p.getCid() != c.second.getCid())) - // { - - - //} - // else - // { - // line+= QString("[") + "Warning. Not verified!" + QString("]"); - // QStandardItem *item = new QStandardItem(c.second.toChatLine()); - //view->addItem(line); - // model.appendRow(item); - // } - -// } - - //} - - // } - - - - - ui->listChat->setModel(&mymodel); - ui->listChat->setItemDelegate(new ListViewDelegate()); - ui->listChat->show(); - //ui->listChat->update(); - QModelIndex index = ui->listContactWidget->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) if (label_contact == p.getName()) { - ui->ContactZaddr->setText(p.getPartnerAddress()); - ui->MyZaddr->setText(p.getMyAddress()); + // ui->ContactZaddr->setText(p.getPartnerAddress()); + // ui->MyZaddr->setText(p.getMyAddress()); ui->contactNameMemo->setText(p.getName()); - ui->contactCid->setText(p.getCid()); + ui->memoTxtChat->clear(); rpc->refresh(true); - updateChat(); + // updateChat(); } }); - - } ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { diff --git a/src/mainwindow.ui b/src/mainwindow.ui index fb02214..0c6d66b 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1351,21 +1351,24 @@ <html><head/><body><p align="center">Hushchat Contactlist</p></body></html> - + 340 - 410 + 460 921 - 128 + 131 + + font: 11pt "Noto Color Emoji"; + - 1200 - 540 + 1190 + 610 47 17 @@ -1393,8 +1396,8 @@ - 1130 - 590 + 710 + 610 114 25 @@ -1412,45 +1415,6 @@ false - - - - 350 - 550 - 81 - 17 - - - - Send To : - - - - - - 350 - 580 - 81 - 17 - - - - <html><head/><body><p>My zaddr :</p></body></html> - - - - - - 420 - 550 - 691 - 20 - - - - - - @@ -1473,58 +1437,6 @@ false - - - - 420 - 580 - 691 - 20 - - - - - - - - - - 720 - 20 - 331 - 20 - - - - <html><head/><body><p align="center"><br/></p></body></html> - - - - - - 590 - 20 - 131 - 20 - - - - <html><head/><body><p align="center">Conversation ID:</p></body></html> - - - - - - 980 - 0 - 271 - 23 - - - - Render only authenticated messages - - @@ -1544,7 +1456,7 @@ 340 40 921 - 371 + 421 @@ -1572,6 +1484,19 @@ true + + + + 340 + 430 + 911 + 31 + + + + Qt::Horizontal + + @@ -1743,11 +1668,6 @@ - - MemoEdit - QPlainTextEdit -
memoedit.h
-
AddressCombo QComboBox From dc4c386f3845142daf50efefdbe1aa43a2eb3aa3 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 12:10:51 +0200 Subject: [PATCH 057/251] change datetime format in chatmodel --- src/chatmodel.cpp | 35 ++++++++++++++++++----------------- src/chatmodel.h | 5 +++-- src/mainwindow.ui | 13 ------------- 3 files changed, 21 insertions(+), 32 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 7b656f7..c139c03 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -117,27 +117,22 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) (p.getPartnerAddress() == c.second.getAddress()) ) - { - - // for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) - - - // { - // if ((ui->checkBox->isChecked() == true) && (p.getCid() != c.second.getCid())) - - // { - - // } - + { QStandardItem* Items = new QStandardItem(c.second.toChatLine()); Items->setData("Incoming", Qt::UserRole +1); myModel->appendRow(Items); - qDebug()<text(); - ui->listChat->setModel(myModel); - ui->listChat->setMinimumSize(200,350); - ui->listChat->setItemDelegate(new ListViewDelegate()); - ui->listChat->show(); + + + ui->listChat->setResizeMode(QListView::Adjust); + ui->listChat->setWordWrap(true); + ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); + ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + ui->listChat->setModel(myModel); + ui->listChat->setMinimumSize(200,350); + ui->listChat->setItemDelegate(new ListViewDelegate()); + ui->listChat->show(); } @@ -155,6 +150,12 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) myModel->appendRow(Items1); qDebug()<text(); } + + ui->listChat->setResizeMode(QListView::Adjust); + ui->listChat->setWordWrap(true); + ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); + ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); ui->listChat->setModel(myModel); ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); diff --git a/src/chatmodel.h b/src/chatmodel.h index b4caa95..490f336 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -13,6 +13,7 @@ #include "settings.h" #include "camount.h" + class ListViewDelegate : public QAbstractItemDelegate { int d_radius; @@ -267,8 +268,8 @@ class ChatItem { QDateTime myDateTime; myDateTime.setTime_t(_timestamp); - QString line = QString("[") + myDateTime.toString("dd.MM.yyyy hh:mm:ss ") + QString("] "); - line += QString(_memo) + QString("\n"); + QString line = QString("[") + myDateTime.toString("d.M.yy hh:mm") + QString("] ") ; + line += QString("") + QString(_memo) + QString("\n\n"); return line; } diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 0c6d66b..56b180b 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1484,19 +1484,6 @@ true - - - - 340 - 430 - 911 - 31 - - - - Qt::Horizontal - - From 765bedde8076fde7870c37286b18968137dc20c6 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 12:36:18 +0200 Subject: [PATCH 058/251] add watermark to chatlist --- src/chatmodel.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c139c03..679b0c5 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -132,6 +132,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setModel(myModel); ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); + // ui->listChat->setStyleSheet("background-image: url(res/hushdark.png)"); /////Todo set an png as Watermark backgroung in listChat ui->listChat->show(); } From c8b274ecfe195a1c7d6da448e76224753de63d57 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 13:28:41 +0200 Subject: [PATCH 059/251] switch to listview for contacts --- src/chatmodel.cpp | 10 +++++----- src/contactmodel.cpp | 25 +++++++++++++++++++------ src/contactmodel.h | 2 +- src/controller.cpp | 2 +- src/controller.h | 2 +- src/mainwindow.ui | 2 +- 6 files changed, 28 insertions(+), 15 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 679b0c5..aad9a8d 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -99,7 +99,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) { - QStandardItemModel* myModel = new QStandardItemModel(); + QStandardItemModel* chat = new QStandardItemModel(); for (auto &c : this->chatItems) @@ -121,7 +121,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) QStandardItem* Items = new QStandardItem(c.second.toChatLine()); Items->setData("Incoming", Qt::UserRole +1); - myModel->appendRow(Items); + chat->appendRow(Items); ui->listChat->setResizeMode(QListView::Adjust); @@ -129,7 +129,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - ui->listChat->setModel(myModel); + ui->listChat->setModel(chat); ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); // ui->listChat->setStyleSheet("background-image: url(res/hushdark.png)"); /////Todo set an png as Watermark backgroung in listChat @@ -148,7 +148,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) QStandardItem* Items1 = new QStandardItem(c.second.toChatLine()); Items1->setData("Outgoing", Qt::UserRole +1); - myModel->appendRow(Items1); + chat->appendRow(Items1); qDebug()<text(); } @@ -157,7 +157,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - ui->listChat->setModel(myModel); + ui->listChat->setModel(chat); ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); ui->listChat->show(); diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 0e9a6ea..e4d32e1 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -2,15 +2,28 @@ #include "addressbook.h" #include "mainwindow.h" -void ContactModel::renderContactList(QListWidget* view) +void ContactModel::renderContactList(QListView* view) { - while(view->count() > 0) - { - view->takeItem(0); - } + QStandardItemModel* contact = new QStandardItemModel(); + //} for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { - view->addItem(c.getName()); + // view->addItem(c.getName()); + + + QStandardItem* Items = new QStandardItem(c.getName()); + contact->appendRow(Items); + // view->setItemDelegate({text: contact}) + // width: view->width }) + // height: avatar.implicitHeight, + // leftPadding: avatar.implicitWidth + 32}) + + // Image { + // id: avatar + // source: "qrc:/" + modelData.replace(" ", "_") + ".png" + // } + //} + view->setModel(contact); } diff --git a/src/contactmodel.h b/src/contactmodel.h index 886b285..b97cc8a 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -74,7 +74,7 @@ class ContactModel { public: ContactModel() {} - void renderContactList(QListWidget* view); + void renderContactList(QListView* view); }; #endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 7db0ff0..577d438 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1029,7 +1029,7 @@ void Controller::refreshChat(QListView *listWidget) } -void Controller::refreshContacts(QListWidget *listWidget) +void Controller::refreshContacts(QListView *listWidget) { contactModel->renderContactList(listWidget); } diff --git a/src/controller.h b/src/controller.h index 59cfa40..bc56587 100644 --- a/src/controller.h +++ b/src/controller.h @@ -73,7 +73,7 @@ public: void refreshAUDCAP(); void refreshChat(QListView *listWidget); - void refreshContacts(QListWidget *listWidget); + void refreshContacts(QListView *listWidget); void executeStandardUITransaction(Tx tx); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 56b180b..e58e4ad 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1328,7 +1328,7 @@ HushChat - + 0 From 0e2c8503fef816cbf6afd0264bd6d0e429b4ec57 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 17:22:16 +0200 Subject: [PATCH 060/251] add new background images to chatlist --- application.qrc | 3 +++ src/chatmodel.cpp | 21 +++------------------ src/contactmodel.cpp | 24 +++++++++--------------- src/mainwindow.cpp | 15 ++++++++++++++- 4 files changed, 29 insertions(+), 34 deletions(-) diff --git a/application.qrc b/application.qrc index 0507184..e4cd3d2 100644 --- a/application.qrc +++ b/application.qrc @@ -8,6 +8,9 @@ res/paymentreq.gif res/icon.ico res/mail.png + res/darkwing.png + res/sdlogo.png + res/sdlogo2.png res/hushdlogo.gif diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index aad9a8d..68b496a 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -123,17 +123,9 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) Items->setData("Incoming", Qt::UserRole +1); chat->appendRow(Items); - - ui->listChat->setResizeMode(QListView::Adjust); - ui->listChat->setWordWrap(true); - ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); - ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - ui->listChat->setModel(chat); - ui->listChat->setMinimumSize(200,350); + ui->listChat->setModel(chat); ui->listChat->setItemDelegate(new ListViewDelegate()); - // ui->listChat->setStyleSheet("background-image: url(res/hushdark.png)"); /////Todo set an png as Watermark backgroung in listChat - ui->listChat->show(); + } @@ -149,18 +141,11 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) QStandardItem* Items1 = new QStandardItem(c.second.toChatLine()); Items1->setData("Outgoing", Qt::UserRole +1); chat->appendRow(Items1); - qDebug()<text(); } - ui->listChat->setResizeMode(QListView::Adjust); - ui->listChat->setWordWrap(true); - ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); - ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); ui->listChat->setModel(chat); - ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); - ui->listChat->show(); + } diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index e4d32e1..a19fe1c 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -3,27 +3,21 @@ #include "mainwindow.h" void ContactModel::renderContactList(QListView* view) -{ +{ // QStandardItem(const QIcon & icon, const QString & text) QStandardItemModel* contact = new QStandardItemModel(); //} for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { - // view->addItem(c.getName()); - - QStandardItem* Items = new QStandardItem(c.getName()); - contact->appendRow(Items); - // view->setItemDelegate({text: contact}) - // width: view->width }) - // height: avatar.implicitHeight, - // leftPadding: avatar.implicitWidth + 32}) - - // Image { - // id: avatar - // source: "qrc:/" + modelData.replace(" ", "_") + ".png" - // } - //} + //QStandardItem* Items = new QStandardItem(); + QStandardItem* Items1 = new QStandardItem(QIcon("res/darkwing.png"),c.getName()); + // contact->appendRow(Items); + contact->appendRow(Items1); view->setModel(contact); + view->setIconSize(QSize(80,100)); + view->setUniformItemSizes(true); + view->setDragDropMode(QAbstractItemView::DropOnly);; + } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 0d1e984..0104f56 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -905,6 +905,17 @@ void MainWindow::setupTransactionsTab() { }); // Set up context menu on transactions tab + auto theme = Settings::getInstance()->get_theme_name(); + if (theme == "dark"){ + ui->listChat->setStyleSheet("background-image: url(res/sdlogo.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover"); + }else{ui->listChat->setStyleSheet("background-image: url(res/sdlogo2.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover");} + ui->listChat->setResizeMode(QListView::Adjust); + ui->listChat->setWordWrap(true); + ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); + ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + ui->listChat->setMinimumSize(200,350); + ui->listChat->show(); ui->transactionsTable->setContextMenuPolicy(Qt::CustomContextMenu); // Table right click QObject::connect(ui->transactionsTable, &QTableView::customContextMenuRequested, [=] (QPoint pos) { @@ -1014,6 +1025,8 @@ void MainWindow::setupchatTab() { } }); + + } ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { @@ -1066,7 +1079,7 @@ void MainWindow::updateChat() void MainWindow::updateContacts() { - rpc->refreshContacts(ui->listContactWidget); + //rpc->refreshContacts(ui->listContactWidget); } void MainWindow::addNewZaddr(bool sapling) { From 5a563f169d85376b64b67ce571df284fed200520 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 17:45:44 +0200 Subject: [PATCH 061/251] set background for themes --- res/darkwing.png | Bin 0 -> 178122 bytes res/hushdark.png | Bin 0 -> 50336 bytes res/sdlogo.png | Bin 0 -> 43333 bytes res/sdlogo2.png | Bin 0 -> 59377 bytes src/mainwindow.cpp | 7 +++++-- 5 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 res/darkwing.png create mode 100644 res/hushdark.png create mode 100644 res/sdlogo.png create mode 100644 res/sdlogo2.png diff --git a/res/darkwing.png b/res/darkwing.png new file mode 100644 index 0000000000000000000000000000000000000000..6fbe04611b0b546bb3eea55fda99c68a8a7a95dc GIT binary patch literal 178122 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
Q$el3_V(7Ig3_V~G1*sy&!7b8?lnr=l?awd4 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

m>kX0Zx{I>E_Ciu0D&bHGtY>aajLM-K4@Y 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

_}rKaK|L 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�GNDnFDwkz})QY~Y&|1)zigH@emWJiDpsWiO z{K7C5r$F>{U7!|tRb=lm=Y-@H(pJQju;0zt9cIRswGkBRQA)!jckkkOI-v;*<`Ddr zSj@=-Ayouxr)#adRn=o?ilF-DTDRG?if428iV%_5<_XJ)t>W`Z?RMzxtycOV$3HiRi{ zD8O5n_u+83gpX{##3{qYh%jepbSOf*i#pG_nPWx)QH**XjaY^PaE=Tgj*RhrXCLk5 z4JP4Jv{JW4cy^cQ<_@9LT`W(qpca~b;b1&fo{|DZ6QV*y6ygKC8_b$+30L_Zb9Au9 z7y^M-K6s02Bcc!>RUnKQIaNq$TOzH~(QPddB{+#`$ifb1tw8J0*3ioeDJ!J%?+4Ie zTTTm3S0|i~C)Bk-J5ShX5p;PJ&b^!cIN1RH*S{e5S z0L!xA`udvRQ%>BFOvk*-2|1-L7Q2i5f&>2kXT17%{{WBS^QbSv;hJz;wmI8l#iWn8PmcPLU@nPD)`JLC~vObX7%6)Iv7lj;=015YU8T>+X4J zPZvAv4tu0&Mu-u&E^lGC-%~Ayo2B!XTlMRuN<4L488@pEg9v#(MLTA`qQSy$9nQN>vRlfngutLtkfWrd91 z-8PGbILz}7)4XH;N91ObQouYpNF?_`wHJ)h`N)Xyb>%#{Hq=7bO%>fVq27DsXjF2>dH*_``}$A& zski+W9^>aRDMxQ|Ne7AQwa@w3PnoCrJDT8=MSxmXf^mGbp|nzi7?{8#LgQ&~g?V-% z&=rw9df?C1TE)c02f(Omi6EEr(n!5LBH51*P7~Oimh_ zSRZ!GD(!^u?)P6_14Bgcz@K{n4?OTxy57-| zQpCl@C2~%d&})RXK!s5oiNM;?q@f;9&>Kpo7y`6bcnEqea3ZK{fr#Sb@)j-+7eMb= zk0-R!aJ)LPDm|VadiP~&+wQ*=eP97-|hnTFo7}u65&qyhwccIDI zg^f}3@Ljq@c-IYRtqd3an_>vx_~}3STW`R7;dxBT(X)%;ol4W^Jo7Uk{#%`QpI9q* z`joPL4A2VGQe#TY*@IwNR^C%0v4M1GE2{G5rru$#io8GIDGxjq4}8D};&9(BoXWx% zelu<2o>V61hY^%guMn7BKYqat4KhkKA2%)Q)>sMS&gD#x8a5$tug(0GXH#+XEQ6P2 zA#Gd01$TX9DwPOIA;E4jl35(`K2`jXrgYXZd=h}|r5|;=4*@wO3j$F~cjY_~!J&I#?G;5TGywDA0{1`g0XW>c z54UdL2bZI{zas-IjS0hM3QNqvm2t4t;Z8$vGBK!5Fd%n9?G1PC+(9WTL>%s3UEz3j+@hq{bv3W0T0FDgPVCY<)=~&lQtC;& z2-daZ`nX~_trk%ikP>kty))l}qX@vch!itYil)K=<~bW(jJfT*-3~E0Twd&P`}QqU zu0-6vb%{AMq%_9_HSO-v95LQGEXOP42((fVym4mXFz@%+%`>876ngI@1C-Os^xO^v z6|AQt9{kt;23L>VMX`Hv&JMddL#0A{1*Bn@Gf!TF&q`|~xx*vp8M|pRG6T7_y*Hcv zhBx=#zx7jp?9IP~_u})Il%uqhxIc4x@Hye9KIc+X}AhH|U*TNBj_l%Z?NAO&* zD%=cmroE|_1|I=L3&U&;Auu~4MxL172TSZ}P^~DXpf)BA4O~Vk#rUKFS9h-P$elYl zE!PGzjx+_I7LI330m987S|dd4XBkj?qrO!XC&M_DT5vixoK|imKr{$0AyjKASl1I% zqwM8Z7g*j~CSOV%wzD*DNHH;ZGb;Aeg#CVxTbCEO|Mo2$_B-ry#(p{xegie{gM;Mpa=fRg6ql<+#Bi>=NQG;c)vlp7H??U^W|33kj#fdViY9 zsdO-;y+MMB+c(6!)nwjrfKBl4a9y)8qfYJ-i^mY*Vlw1}4Ya#4Wu&0CVu7gwZ3Ik7fp9;E&frHqgR9oQ9P=PQpaSXu(07NA!*vwj5LyQSmr=!Wv6w9e#S-Yhpd$ev+ zI7a|dEzSB+G~Wua3E`m}eWV<>aSS(v2Io3*PS{N|cJqY8ZpLo6!<5*uzS!?EO$itC zgnbUy6yn$6Jr|8wT>7nBx3J&u2tY38Av~_+&VqI`FV1|Z0xboh3y!C2JoL!JsAa{n z9#Kx$fK+&Nq`*X{zE(H|a?HfCaqzs?7vVT50pN!} z`!9Z!h(0gO@$*E1QddU)_0BG6qNv!Xgp2zwF&}nFyBW8hav$c4J@t{^qd149GM9q1 zEKik(ac(fQs~CzAE0Fj1#2l-jthN_ zwc&JHP-=m+4kxf~C8N+&>8g%MKvvI2w@Y%kGos4CRVL0atxTJY=k?-lp|6m-zLR?!+wv$evhZ#cMJQ8 z(!l+Gx0UEAnH(*8Twbyh>l}sGb*)&8(hX6DjdnGm1Ax|$Z1Y>zf+h`RJz-ssP^q|j z@o_wYD*9v6%7W{LWJpZ4KT z>t4S(=jn^71!cnHw4boQyudsY88Pi=OuHFjV$%i=sM6s=M6-@&aGrBT(^ifS+Pg~1 z5usxt4yn_o@ic*enSiG$GpD_Fv(IpLrb74pvMi{z*cgSR6z09egB(z2 zNkycI!(sqrld}zdr;6H%=TLjw1n*0&oMoE5N!6p)j?x9S3YJoti{T@iJ7yZL(g_r{ zmi^6p`=FAI5;!=5aJ7rgXFUSY*)^0%o)LIH1f)bk@o8PL zj^VYLtDNC~MikSI_~gvLU~iZ_}0NpwZWF-@3$Mx5GS5IP7+~ymg8Fyu&Wdm|{e$m3fWk|8vTXp|`TBh@`W! zQD>tfCvd(a=ZIbx+`an{?mY4^mSaON4(nRc8$&_83-B(yR7Jk+%U}EUhwwOi9v3I! zcxtU%Ndy3Idcl`JxAykU4w%C(A!K&(nslR38_nA8Hs|juY+RM$I1edqRwC~l)CXpq zn*;ymtk2s3pQ*HlfDnF7tv4*oY9uu7%%!Y2E-Pwjo3yN~)#AAs$5m@Z3?5~zrVC{( zc!(xh+ZLH@r{FNZI#5zpYBf+4iO~X{zU($rcPbVwSDT`nZEP(S#qO9;L&Qrr>zCgo zBx=!+f)0xN@4JOLPl(QAXWW*{iwoR; zc^kJcFQFn>jwiqgq9+-E5q6ATQz%MbE%lkCZ1o+jFW4Vu%u_^ZCtO|K#d2(Lnizdv zI?8EXRNS}y7q9r`7vgdHJgyeu&C+xX_TTi9ul_Hg_@=PSPlI=;rJ@T%CdW7fH&`km zSRkYu4s!s`6Ov0iI!6=~McPh#)~Jr- zL=2?)ty zTQ^{DvQyLB;yHhew_FG@;j=f2R<{g=af%KEo_Awd&t?iCx`ZP2#$Zxa#acLcR}Ykx z?txk>PRnArKDq~`%k~1t7#U(|il1@X2k%j9fe%}jCKuF=Md-G2m?0;n8m3Pjso^@L zazYV+3cX_>KT~}`SE^}bBwY2z#cot`+*pKLsHn=eVR`R2BX$>(y!o{X<#Tm~+6*&< zKoNyD$ms5dfaIz9Oh!?krwNybOH6S`%DE-r9u5=sy9tNgglXbjQB}BEx=#G0nYtAn zsueLutrQ$DF`GcfI0GlNXTXaAvY?ADDd*qzZIzwiNd|0WM z^$x8SixYzZvz+A)(vD`Kh6r$&GDQH|1u2qGlR~B>&O1yg8v8Zi_N_}?T+CF%G_}gO|Si<$H1-kzE_U^yPlta!QcMx zVv7G@ns)bl!`w5Lj4!qG9Az+1a4bR-Tl<0IPsme-Q_DW=%@$HaDJvGspz9)L?4cd# zcsycRmd!0uo7~t)20_d;q{Er6OatO5grakzWvuby!`6w7DH_PwTYjngVKDAG&krkr({s=f3vEPo#JH3AYFV;1^%~Wq&E9 z{9GT>v%IB04S5+H9oR$qHe_nLm7(+n2G2pTRN8N9Yba}>ma|dqQd`?nfB}cakb5D} zq*`h_zi^^kw#6uo8Q$3;z42tS;M6!~mXW^4vKFJM#d8IqEQQyy+MUi|Mj~6BfP(g? zvojzt6-gXwHU5jYlW^Saq@znCI>aIan9+XjhTa@ec$4*Yg$WK!yBqwb;(=v4l6K}9 zp5mxbB4n9>UT>%lil!rZJQ%qd%!AL-89Lvh)xEyiS|A}Ar~P4yy@j%_kkg#ulFH-t&beOQ#_1&7NI(0u&B^i7t>k( zWl68CH4YwdxGh31M9<>FBK*pESaQQE?(-iNmH+8kQ~4 zX&)>vF?g1+(L2QC(R+ncK{Tyu_72lDVNMBiB0h0HXWY8j;o@Tdy_XmJ7k$FlzWh&~ zi0|?fb`g%}t^fENzsNcF_o4X6-g#2M+WMo_=`^52HzfZcfpwFKEz642y0Y`yiP0NL zy(w}&CgMyK4df|V`Pnx|MYCahS7sD;Ga@@>Xljg+wkCKG2G{8^w1padZf zYi%e?GgVEqm)aUn;9a=%W-)OI!3CabQUTCv#QePs)qq+Q(&@afy+EX4nr3+KO-yc< zt-zV$T04BAXRo!w=sIPz94TgU?yP#Mn}UyMRk!g8M(5dvqFof~qRIXg!DNX{Oj0;6 zh~8t~O_)MJ7%*f2(K&dpm_qpdTNfAK`8BWlr5}GHzr#=XMF?$p%d4LE!CmCPZz5mK zgkNh64AHnF_?3%{t@%=^<1A~Tch97uHxx6>CTt@M58$BPW_JVcKY~jH3Jq-9 zK$Il1oQ)aU;0^Uih23CY_D%gl2r>-cZvduF&8G^sIjQ$-Jk`nwIWAxY#O9!?mW)*` zuhA35-yK>tNEUdSi-`FjVYVvM(t66=icm-o=eKMRwQ?H}z=r$;G&i_liOAh=;3^l#iJXU={iGom9!E~S8Z;y}OGisb3MhcsxHm+x}^u5bCdxBd~H;Lj6(5en&F ztt)=>hra1KUF7ez)}N`CH{l$UkbLwwoeIfrA~>BEEXxtKH*0A}CI{OoqeAz1mr7C_ z{AO)ZQ?r;UeREc{N~@GhZhL{9B?UQ8MamEYxGr$fTNhV1*94=}u=x(X1)y|`jN{3) zZb{+Gazbw%DJOIlv?AN=Q&qNPSyhkTuq{CEBF)Q|VC#)ou$HowqGN{GR4gTHK$r!h z99N8;NzLX(?v7d2I)C;s#wqXUYV>oDMx;09iSG7wT_D;pzxxc4`n9de z-&&RvPRnBE*07-;QZjiP6xrP808r{;4hExnJ8&V|0-}mWZ^+#M?;@2PZe%NZvkdvo zDFFaeKD+XB&K8Sy1COC+jq4z>_1>*3d;arB$v8Ti4wm8AEAHI6v%!ss`fDhq;ds5^ zc&zA+W1D1~POXiM&l?fbIwWjrP76yZR_Q<&f~?GB%>`9WwL{t9xZAeMT*_g9CI_{m zR?a&a%sKAhVZ&dJ8D!20``!L0k_+GaBX4@gTdQeFlMisflZ)_)@VxA6zu>RcTK{hA z{Zp7pe|GJs6t)@~~ z*C=I$a~`!cEDP_wr_+k-s}t@#a>YgO;})RVJIm5BZ-sENm&#K&mJ+3Vi+f4}B^`5k?qUxed% z>3{v4uV^A)?VS6_aY7LDKycHTiP`IqloEEkyhW`=A4oitq3GcNKgNWdGX(*bIOUu> zyY9olOStVci!mB*p1Jg6p5{!LsfrCMwGpsQb~a{hZOk5(BJr~^8Ps!%ScxhqYqfDl z$K5-3@$f?rp|(!FtBTF^$nSABtRE>^WhDtcp2oopU6vEpb%luFp@$yE)!i!- zYd0I(^Th5ACU2{#t;6}VkibV8oeM!pXGpPG##DnftH#C=x3E}X=u!u>=jKAhzx3Yy zfOG!)U-MhURr?^YvwF_<8|+uRKsM$xlt+Hd3ws-CS^ z%Fd!%w0J2M(q&Wf3}p-Fqjd1AD(>95i$@;0gR&ABRVz;`lG>WxIh!TqvJ32tbVq^1 zdR7Q2=dMh9iu`(Yq(B7|fx}Kwz&Vz%EMxHwRehz1{NU@}{(s)Z``Pn;w+M0Le)WQ{ z{G6O(_>vgYe-(UuhW8P9U>ky`Ni{O~q?}gdJRzmL@kL{dnDPW~fT#^aVLHuGwha*Q z_^Z}+i+J;qpeZq)Dcl*{>p%yHb7aNz#?GX_VfG!3p>iTTIpvI23TkbeH!?($)>N5v zd|HmyFd;;#R*plKWrcLb-Me>9+zkslRkX^uFs2K5taZg{U1+j)oQsxT(0hOb!B^)d zlSj9Z<J-cO(R`9=7y2;lb;-x^c|ulNUF^4C*LUmRlm zE1L)#ij>&dETl`SDxjZH6y6DZ@c$%w_am?V zXTSIA4R7#%{JhUE!gJgh{w;GQ+3r>V@FU;;6(6Unf6IISg{t}i+s9b>=R-h>5&PW^ zdCFGi^^s@C)5{k7_V)&C*kS7kikxGtV~m?Ic|@u;%cOALxGvpnN~&9<17L(UN#C3b z1Q!eq(e6R&!%9Dv!kodux|GAXTq+mx>16jt6?Rrn73D-)K$DKz8&2y9r8fW`rFY2i z9JbCd(hva`i5daWTK`wl9^ZgXvHi^R%Hb=dxS-<;x}Qm-+C zwEG*J+j0T5VH-n?=FMk`OUXp2cI?sqbOA{ zPcFju!#m-B=<@^5{o)S`F+SUQ|G6RfXLuhFlSiI14!Z+Fj98Why%)3Wuo06|vVpk8 zj%`EvQ7ZRyne5#LC~mD8WzIGbQ8G=fl~|Cb;0p;!f9P_T2?HjqST7(>l35`KE$_n!Oy|@ zpMC9H-|>zo-=HTK;d}J?!RLMH$2g~-Ya66e|1@wUv@tJ(l`9TKmC_az7bC@!uL}5m7{?F`TM>hipr;m$g@%mpFB_V zC+3{z;a#M7JKl3Q?VTrKj1h7JR7IqrY>b-zE(Z5>CyeeZM=H*-iPK9(Z!BHKl5mH) z*x8-1wTdAYPccG`6LaUz9n@Yo7^RrL*D{`?P-k6FEb?_mwZ1&8jc;wCs`}e-?rq+=xBTsI z`oa3nU(Zb-)sxSYi|}#Ng}wK0o|`Xk_#a<*yY>DNfPQ!g@xui2Aprio_x@>u^B83q zcIAd!;^vI=?4odgW-+KJq|r$dLxKt;qt|uiA`AiO9ZNYu;Spl~!xYp11tLEgFl#K-u7UF6U8-k<86yB`j>RB zxd_xCQbAS_+GfOJZSfOL0*2nfQ`B@K#nE!`j>AWMqUDP2o9BHazr-SF`J zeV#w=o!6cFI%m$DxaZvW%tUCaE8t*}V*vmF93@3rZ2$mh^S=ud^xX4h6E^wWyl_@D za039aiT-y10pBtq&z)%2Qfg8FKxM4YomSHGGmW{Tw%RiZBLEN(3;^6bJ-536fCo1K z@Xr(g5KaRC$ea>Qy5#}Dq7@}sDc#R=X7^7|5=a&ZdN6(;u#zSDBcN+Y(N$EkL_OEb zdi z1YV=#FQct-jiEfg#+M+E>C}?s0^mzV=W*<4Nusu+as)`tK*C9KLMuDCPnHdAfVg&E zCh)cDym4`?A{+pUO-%q5dNK+}ekTM@qF|$M)DxueejzWw;h9Mu`Z)^?dH|f3J#Yr3 z9L&9KQ?Y`MfF-O;`k*NXA1{xaLeaYb0RVCigaS|;5w1%!&j;SWK6VDS#bep&cRV=q z>&pWL{y!&45W>ZbndTB;_72o%vBZK91K@=21J-;ceelEE;z0c@fae+iAFra&eVlGk zUI)+03Rewc38%|G;QG-fKHBI%R(+^LW2CN_HJYR^aT29)4kfYwT}b-a@e9e50x%Kd zC|@i{2395adjaYD6zDQ|0eT_qaMBqv`C#*F)c+eHOfaA}88uMfhF=Iy0>JTQr{E|F z6a0_%8aO7r!Ea;l<$i5u0T|=%Gh*=*Bd0`S0MN#4fMTKmyc$Um$&l5vbY?)CAQz%% z0fosaWvKsqUjr=SRtK%I*wBh$$pgUwb-ANKq*EFS!R9t7|BX!rI9P~6UsHvTTe{>0 z2m$QWG%Nzx7oR1?{Evk@z(({9Mx+Asy*%*E3OW82kECAEJvmNn2i|}7x(B!)x)9V% ziheolWsZ<~&NL2}}}0C|A>$OQ_h@3=Q>d zuE-=Bgz*5B1jLYzons*8e@V$ewf@H*jtR)pSj6di3C^>AJ3;b){M94?bGz?400!wi zjYf{dU^#%WT6rSSRdIp^f%<>*`z8+fYj|h|Y00r52IB#QQ-xDu=RS7d{xhyEwxr4? z6JIoEIt4nCD8TSfH#l#7f*%zC?BXX!;|C%>&PD}XZ`iDgV!^#ej|EUIc4EEwg^K=9 zx#()XfVo7mK-hV6v=(<2U}tS!mPTBJocQlEJ^x%#A(bZDn(^4zv;UFHlaGa7LcF2! zajga9|4HTw_%|1*XJv$9HvOz_^gJ(MCYh*waIowDJXeM?`8W9%pQJ!mbdVM|mL_n= zCk_QZPIT4>0sv=3l2S0uXu$rna~+lo9l^n5F!e9T!e_4H*%)G&xxNr$C|b+U#moF8 z{oRunw@mI*mOn!VOlV1}BzaZG9^PTym~DJpbI&k&*EV;-Z{i#k%S!q~tog&EdPu-46AP&7NhhGv}w&ceY zT1C6RjU#1gQKy%G?`IQTR3K(52W**@`gtNg!g$n`5f-vPaxXrTQB+gu%}TUfy(G2& zNcO}xppmgvy}OECMs>~xxZA4wBMC+yIzJv6AkisYB3f=Ib)&-~x4;x*+oY})vYI~v+;xTKxrDA&Bi@2!U~tdC44a?%rc zXj+Hhp-HgK+y;dChbwV*x`Mrw73P8}@2W5V+T%%jRI&XC*BzMp!*O*bz*Y1@`aNL5 zz}U>KbXZ;?M|WuI6vJDjiQ%W!@vVG)m3k(}pEj?xOUHIiGw;&)ykMEeUgIwW*tYicZ&(T**FCe9L<$}wgi?L5+ee_){NNDS_3&$+ zN_6a(hF#JatdT2g{w_rlgVO#of+P#Vo}@og>TxKaV62W~BN;#P$~CP05xU@e-7oaAnoPQ^Q=4t)JJmL1 zVQJ;|S6tHxX1U5YkK+i^2(K^rEA_^mv;9=D-*CEMvMP&GzHO0Tis4t?d@eSSeO1qcV&u-jR)!*}N(ZQ9<{-CGq z33kpl;kLmg9_f%!3)s(WQbv^`hPQc$HKYaTL*nyQU<8#_#~znZv)y&sO3d(UQcu09 zs?VVTrkO&A`(@U>FYF3JV=DY#r<%b7&rU{7GReo?pwT6w+q>K;eHk1jRn534EJ7e~^6l2WW#OP)>0j?b!z4Ci;K z#-IH7up;yf(3+^d%Dk_)xV|`P36;Z_1F(TJt{*Ns`VRddR9fHdZ#3$*I!$OVuB9m92iZ@*&4)i0yHw+%2^QR z;l>B~qO7g4)k8o;7+@O+OUmV|lq2=@@W%SIa}~$>&8CgSyTzkNWJOQyuxM`t z?Vcv4#m8ki_sqNA=yBuDVVlltG3(nzY_^yeif;e+`dMmo$3p_9S*JUR-@^69G+YmDWhr?+oi7 zx%&MrFc#_uzE~=}^)0cSbjCURaOk#;fo+*1syb%|e`&yoX>MiCOpi5jf%f;ny)nN^ zC6=r-WgfyjW0w4#d8)-SwLYYU8H%3U;>LN2a;3gxi}z_7Lxfrk1jWBy=OD0mPRv80 z*TX@$)Os#P*m3kL->%ug%B3&QKU&)ZR3vv=3RPr_^%igPwBFA&%c?Wb`;2*Z4o;2q z3mefx%p+Ty?QfUmiIuQM^X#49C)9f?|I5-dK$h)bfz0Udld3YucURURD=S>n98_qv zuk#TU`3Id3@|E4N+j)Ie4Mc!&cC304oIofNT-sv-^6TjZgO{^`DlVo`8EWCHf=$H8 zBPXZ8&_xrtiBU5+tlS5t->}DqEHn3qd~Zf24d0hU4d8J5Y7##VM{uKplnkWcV)G+> z3k@eE`a6|8$GpybGjAX~&MJI-4zu-Sq5}7;NW2Q~`oPegX{Tk#){sGad?sZtAgjZo z-sMUhnM1DtiKUk4Jigr|f@>Uo=UZsIOJ1E7G-Z1fDWZ972Q*}c1WMt~2$80~HN76~ z>uB%k8EPNx9XQ?^W`>iEF7t}|-Vulz_w{!S(y-IDw|DpU(6GK5M*Pg_UfDe8URhlQ zLV1C2(IotXu&p8fX~3~=z(w906e0kc>9&y`VRSCbz1Qfn$zQtaeDI54DjKX#gV(IT zq|}0zSc0f%@Ub%8^9J)1n4~nrX>smVUZ}CL{_JYDQuv6^??_lSYlRGSn_-_?@^+~? zV7?B8|L_W%Y8(D|PfO1EqPFpEP(pa;?cA&Pe$=(v3F-Z`Uz^oQ!;a8cq2v6Z-y{ak z8wi?h-nVKIqg6p2J2Yo@uuo43!(-Uv^|8`QEJiVZ8C-vP6v{`dj>eiDmbf_+ZnGK? zu|hKp%)Gi|?Gb%&E;(_oWUnyb?_L?&EB3XieZicCc(o-rFPB(K!rC81xMJ}QD| zq)k*mTH<)@V?SiPXzCArYw|;(?9Wl%p95#j>%KgTx0wY^^;jlJUYfMF=s8i|B(ls2 z$}NJUkuEAU_#6Dh8`nGW4L9h`L?0Lo>^L#mq(k>=ZlCn9VmLkS->dx=n~*qW43K|6 zRzwpBPUL~oxxZf4A=-cG_d~oh>x|g02sDWRUnvlLaS*-z<@RMR< zd|k^A$t6NUPOIFYpWlQ+TbrMT+d0|?xP9QcT7aEqTYs8X?r*^~02+X|^--cGG5ln? zWouFv=P!$DHCG?J2o9eLCl7(cJAZcP(AwD9*%kTI*kO`WV9(tV^I?+jY2&966EdcK zotmt1D|>jMwu*i9MQD5T__%r0Yvc_M$QVyaX@deKDn|QWtq-&u-)M_-CN00%N&`>| zsL{H~%~h^=`$kx$qP0%>RCGkLeONm`^+plf^L?b9aH!cH!UBSVu=n}us^1?)jM$>u zIIW8quI9f}&}dHO=Whyrg_1dlE-%BGo4~C@gnREu&9>LO|6LS&t7QCDfU{R!%uasl z0TPViZD#bAe#Q|7`xWIE*I{30N_G62ZMiU$fNT5sj@YUv405Og!QO_vVELTISy_k2 zV#O0m%&JjLb@+!oVh{Y|og5)qoM`ig|KjK$kkQqGQt^kdQE8S9rZFgStxN9SmBpkW z|1je}UAeaL*|}LnQ}5`4yXw%yZT9b&eZwR=bAEAj?sWx#=SX&H4ht?)&8al~64eN5uPs=7eS>+@+b)?5X*ab0pX(xRGVRx^`x=>kRE_9#vrPd_s| z$ypsA>x)5nC}j8QIHgV2_lp$IeR8d+TpLBk8pAb{v(UrTJ+pSqNRJL>q3#)$<}X+D zmiS(Jex|!`Y2+W7{>(>|S?Mp;o7+Fhch1VIWSLqGajh;&3FlR{UP+cA###2eKuu7p zBbY6RlGamh>CeFFUTdQPw(-C(h4fOL2b0$W)DTX=%Q-^Eb*vNH9`Ss(Q!U^s32DL(*vb1c6;mW9WQYx?EX`63rCFIM0jE$I2jji zs8~_K8>z;?M352QVF9a5?=q3xp*!KZQT}Fw5dl=w3Hjx;TKKPSa&K~`gsHi|zbSJ= zb^A(md&Bop7_nzr>U;5YJKn|@Se>K8!UBn`ompPu?cPNXvs=G^)xCdCyjm(2L?x0W zGwfcAnf6C3dY{Ov06Zk1dc%&Jp`&`jS9s3RxJK`z(>>#pY@xj19QtnI%zEJ#_(SDK z`S9S7A|UK8#hp%hgB#ho_WH_fx0p=@dUU}vXA)b;oQ`c=!9`PBq&N5A37WU}dP{Av z5R*i-b?MHJZzx!Vy`zeUapHYQOO=2uNlt5qd?MH1c#UZM-2Y}a;zs|&8&h);r5^2A zJF-A6wE83RhLRuy-CyHB*RL9P4;^xAYvCF8F_SSWUj^d4cu%V^7U&d1gOml{X{)l@ z&7oH2@e%%DMzIlGh8Ou;tNAPr0w0}kk7WRtBTI}qELbZNZP|rf=jes6WfjrCYMPA^ zOR0FjmwNz?kNu&M;;)f?FH<9r|8acUjF14QK#pHGB$+{$kmTzYU$$q;V~Bu=bD`TC z=hf4u?aVtDJLp(S-1+Yifyedpqi#*FV=c8SkDUup>uWVYqox?KF186f7e`gKOF)~F znImssKwGq0OHP_EQrB9+iSI0ZaLu{jM?#cdNm%zC>fLYoPJ1Q7EA<|@PZ1PvUV-fM zqF15(`!syblqi&ne*WHR!r~_K-EzWKtBCXyb$JxMfi1Er`WFJYXLNP7ypSqhu{q^D z2iVztBiwSqOdARCFHfRk2=anac$O= ziR+iMnKNnbAYz`Y&!X}y#Kd_8h6eJ;Hp@6=<3^^Yx_iv_k(*{|VmaWo_o%m(s<~f^ z=Bd3DKTmg1B007yX%+q@dzaqjKxe16Qk7<8cb`0~HW9gPuvWeZe1sFFOu zt7HDs{RVB!WVGLU2|fQ8O*zd^C?yq8XH{Kql4j4rRPYzyZxVXaq_lJhncholX7}*k zhkVfQu8~l{Bgs$t1Ym+-=w)Opy6KV62WTu(=<(K3e?N6o z;p0!a!h2y=j&Dhn`7AjbYb&zKO39Q)M)&o7N|C7jp$m$(5#2y$N>5X`tzY!6$l2oB z9v|l;@Q2sG2C>xb(|-@m+26nGqMhSQ;2AxwbDi9$8xj3dBtN+7)T9SwF`0U}d3Bt3 z2`RIy`}^|Xyd`Du%C2D#jjop}(iL;jy36rpoG2lBH5s5CKe`nmeH0ycoY$oo7Ay=L zTb<<#B1rG=;Jux5DEi&oJjlb($ayI`I#hnc{Vftg!O~^v+i|_6P%ARK)JQ}VyXN_o zcXGEKCQRd6PU~zEyM0WO_p6||Ara$^tbWl}ZYGw)Yx(b;+p;oF8-@pHbfi}A$_!>t zOb3(GARPG(b(xbm5-Nl5(DIbpj1*G%)HTdG4<-u~t;DdG=t;M~H#FB`Uz@;2a1)q` zJwK_uR&%7-yAy9-nmDR<&Po$k1--Ou{I19z$j+=um~D|?{L{?szK$+w6ksTKSg5^j zf>QBGpd1WxrhF0|{Xo7|fb+h_wszQ6(luc%Aes1gR(xVoVlrwiVPsTNYOqi|gF+|+ zE~j#7O4P7Oj@Nq*`@Pxf6VW?*qpf#sPbkPbe{e}5sZV`En3OnE`)1K0&_8M)4=j<{nRgWOOl7Bzs<}Gl9z^MP1qL- zeh*iG)i=eq;xf0U(~Bbsb&%>`3{T^!gYt=7zyf5-OFwN{e+e4Nk$`xNEp2sLcvjT=DduQT+ILgBddSU^YyaaldC<>S zPPG~i?Ja*s3{2R9U5I-n=D#1LpTvu8`Li^v$g8>Rjk3sckg*hK&S4)D8YQ^$k#QR9 zmliInGH^-J*1~Ps3C^4{hNF9rI_#bK$hIFd{jx^iWG!E1N&{=e2aaD*JSc2azm>_` z+-|MxDQ^aI=JM#Z?CGP`V<;>r-T*Fh`9W{d$7%hTbRan7PH=Fc5&8S{;D>64CCN;E zRrAJoFgrxxbxY65Cf_>B6f%o-Bh@Xxg#E*;)II?UMrt1k=~t_}ogxWo-XEXaCMsq! zFb}ge-|38|Rfm?%v3R|gbw6Vy_ALs*MOq{rt9t4vVZ@M z{dOclZj1dhxpR}nP&&r_5=9;TLGyNOIz?jIC#4#_Hd7S?FJ*zXd8LZ|Hpc7;%}s4k zmd8-^J2Ni4yjSv`SL!da80v4Y|H_4^s-90w%=c``Ykto6U5b6H~j=dNnXKRhTF*hc01b;Z#^zHxTa5k&3Cg9XMzW8QX|wzKd= zc3IIf&_OUOu|Pkml^BD<;s5N%e|a74m^4$26HL7KU%3yBp$Ey*g z^!`D``$DOWU0tDG4zP?+xu@U*&isr!I=#7EOo5i{rG1?(%YcYor)Vo)IHNm7#45F{K_g=q zFPU3lEM(dRE<*(DoE?JYOE=?tzVT9ABXF_e-=Ui^H}kcQ8%Ab0r8oZUlm2K-VrQg! z>Q>r$(wlG9p@dtr>ieR7so^=#cDvm3O-IkSOq&;-u)z2SiuDokiMi}7{hfva0s;en z21qF^tpl^rDGFw0idYT$=<^`uOkPGkkn)Zj=%;m!u}onP;fImk={FZ*aU(bPk4=(; z3>N@GDggmUnlEQPay^sXk#r|aE00{_3!iMh##P@@ZjouszK}Loiax1S z9>8iY;S4Ln-WZ$KQSZ5 zU-NO^6JRj13%d_I=FWenf3;0M z9|xm6?w3$qeohU3#rWthlu!HL#b&ELUwSGfKWP~uLNw_(7ck#(CS#N3iw077q2R5c zhrgS7>nOMh$F3rtY7^7z_4J(Y=4rD`c^CiFM2ByJe`3hz_OWnR(BG?|8z=JB-tF?> zeNgHB3N1GYOR6c`t9mpipbKw0JA9rWyv}Ue%wlcJ)gWnb8(+s55apZFzlReOq&<21 zccgzKochCwv-haG2`cj8_4R_AM~MSUBUve;X9YWHF#lMd{{vk5eq7>ozLXB-O)fBU}uaDc8ci$V1|rp7m}nApC)605{;{QTNi z`6GS8k;8^PaSNo^Kw-3vX8~ei!>Fjz%Qs?-enPLc$O(tS>_s{phpar^BZr}>hqpSX zjd3cQIF!sBQ`2*A7e!uAPS3DL1)(%9@2@bOgfQ=M3&Q>^n2$}xGwthd3`(%19b_&} zRW`b`pLDZfqjC(zrANnw)ekoA_kM_A=8q0I)y<^Lsx8$`#^_7z(Xc#me3GcVKcMA$ ze5>e>)xLC7%nz1xxmJm=RW*PAYEnvbTq;bM1+zBj8W2PyWW)Tf1LIiC2rWlrg$@&| zF&u&LAkdO^4>x_lP>Y#L6S&BK>+I~xzO?I#9BvV$Y&{!{!~S6aT)aTv4t#<7avx93$aR$ zpHrTU8GtWaX1jt~f^=$J2Jyh3Qh9Pun>SYKnMA@!%gY8Xr{0VTj#~5@>VIJ2nR(yU z^85H@7LY^9Q_Q?Y%k<55PVA``$MYq9RlV0_x2f2r-jx0kwE^p zcfo!aI*YkyRTLs>ZWhNkv44&fK675X)Bb%*!|Vv6}Af5GwCk{mJ$pHzn2Tpr3`Rb7hux` zfvrfvx1LbBOGxs^dmb2YMN`pF}~GvGiM zuy$Zp;|?2qDgL(WQU10PN$J`mCxUaH$+knQS*N@=W}h1L~<_%XN=j6O-Czxe;|Z_*x{+Z(x!|^KGo**W3_0 zCqBg)pC=ve+QR&i?j!Vp@1DX?#3cTaZ$26iIP)g^tH5({_ML%mD~_kK@+V;~oU^MX zFtR|i=g->?#g5P@$9t;TJH{$!YpJ4SX#xT=PV!d_;2AmPBJ|pv0%&16l$l}pGqcvG zTVT*9u_NAvDp947QfH0*Wl8PBlVogDAPd1cnm_Y+|FT+yPT5mQT(Ez+YIw>^W(%#3RSdmnqJf=gm$i^QzTYSkU4o8w z-J!P8Yy(S+OKRQ~vr#Nrzr>%fDlBT+miMHKiQE(V)`EI2c1X56Vx+p^EJo~sjE&3c z^P|Jp#TKH(6P~5ga@r-)Yg$u%U!kr~)31UlI%SfSOrA@#*_s-H=e4~4wCEdh^K|(M z?Wp=9n;aZjB4tu#siNXK_eqbYzN4LG`~~+UwND)NesTnpRHS1n;~W!MNJ!S832(yvT*IeyQ79N6S7w0#bmNjnejO#Y1F z+&$qNpYKMT3I*CZ&(Q?wSy`{peWk@h3=*%^{ZqAY=nwslRukf{8Ech@)v{fE;uSSq zo*`PF7w?z6;&X)It3l$d7dn?rpQ$d14STt~iJarancg1WgYhN_{B1&kyL|chiTlK` z^WKal{B2xS?V{yHOLy9r&ZbnQ@0|JLz1>+32kUQeh=Cq$6F;`E!6r8O3p(1rFVnKd z^^GD=&uqRqnZ>*|Pd%bg;5QjgYIQoDcRVhh?1+ouc6raZl6G!~#TRFM?hPY;-wYTr zbH97FIY7H-@=rQ~IsJPk%~^%|E2wmwg6-oQnw%KIu}=3ax4+Jrrb6)B-%7=9(S)b6 zL6Ged(hiDmX5B?6w!K!ioOFpg@IQ6Ky%*%8-`h-Y`Y8#x0w!D{!mATo-Z-vlYZwZ= z`{Mml;7kL66NY-{g$S*lwV4Zv1_r~Srp0W|fmtG-c!|l#_>5Ycyd%;>DUZOAM*C=7!g3JDLN@qt8XkDpwK!dE_q${cKSSAuT1aC`$KCk?M_3&w2Ac zx+8fVij**gKAe<8Q1_m!!Oc}BP(KvxLX2z==vK+~NQL8`8t9z@I=n`a3M9seknn#n zzkUSjA3xjoEaqD@@EOD^1<&q4x7lXfR;RfU=VpEYZdb^nQUTh<<|V z`$?Ex-)KYxro<(z&R=zW40u05nfD@#I}Ni7U1pK!dGFI-Y@0D$sWIX0aWxiAfL(VG zoLzFg6JhCIAx$y$1-?kSI6mH?`SvZkNlM4y;NbDexRFruSnEqB*z#v5*zi;p zoW1O0z5=S_e!BM^IZjfF4ve^ajU4{{4a_rn1#R`a?&jv24(XW9Oj)Jgdjmh(Z-YRn zS-71meNC^sZ&Ft8Re0b7Z`vTSAHIx?rF4wO+vAZl-3%We3GQ4v$oHL!gFx4gB5D3G z)H=m^r}jg%7u>;9b3Cp*4&wbi_>=zGtE1%-U>y|?h;+0Nq+UOp`~K!8G4SFyJ1QTZ z&CmlI@`!o}Jfw=SZB;kU9%0U}p zS%4-Co7^)%?Y4vI)D)f1fe1@NLIRn@tkG^hT2VWUcs<&8O4C9kZi8tto-4P4LdoAu z0HN$UKA0ASXU%(Z@6R^H(TdUI6osX%UKGCrPnVfk78Mo2^o9KiP({`i;3b%E;HM~- zAlkAfutck`6@Gkz#r63P5h`{PamC6**YSEWH*$?c0y^^jb_D-lY2OMA*MafTx3m3T zBRTK@8xNI@nGcC)3jB1)LybK5ii3O*^BW!0aU3xH(Tl4J@Q3Pmq@o0Xtd-bn+f~q@ zQVM?DJ{Wdnn)nvS)!LSy-S#k$!9Rw;znD*yUd7WzYG5#>@yU7HPp;&Fs8~&N|)0oAN-Ql zE}Wr`6ibB>yXwSVfMIjm-;~xLfSnNmV(f-6{?rO4qlXP;TzzjK($?EgZfb~{Z^&x= z;Wi?+?K65aNL7;-^yiT)cv*&$`l4T&$Die(9Lp#(s&UhX|J#z>XX&nQq1zmUp{vem zk~Hy!c%jloziyTGF20=HSr-)-Tl<;^kHm87eSLRQdpm=7$SWY+Iezk@n<_NcO7LUM z8{I~Jho2(6Nnew#9Zo-chw=$(Sp4O#vbQD2Ty;1lfPJ9FS5MP3n*spom@lAJM%G*-zAhV z)r*&bisVIVejzxwC;gS1|AVrJ7J;X=_`LNe@G!OOmz&Q0PGa8&`kghh__~^-cJh1U6V^xC_-xz>MfM@dXzkU&I6<|>n*;HTTnBeAPYx2J#f ztA8aj+c3_pg;cH!f1xv`F@|g!!6hs*-@N^P;Mvr+pYU&%04sE82&Zj1ZhG%^#{mJi zbQ}KM#Fm0UY@bCM~bupNyOdz+&Y?u$b>%ta^Shml!S()Q1mwlqlCZe_2J1C4N1cTbF|p&YJcAznZI*4>kz_y z2PxK^=_#g3-AoPtN`U(e^F^r_P9oU-GgfnyzbIVlyUOm^SLX?%hj2*0VT&wrxw&o~ zwClCPRNNz2b?=nkrC2at%q1-@y6GKK`}>EF!t}9Y*e3#|+s5l2BY+c!U%&PN16%6z9+WUrkvVa~Wa|%U~IM`-F_K zc(}k{20AT+Bs1l2r|cIOA3ib1ppP@0cen^HE;`@09^LtVy0Y)WoQrBay=;3hHTjg) z;Ixs=3ivT$D{m5lggxJ+X{Rz&nR-NYj_V9dqrD5uF?W5+yXkThRM1eE(V~ftZ(>&% z0a=3S$BDKX40%2;3Xo?**TPlzuJ$JVc+)56!orojSGoC@5V}jjSf`dRs;v zRmLOQTSlNJYC0tzaFOD8zN2%TjpCP$dDSVjwT)HbE|%;59*)>U<V_b(4WUKn=K8U?nc^}qDi=bJYuBE3=n2f@x|zhzj#06gnd)3 z+Wm+BS2^P6m*s_wN|$4_JcFLcEtvX6$$q{b@Ru4Fx^^AUIP+%1$>c%K+87dFoOs$&ZF!1LwGlR-^+J2 zM46l;6V4ikrsp`?dFFdDcnT)8b>H&kUzBV`XYnz$&c1cg?m>NzhZ`8YlE7WVD%9wp z3D=Z4q=^{94K^d%+774}4a_1l2us-VjgPdd6Gv^P$(bA{IOYmI5=C`{{;nkw z{Ud+$1*;P;Dq_F4?+j_uu{3S(Pwuhg>qJHXSSWPSx_L5%D@CRy0^<~0qf!+zR zEQzoD=G-JLZ(csh`Cub*h$j$4yL!>2BiBF&ZTy<4^uR!%_%6n)@S}wWRI0+6DogCo zi+ncsP%=P_MqaRSlPB=~pJuS$*DY|J9w~U##NVRc>rBALom}7f9`!W~)N#Rgkfy)4 z2S0^w7@w#NlU=rrx4Hf)Me1udhW^ey?D}z41nI9Q4`Ld@1ILNCnwbLX6o++NxnnGfbdNPf1VPFTlnhLodnp6#1M=U{Ufk|#DE)b;#TBcr-Zs>6Ay+D$aXudm;oo!6+~Zh@Q=#&Bm!X)7S$Lw}?zI>f^ z{A9x3D)JI*;9}%fkb0$igsduZ&4IEqM<;wrY~yR>&kh<-{g)VIf-`BcbmHCxe|8 zQH#ZLotL_{9MQwxfu{8M^gk%dT)e6%EquRhRgQCL6yasAgS``m>Y1@4G6j$Evs&d} zKOWulY<|uSvrYW?Xj=EF8;OIAcB&!QP%}=t8I~!!nQ;AlVuCJpG`7kbf)4dc5^NC) z6$-W!i7{TnZgq+XXS-&G4~OpC{HF9lDM9lNzkg$U^BoO0r$1nWgils4zC0aGUBPgq zhK30bM}4!Rx^qn$If@K6+;`o-`H08aezT}H;7tcN7{%(ok`tx6B8s4^O)>yCLhO{- z4Zn6@PT{5)8kZU?I7R%#6ZB#Dc7#`1B_#DpC2cVnJ2ozIDB3gekfNQ((W~Lp7$uHa z(H(7yRLj7*L*gm{#a(NpHRH)#P%`nH|7T3z6gEDS9og~}k~P(p1|UkVb+L@SD4gQ6 zuC-s>i!-;E7-e0F6r6MmIwCsuujE%4lXW6tmo`H&dzmTUg<5!7qc2$Uj5?!qo%eZj zzRBxXV%<#S!Es_({zNbw8`754u8S#PzINDR$`hT!(YrdDc~7x+I%jrv{Jf_utRU1& zU@DbcxG@=c8NLJOSLpCcNc_ABq5oHMSe(rd_SN3tpKrkuNu({=WlQEL`E{d-e3HB+ z?mPQ5*yfw}Tu`|^a^j#q7gS8Cg_UYrKP50hnSbms-Z2Yi8M)&tbVwaAJfc4m{4+rq z?62v&5E*s#OT9G8G(;JfSGJi;yIr!SlylbF5s3|<=yX{XKU!?!I+D2OxSH6**$<0X zxAXv;FV!@&ew>%DH4NSM(r(dum0|&7=yhSJXyc15(-A43))Fa|A|cnEdi&|Emw^CZ z7V@%(GO{q1=nBhvn#!t_wxn!l%=NcT*hjhnOf;at3ljv{TlSP*7;YO~q*MHAVN8zs zxyv}_m;=*{31@p9d3g4VA^GpQ8{&b=MJta?2BwzT}lbckmgig90L$cnu;my*D&-;}VNC zrFAoLr%2^1{qWcOd^;cLk?B)tBn}7rgqa*&e-qO#M#O&Z>G8fvKhg`iOqpKiPdU2d zmFqs*T?8(397lv@aioTAVugS=|0?~EtGe!I&XH=Ajl?-DqJG>|YQ;u$e2|<5R$kdu zs@xxgSk5|_Fs0C6v&aMiY=ZDY67XgfsGH#FKpj*hLKjTtJwb@&8X(#}lMn{T4U|bksNH%0kqpG64um`4k$~*^5DnBLJQdB>Rx9|L=GP++ z5v$WjaqW%?m=!BluTmNdf&m;lf;viW;}^S zxaWqMe$@tla12SsYsZe>ilZ(HczQJ%4@31eFJwoUr=o%BHTi_N6qOHZ%<#zzwJ*Lp%Qq2kI zGyxztb}vcn=i`_1Y~&#@4)d8CN1SD;F~;;1Z)uaGReGO1b_DKFms}`bh-&P`nJy%<6*b5;s5} zeII)z&%9t`!Y+DN$GmSeI|i@}={hmNsms|Ap@2}%FmA!%)GT7;2=Wuu)A)8^oTi8nC5r~rjxk&06K?ZAP|YpqWdJ-24GpdR z1g#UH$8Up<>(GZ90(*8>Dj3NL3jlR&X2y<2zyiQA4h?xezzDJjmSVn~gBVvz(FIsa zZbV4ycVIVg;k!^^g~LC-Pyit~`SvOC;)OL+zibVquXI8eep!J8oSt6rU{;7)V1hiK zNK#~>g~P3V&Z{v1q|+7|m};vXWjHQr_1_)_7~_+;1$U~BY5ZiO`Sslz05z-%vx0sU zB)p!yiibglO2I6GI?rVa?CcsiKHM{b8(S}NA6Gn?V*={Pxcs3evpH>ef?m7*Vfg3dg(!79crt@>1XU}>#3IKjaUI5JKdw8*d?Y_NB% zv2~G?orTS|jd?{yHOPs6xy4&h#?q1z8ABo1j?S@@ETstqcOoL*Yf6C)^Kkz`1GjJ` z&#(#$3s-_5H}@oCnq)-*pi)bW?mccHnwW2rD29q6eBe$cndf7x(dhg|vl!njNyybi z^2tUJLzrwvFtduUe6D*?3P5d|)ITZnkqT+@6hA&Ar4F5`6&Rz=eCm z^0;Oime#VxkNg>?x*|QIn2}05E|b?!q9Mphj4qq z2d9sCDTTg-=QNbY=ESsRuP!$IUO_FDbORxHET2{UZ4A9s0izqQr~;j2tOCZN&jzho zC#oAFBwj|m0mU2Y3j=`12^H+@XcI_G6amSFZf;DCHdIVRhrZ+}&@6bIUxrF@#2pch zHBeL0gd*iIBNoz!q^C_5+`O(J@~L#vONN zn{x(iboCwhDXkuo*3iax9r^|pyO<2DV=ZP;e;FB*Bd!o5)f@SY52t2;_l?%T(M}BQ zKYD>G(jY6-y_?0oA7G#M+^o>IA*(wDPT*`mUfwi2z_8gp3VT;TDAP;Q6rLcawEzw) zCj8+ptl4vvR~AqyvUL>f*6e3U^GN|buqF*2AQT0smbaRJKK_~{_4b+w_3o$~tlBmU zZGF1wZ|^_Fv!ba{i~Xx@iK2%h5n$zSWfo8RID)@#+u^);gOL+pL~KwnW;@?4mKd&k{V^hp)PO$_8`_OObS4>F;g~#8-xbKF%G2)uARO@p=-+V zN`Dm`>#);>@1XkZ%rNt@zTa+0Mld%cYiznkz+ePu7g^ezf0sQV?~A4V}Fln2?z3c>rx5? z)KUlam`Jo!Na&}{K>eC;dYv!-J)fRJ%-;62qimdEfWAJp>#^IsMlHp*F_jts)$DQE ztPv1Xwb7`|=?93R_u*_tKO?R_R`?rVa7)r2xffbGo-_16y#EL6Koh?P1(%-;Y`{YD z|6fUluk0)g9RGhK+{y?Y>VP%Vfvs}}PJV{}d_oLtUmpQmze)@p(;hH{L?<(ZILR_x zy>x`($@AZ!Ei>Q~20<-fKR-Y4<{;1wHlQu|uv=?DaRZA(j6qdke1i&V&~ix7R(?=i z8X6ih`1<<7dsq0502tw5CIe*BaL{ZA2MD0SR6uJnKxS1(0R;e7=z=mJsC5O)h#)c8 z`5dtBEi9uWx2iyy9yGZK;?G~W0K9qtxj<*-6kssa*JKc2|IE;};VQ$2f84+#3IeriT4ce*|-^g zzj@6dEFj3h@aG4^^M|h(o<8Sf5I1CE5LW^gJgg8fwd8^l41DE#_&&w zgMs1eKcq=QMx-$mkQK}fzrafk-!ceG{$)_n`oUoDF2=BB>uH7*Uk!%LWHpAH^REG0 z!k{9W5qw!MXt=_`-kxFB%$W?Fz=9QYQ37b?1}Hv21@Oz4FTrsN5(BlaVFfaB?+A2C zA?UINcXxMi<&AtB`zXLVyb9W_Y{CG!m1V#IKmhj6ohN}P3c}y&LV|`BL5xI2Yk|tb z_>7&g)WXEx)}P?-u(2}MK5B_}HY7x&Mq`Mt1|LBo@(|=M?g5uzVq!xD!15cLw0e7;?f6StFnMv#{^mAM$uyeVfhy_J z+{4UBk=2C?2ZtrDAKxun?k8fHOimaaUmkIiNTbY7=0b|;aDZ6M#m3GRy~aChMjU;h zKt}oTeB{U&IrMBdc!KQSebVDBvJ(8lSI$tfuKNyWpLL!hf5imNCSr_WsuDk1uch>4 zIL?%==ZgAKk`+2bsQe3o;b**qT}0z$9@0~Ie5YvHSKKM8bJMa{W3gTZTZZnybmb{( zimv1+!Tubx<6icnircL-Lg6tYp@PMpZ!93M8M=wbd*dx@L}XXR z3UCYS7Bg3VOD3y$2r?@zQiueQ8gEkV=U<{Idh~iL9Ohd94VD7B7aB05fa1m=BVKXX z5yJ+iYxdq{VCCRs z`1$QELuGL|0|(bDhMh+)FueKtn?X~KjUmuojp5FV*9?tI9xy!n{F}kWoS#8VQj+04 z!zTvDKa325-`_H@aQz3H|C^D8;pXEX47?nF8I**9h2$U5N)aZ=B8dNV4Lk-!+xI`p z2nA>-AJgC847~iT3?hR68GZo$bnoF`27P^C%bDdp1N#pitZqfLqd|uJ2l^GLh=r4Z z?g1VAlq(69zdR^nplUv!sY?~S(%I&z#09<~|`ufFp$tlNE^A}!tn6*6Nc+o zA2LXZ$S_Dth%@|u`3hJ_e`mM}EWrQ%{LbL->kq8h{xh69c@lis)t9f31EN6N@<9`T zp!fqVzXKK4APg$3LA0Bj8@SL0?Jxut;-EquxtBExaDw?jtj93G>!SezXrK#dP^w-u znil9g1cE%l1lu_XDx6_MATy@UWO(rSCBrXJ%b63HL_YmvFjMDZi1ZR<`0@WG!^zVx zfrS<;gPH7ahQcUGhMym=FkHFviQ&VqpA43I{0!dK5)4-_y<*sY_&sRTGJ~Rq7=xIs zD#PR@yBS1;c^Ejqg0@MsGO+(;2koX{c>3-W!_!y48H_Z6Eka2)@Ot9^EWkn!bobw& zIG7&T+h75@nUNRB;$cvf{>mUE_>bZI*;fodB9$3fng25U`wuMm7=GXxNBIYy3YUIx4}ong2tCYYotM&S#aGa2`bD%%ke-fL879f80_us;Tu^- z0l~5fR7iUcq$2 z&maCX$O!yn;1FP9`27xa7VC7iVR-bow{L=N~)_ zJiy+?uRowu?%<;&I0|VdU@I7u>wYn?Fmo_4eY?wGpdrq%W5;ub5AP)y%=8r*Uc9^v ztSo;p80f1qdPJ$>=#715`-ETGFty z8bF0J2&`DKg5l|tcMR-|{}{r34H%U9co>Wn1R3m2#DS&I2L{&fpBVJz*%)Gd`5D|S z{xL9rf62hdBElfX_lF_KjGe(wotc5}FCWAG$7~GDz}|kWwK{{6FdxJGjVBm*`Pmr^ zRk#^get%&2&o2bDA9Oniuu^#RgMkfL7)$X0lOyPOO<*bb>)$tEX*W3T-UAI!FoBL* zWdgeQ`xgd&_U{amlAH|Rfra(c*T4opBk20tpA2{h%wdP_{{i~##}8no_nCp0osB_D zo)1{Ce`Gj$>;!|d6eokXjV#0a7f%@E#RVB6d`ubs{QAql#lZ}$1Xvj=DytdpzW4w( z4m1=6I`qoU&W<5EI+~%qy`7<}s|&ojrMS45!OP1Fd|DwgICJI|ohfM_tF z^J4%3*gJcdgrYEv|F~T>FQk+=up~|T5bSHH)({#CnskVut;wZ7DOz%KZ3`M)oFXX5 zg1#mTN)$h?_ukHX#VK&i2A}0DhjZW@czNFEJ?D9c#h~N#Dy1U~5h88$nX||n!mx_P zB38G_W=!WOvq0nFh16<{t!)$M?S`ld7Wu;j$)z!jb_LxZQo%wacQ8k6`ir=~jbnW< z8L6?iY_OlQDc_Yn|K#IbLZ$Za*xwEO;huP5b$wJ`HD=;LX2l_?VS9S7C1ypgu)NN{ zkU3m@xQ-328bQM*YEGbQbsnGVtj$lUbLjNmOb-%DGzVK3^Qm!kr$sOjCSnBCS}x6M zm}FFEXJZkodX4sZOJ;Y4`*o8i6_i7!kJ8m87w2c3=1(wG=F#ugE_WwmI-T}flx4G7 z?*)hSk1P}l-aKK|!nmbqIH*y>2)`h@pM0JZlYjfKH~$fUy)*Vn7>L67&lasT6oV8s zwo$_(bn*B)Ty6?UFf-$Ny_)49vO%?S?0Bl$1kqfe!7p#$K=FKvf)i(JZ zo4sw5_QMr{F@=9$hIp8kAfDBR#_WPdJZeCrB|z+%o@@#8M)?cs^m35J^FxC9w^98j zni9o~O)zfMxV@?4cVhyy1(o)Gc&t>o3%r4(s5VJB640xObGX4$DnY5Dle9HfQ)8IB z7R6E#ThZCiFLQi)j^!+J?cQ;6bUYUTWWImKqnC75CqzRAL3$o2_YmF2xqpp8mOd?IM{O$>Th^`9;0cyK!p_T%!j3T zfux3v?rHP@%ZyM@I;4OVYAY%BcbhN+i6l(W@3H4JrN7)Fv#OA~i+bkM3kb|U1>OS< z?T$f;k`0H_e7n$+&d+}aRp|#GKC z?nW34&hp6&23kI>kPEL3zL|6jYf+x=D8SnDygZ**#5r$17yYMmOmR-}^q&v?7J$9; z$w?Rr!uYSPwJq2p2-u)5j2B>Q+;A9g;7QPx*YE;E(P9AOx0zE(4q{}&2C`Sup{dJo*)-jgjg zI!6`U+61#ULo*(!hGVLkBbf4(B=!YsZj+e;1Z<5s>2q9Hs9FtT(wxZ5 zQL*E>0OFXi?4WEJoNNc|@21>5FDdCILO;s&G?}PIR(YyO0Z1J>x%fX+S^Y+NJKF)nF8kJreP6Zq=I?EMDJU zsAQ*vOpVECNQL}BwdSy>W%yp!RT)H`p_mgy(G0e*a9fFXhpM@`MOAE(IEB=tVHA{g z7LC!^v>ev5L?x!E;!jk1Ni|5A+z}+wa3z|6(=crVB{Y@lj?kY|sm}m?!nE#lgg4Ll z9U}~V!BD9LvCoxnYRKeRK~o%t4g`?;;^;mYS6bn}x5Ir;;CoeK)$plt(%HS?JRpPx@;nd4zQ1mEz+qzhHO?B3xNxta9|71qW88#cFbY3N!8l+9 z1==z+631ZSCY*{(fI4vqmR=zvVhF8LHLge@vfD6cIu_C}YunRnQ_wMJfV;(;?Eqm-z-)Ky?*kGQW2>srS;4rAxp7HVR z;;Ta?SN37K3VUUcJ!B|V%7-=831MnE&=nua#$YiR)22UCbvK|So^(4U;6@y9Mr&>0 zpVaU)MloQJZDf?3WU(6&N}3OXmOlf)ca zx6j?Il+zNvdxra@@e-Nz*XphR=lJkq2AP+|1Nr6b(!{00QSyar(qb1!e5%;q|k&46$FJyEG$S-#lY4# z>$7xb>=20;Kz#rt7FK=+L<3Sqi<>kFw$qBWOREk&vt?VBb#(8w?>U?(P%f#}U6Oou4El?71QrM`AfCLX8tD z6}RM=BF(S^AOE6Fwm&8FC0^KJ;&gd_iFo_CCT~P=(&TIJotYxIDH2(f%vBUw=31}% z0M|Q1G(v=XWTMXPK+TkgtOW~eS1eaQ#;Luhndv@Rp~RuiDKE{JJ#8ji7;S&oxPG_K zJ(6*a*F?`%7`aldg>4C6Wh6mrh;^CzzvwrtwQzy(YRB7$7NLiRhu-gB=QT;e1cRHZo? zrY%0paPZPkhCpu~hOfYOEg!Q0&=5fe7M_<3Kfb7_;wf2&EfxmVf2;x z7sC$@Rt7C|Q3mUC{0zG z-Bn)R;OwGDVCS@Uv>)D*C~D{r3fvXJWhPLy}}sXciKiA&xN}71v6%ssh&U z=jw}=JIu46VoruYRaA7X_`@cOX<4uR4=r^>M+Oxu!m<)Z`Iw^WFu$-&k$#jG#VCq+ z_G8-DeSGsBcViv1J1kQpH7MwLURl^*0sWiTK2y*W8QS$}U*_?D9`YrCXr1~&-GGqM zxEw^q^M7Eb2e!;WlU#rQfOZeQX88H*7lRNlH-o968N>1=%NZoO|1*e6{$@C|kDcM- z3jqc}^;ZlsBJUa48Mzs5Jpi__?>uM7^#XRinHd?ret5~iB>-$4izzZJSaX-5bJYU| z7BL%!d8#7alMi+JBm%srw{@u)GArw@)m< zmN*{+EB6Nm76#BNk-rQ~tlt?}SbqRpn0(MHqz1ZpW&$t5U}RwepZg4Q6XT!1z*aS| zwF<06e*XE%z`;OZ7#dW-g9>FPc3`vXKg3(#|AL2#7+JnC`~?>Dpe21jzJFt22DZrA z7s*u;T~xENNgJ;m_$_Y(#KlW6cR&DU>Uft_{b$`yul=g%=185x2nF+ui^jzQB6 zfYwHXF6;bAD+>Suuygh*4Fo|P|7|Yek~2X}f<#o*MiYGjLDH+lXRz=k^cB?3r_e$W zL^}%$3q_0y3PDgo5;b3P#(Z3IIp;*M(<;Ft1Jf+*?7|E)|Jj|HPC96fUd{8rBc*(J z+qx)6jKguFTxR;%IjK>w6Wl%IF#K7j zMuw@DOVk>c+^0?Y?3&lq8?m8?$XDOtq(@yK_rq{ic&$?hdUOr~HaQP%y{41~(z30dYh9AJ9S5Hrl;pGc%hRcuNf(uzGZZ-xsMrnq< zmsl9KU;F}W!3ltGA7SJIw!+zj7>=F)&QL%78iRqCD?|UZL}1}8%JApMM}{w-nHau& z1uZKBo&E5O;p^uQ3_G_UV<;)z!0`MHGeccd3PV(iI|DnYHUIxT!;e1#z^*+T!~Z|; z8NPl67GU75-mnW;abY@j=l}i(FSP>=Z!r8}1iJMf!^>YkfuYICz`)PW!1@0Vez$;@ zzk%))1l2{q-Z8NM1|3udtXQ}izz6s<{on_-sDWa@f|-+-6Ie-c0xJbhhSS%7GR)a} zmq9>PiQx;=Plj6$4>E`ga)Dd#oWM9>1{TQs_wQ%8cKrsp<^1!{uhB$KUjUk4Q=ygN z00G!LpOuDzAdG)(6PudNp#h^vso=?X@jZM5FM^=>0A9tr^z6M4P@#f`1bPrfdnol! z#U>$X>ZUW>JU}lI4;|R+UUvEIw==W*RRw6bl>h7aZ&7xPag0V|yuQ4Z5>e^22iH9I z+WQE?0g~y`md*9H@g5cE_WF1pjtMOMPxJ(}rh|`}i|bB+*1;}L&JW>vbKG2oI6JiqCS5}-*L^1m03-KgG=a3%T7 z>5UBYY`QcOkgTKyvQ+8YtrQZlBv$EzW(W(jp_Q&tqXQ_*wK0Kd8OVi!%_xDJkg`q) z!jXX7C}3ML;yggT$#w`cOwwBUtlr9=34z0dzHxW0B-)#M8S z*gJoghJi4Q|D=gFnv_6QaB#B_acL(fM~7~H0S7;WiyuY&5Q3A7;NHnU;82W6Q;492 zMq)zJOX}SH~&m%Ha5&dyJ0?!*+65%;$b++6px zNRRT~EF@@@s;9bU((N8`d3DM`dzU=>U~AK&)pBHYElAQ*zeUNEI(8kaQfXU=){vnL zVKWMm>zom123aztX$dxD1w8#jyIRkF$QY;urBGhY&=`iPM-w$OQSKG*$3~*?*dYIm zkP*T2>U8!U{FiqQJ8jZ*l|dM==gIgWW>5A%q$s&|Gbp8(D6Jj{uMy9 zD4?Z*IDa(G1}OlQ#K6Mj`}eO5PaZ!7w@^XLv%s5HfEk{LjR}04_5+~Qx4)33T5QZ* z3{T$uV|e)PI|DZlF9Q#!2*aaSf(%;^{$SX7>NSJ9H4lTnwJc~`1p^0@07G+U8pDcp zg$!;UmY{Rsfc3#Y@KKv=?Eio*$IlFUM*6@4?>)ocU!NF${kqSfpu)qz#V5(|{tK|U z0o|AiTEO-LSg?QoglO&$Xq^TOGtjs@FgSh#TlYVH{$+Ue1sH~3{(-OaV*SU$@aG>9 zt=9hxkTbA>1vDrc7=g{-U!dLyu&@T{|ML&nlI8{WIC!`jKJ$HKV3dBvplQa-;N@z@ z!21Un#xn8@Qk?&Ry^jwJn(8_XTwHvhdwjv*-rWZb7cX1~nhz?VNADUO0MJegLjeM? zcQz{x15p(InxvY>C?+vGkwR7qf*`mk_z1p%Th~5=FXX!G?sQSz6%<4_wZ-2y)uc|7 zI5WuuxG8qg`v8|=X1H_C<;=PBxcwI_Wp#@il^taqfAQQe$E`WGgQb72!ItmpVlfdV zGBYYf+aD%;iySX-*|dGS_a2w+5uKX>C#NmKpumx&>2ow7h(6dmYU25hM2xSbLL%>p zYH0|v+E^kzN!M4WG;HN(k+Ts(`r{C%64@(rpSrC*Ic6eT5Jf^wPc&E0l~QaZxhWY% z&R8;x{b*e-eoC=Y{3(xCaZvWM4a1WAQKpZRRF5iuF`pQ^@F=!vUs-gn-)Qd4I6n(H zh~7Eg4am|Q+pOcQHFPOf+U&dD1Gn8?b-YUr^gqNQb5N}P3c%jk>og2QQTU{!D#20X zLK#q{u9X-wu(9$Oh{xgu*jU+FyMj7Jg$R|O^3x)bs0mJDjvcx&R-!{Kd9*D#(s$3b z<8xOXY6t9Rn{Tzoe5Oh^ApV%m5XZH1qDj3gD!B$>*zfH_yUQfG!Y=vK*-?0$)+X+qr3vgfahJRy*`t(%_GpH$rD z$FvgN1A(iH5l+G$T;GTKqLTC_wp7A#Yfw0r`%zwsV@w2z#N&^0u)+$?E!tXXq+rWU zcCy9fo9~-UzM1-i4^C2KoI4!Wi0OG=opQNi#7@WW8tYEMO|t2f;LRJ#v^O+MX-7by zhu`j)cX3;z+YOFOS6EKW82V)9b3zC|7__Qp?5iQ*5wR>1;r>_uIdH36Kx@Tovqdr~ zMF3BLI}lnv`OP&B^bL1UHI%Z^{yX-tW7y?*ET0~l&ECN{U??0j3tb<*CJ}d<NP2-ac(OwRG%M2ohWA9=p@nq=X?{?;%^1~6hPEW{-Ari z0!QO$(3jAVA&yU<8D77B!@$bS3f>jR2(DQf8H9xe8J@p=%JA(sqz%o(16o%04cLqS z3Ffmh{$=0=Hru|lF*1Dk{)XWX%Rh$Ommf3ydHaWfi67V^WcdtiFv~D-vB`iBjQ{@q zKLZ;JFR%sr3s@%cGw}0CGkp5^1!$8Xcx?A4!y5(-eN_e#F=dA9H=i+l`2#HI`1lz< zeE!D3%)<-ceTUwPW`q}<*kqviKN=s`@CDu$I>a0%Ru1qQa)!T5;PuC^-hX6ZVdZ3y zl7Ot<`1a!$!38IvU5KFDYySWF2U!`y06HTY7$2-G44=P!WO)AK3qwbH9K*u3sSLqU z77P})5)2wncNoeh3NW0%Uc?}*EX~k8@e6~8i!y@{|8E8_PiqDV32p`>LsbSHRRxCg z=T9>nKY3s@jSnoSre-4*AOJgO&=WNf#qnR;ZR@r!;zCju4;sV9<;KBCLc)e{^Q;$- zCdSVI7cM4V{1zVl6ngRCNk9`WaKKbyiOY7kZFag#$2Sdp0}?s#l1V2`U#Fc+|MP#H zdH?GK=$%{kd~@wehSH>G8|#n$kPLd5c=+@_rcWDG6AGW{n_T?vzzSr=A8tu*;@7}+mIUDnJ ze@OS4M|Xagje4DSl;bwf`IV-`adJD@|F0QQxNDPD{wDx?=g!hF7=__Cm+wnROw!s~ zup%lHdRcVoR#2RDcJ@DrIQS?0F-{7OPU=tv#Yw?#R(r9nY1&-s$(Jtf1rZuJnUX-h z;dx&U=Q1lm$L@LF()}+;ooHy+?TOKsl0ZkiZ8|Q4(~wJ>BA2Y2NfStJDW0ZA5SnJC z8G+4mLh$bn9H!u4uZYX@3p~}E2tpOxyET-n9NI#QOd=tlcST4_6Q(vM1$W_C8F)d1 z+_+7^cSOlqZKr~lcOQpGS2#JlLH#3zkx?NiE@P6~fMn+hz+5n+M9#sDmlR*=* z+XR#Q&~*l#(f5K3MuRMdT@sz%D!8XZ^G)#328+^A!$rux1IeR*9TjjQd#YTR`5X~qPv{5LlI6mFS-D3;)53jJaKDLS~ zN^1^mD@A7$q1|a=UIzW=*UZf7j{xkQF-s#s6o9|%?ky9OsKi7P?@S?w8WFTmA$nYK zwS|Ru95yzh9C(GDrTz+QJHbM1ENnz9ti&#b5y3(ua{Qo1 zDs{_jAuNy`RIhyST$^00-Q!A`(Kk#jNpN+jM4lWdq8boDBQJH?s&Xhh^Bl74H zGh!%uFd70f*TM`U*a}oa#uJs`5O=WJv@PrL+_y^m9;*1h+d8dWPe1dvKELh;Lp28H7uF?pbP|^sSFB=Pe zkfXqG($nd#ZjEc~9NBh{ecm1T|sVsV?9 z@8f*TXE;1^^j}Mun1n(;Nw<|Gs5+F+PVoHt`#OJni++`xSN;mX-r4gc5CmcPJ@zy} zI5<%_4Z#oMM})#aVYDL=W22S5y&)$40~=#uVQFIRFR-zY#tNe`Qk$qjIzVHLp679U zhqG&p_7ZKFA8@zTJI~I}JJX3r!eRXJ8klZ$ATzU1#TC+NdW3^wMuhuLL}(L<`oJB( zEODs87mSbjF{Jh4T5z;$VI*NGqp|CWI=}a2&XcXpS1D?i_nVLu6KnOMuBfqkNwwB z!Ow4y84Y4_&Ok1mAc~LEnVTfk!eQf(P?~UDTh_G&%reE3jz?AX&{6|(byizG%rQyG zq8#A~+cu*F<+h2cU1>IvofdM65&I@!(duWKP_z(k8w{1|GYlhy)F7d%^-3g6G|n73 zuS5A!hi-q_(ZwbeVFmZuQ0SHt;JRq22Glw%&d@YdloT1VGiey%Nm$lB{FGGmh(@H& zp|~+9JVHm(pz9tAt2vbSFHl|ZA)9)F*WZF6e#{*_G@6pkyYcTKEZ~Q~{m6#^?48R? z8&MR8zszLJW1<=30~gh*D;0I43pcK^5CmK5)}2sr;h)pLpn@PJP*)=Ex~cd8AHg>$ zs8LcCCCP*&n&~--B3&y;!Qn23%Vl5=mvg>zx#xFY!$D8K)AN5s&kxl$f7wj7G8ME8 zLXi;Z+dPqgM}uv0E{@LUh0!u*%XDdPc4)TLVHa`yd7;)@x;q`*LWunJp%7dzpX040 zW)=y@qD)N1u_cxF0;d%784Q1voa?f@@|*SK9^Zd{^nk{rxSYQJ#8ho&GcP4x^7n6x!`7S zRDz6lJ@J)t7(&8cP4w}kK`Z&xhb!fZ5z1!Osj4zvI9I)?p_P6*gv5PM@1CB8%NF;y zu(n&^;;O*tSQ~+d%SwAHEU{H7jjGN)>v8!0wYvrguPDJFQ@O)jR-wMq4Miiy_D+h% z`XD{+byz~|rLyXBC?CuJNQRI)&XP#{z_x3c{5nDRpv~O1K`QO1|D!8w{?HL~mC2E$ zLTqi~)V^=`H-1!yNUIB%UhJF9`%u9RKRNZi*J}Zl-8x9ZF3?s!JJ37zCZV zhByC``X{<}=@xYA6m;@pU>KofQA8v~k)^JJKen|u6V)H!rNDtX>@o~HyE~uveZ!l1 z{Q{c)e10g>p!^%@%ouH;M(!{xcBhExnE;M61p>4HW!Ma>(f9%nbJ;r@yhAb)Qy#q6 ztVqt=&}%WJT87;*4*jhQQK}%F@IMo4(b$ znM0f3r+y5rj$T`!cP5j<*C4rq$evwcHs-~|7;9gFL>>$aw&`^1kVGs0UggJI*zFeX zF-%O-w6)ntjjL4a^q3vE)fS(OP0c{%RUZKQ@2Kd$0R1Tdd*|=kL>R{L&n3CbC5?AU z6MNL8Ew-ShqPQ3$lvcZyE(Ot{(5cX+ARWZP#o0yt6Wm<7r$fZW!6}F~s91|_p_qaV zHnfSkAN6^Y49<0Fp$|N8FLyl0y&T`~_kG{zdEfs9=%pS=pW9imfA*o&quq-{JjV6$ zQOW|)hNg;G8f5$1M72Z00yuF|eRjy>;q(B7+XIZ|G$Q_vV9jrQ?-y43Vh6-LzVTpY zn9VA@e^bG1xa93yIL2jMttLbEEE6{iRHt25p1tJmT#niMlO*(%;NhW!Xfo&wac^pf z7tc$qzJA5xqsJY^t8$@}$v%q3I~`Z{b?YaU59_>LEAeCFGwXXtRJZGRja{ydWXR`i ziJibnTMQ;QiA4h}QJ{Sn%-*z!lCVNFs-)Zx(`cp$sdPj6W;NHW9jn3}zq^5*^owiS zl;0h(@nxUMqDA3qfL@CUcp9|ax~Nwj-w1lCcHLz{b+lCnnR}=m5W|%x1MdLaa^$@R zwR)D1-z&^7kKtq@BH;IBJnG857OvkU6c)l6OY-FDf^eoT?G{%qq8Qmg~o?LX)L`spxrQ1%V+PbUrVR{-|Tr*>xK4OfFwmpH5;bT9S~?Md zUoCJ6&aAXwpz%hq6*V||2yXoaipgcU8(f&0NAbyl<;StMGK%4$8tlRip3ibHV^xHs zy?8AbFxZ>M^kf`cJIl-tpO{73@I65w3WDhcQ*&d;9$#boa1XOfOK7v&5geEa_L?*r zQZi;=ADO*88J~q}jag@7|aVSn0b|+H|EDmB3jz6lRyTd?&zO=QN z!A)KKiG8V8>x3v-2wnBysVH;x`fcnmopBs|ITPNVDd_woO!&R%B1^kuL$6k$wm(s3*<97wq^@ z7+^%4@UJrCe?Te~<9pMxMz&Yb7(~h_xn+(kMlSwt=vlQ|Ls@UD%;|B zAN~-4y|Za;Du}}HljP=pH8;1WwuwR8USeCUSVUSEZd|!@->qvAaV3ar7ovL+gmhV4 z6hZI@6jv4eKt+kR4U)zt#)e=@?&OlxGq?XhHwqn?#lQ@l`QSZgX3l%g-vIP7haZGT z<$rmCmTPxE3I!l+ytEga)7t0PpvUFKfUx$35doy)35P378LV7^^JnuUh7}I>f6&vZ zntmnml0{Nh7H1?$r}Yy*H$}#>Ia4~xe4zMVUE_0TQAii?#{}deMW@r{)w@mZ+<(f$ zl^b|gS^&4LIWRcxIEImp*@fd1lPq7m%Do5AcvODO-J3cVx{BY1O- zZTdqq&LlE-dV%Y=rlhAux%`CsPMyY3(b(PQ_4C6ps(QY@Ymv{TC>~Ex$hr7lmQ&K6 z&v)Z^&6jRe-FB~2Cf1_xe zye)P2PX_-MfW7l+Z6b)n@Uv}p_FtRsCN;JZib{z|Y4IQwLC>DdP4wo;lX&(ZLcyyS zp;qwZ$#3ALSMi`=QHUZ~Y%H~+rrG9S6O-+3{7vu^=tZG(8-^Jec6fi!J1q15jX)m- z!Tx9BJhDBu{sqfs#yg2U?hDoSaFZ(6m$SV75|X!i80{txZWKiyEP>Z8A;T`wFvqZN z3H1u@sU1|D*KZ$*I0s^}Yjo>62z84qmld71!{95t z>{sKtG83Y{!D7*)(`Yhx!o^Ys!DNc(uMXI*MNCg^^Jx7PPHKUac}RV~MWdaQLUG72 z((gtqS;rKbwMX${VJPE`0j?{>F!rcc)5LZbCGI3Q?NiwuW9@O7V;TK@_Go|Gr8RId zX9ChH#7iu`ZzkNlwa&ejSqk~nY<&93xG8SHzDU%mv-)&{AMP9t$H(bLOhnevf&X`! z`mL3>|77wn0oXf#mbRiWjQ?&l)|=d1?`;x{5dQ>1s3cPhvqKbd(!CBY zeg^S7xJb3Nw4GW?p+m*e*iukKVl?r_#3<@Deb3G0*iJ3vh4TTWY+YLERulgNoy&8j5eqjpgVsM{m^Yl#Y(5IgWs<#;>3IG%p;! zf7`{WlzIK?0|zxFlMJwbSY!9cXO*MkJtOJ?s5J2+#1tq`j871c4|055#t0caev%>< z>&G?0XV&=u&|js9abBkKif5dRPBw*c&&Jxjw- z6o%h6)il+%RztNa*u{d1h&nhp2!5bdDh_T=-NeyB|A3SD2Si*P1QA5)Bw}?CEq;KL zSSW6yqKIwNYMR)1&K)|q>7>vTGF@(RA@Fc+?t9+z+b>yGZv4}*tV$v4^*8#^*4~2s z`#U6)2I?ELP&l#6^WmmMOM>L_7O#?3J+-?4idNUG}U2bs0(?V5|>rT&VuOPEz}c|OIVw-p}l3# zA=uW8*||x~FYXegXRx}qPJr{nO>4_TM}elQsu!B33CJ>h8P444TGw>}b z#8FU+gM*_;(aBM86fB5{TV0&QQfwMiO)qJ^JA>fbNudWHgm1{@AiR4Q^4{||I9bya z>7NcFzQ#IGLlm)iRPe4C31G!vIxUar5ZnK2NZ+KFV0<6V&<#2xa$HzdbK%bp?c# zpKt{q{{x{U_-X%OH#RnPq_=jlonFIX<`lNYK~;ssMJH?>8jr>D44^nba~8{i*f0zc zM4)Nf53`me>6gDW?~C#jgdCJ>o?SD)W&{;Gd;2K63g#DeOr}y89*QG--iN!~Eh-gu zs!%k{>T{SFpJJPwf~v2`o;<*SlCW|G%XYaK$ax2Kcmhio3MCWSi!)5?2_%vcXn`W^ zs)du|OAI8J(B3x2z&V5K&>MPsXJFM$P*;O#261qd!}7ui9yH;c)a&izSC8ex`oRvLLl7p4< zS5V?WD`_vz?yiahHzy}aO0q%>W(Kpn?|R->>&}TXr+21zrnk50^L%D{pXdDvpk*Nt z`+vUws6i|Cgh(`Tv?e>$HUC}U@=~C^&cMluh3;AxoYg}Xhj2K9A0ecBWmG*A#$=*O zf}tE}@E>ns8k*W0Pp&Q2SrG;qsqjOH*C&{DCS1XAeC9$_$1pI|OOL!lL?gY7))EY_ zRc#Q{v{cf_XVM-+Sn$YBJ=m5&YN!$V(hTNivX~7xwzhL>jd6(rK*@N3sd0#cMSy!# z@RdevlEQM%zpPoFSAblxY1voTbp>r1Xu{9~(`@=$kiT6V+!Nr((~~&Z+r{$wCQ^fa zWcVI>x;oL;oWYAfL2!(!Ous}!GmX_z?MRiQYKw#gq2@-8)u+IwYc+^FHr(J1*^Mk# zS8_NyTq7745ft;VSvM?pf$6D5T-*f6%=aQaHjEb$g6kv5yLT8(Wgtp%ETsCezmvnc zQADyOCbvOAMfsx?km9k1{}=uD9Rv6*M|%35n?3|!?`m2a27>5o(l4zR(?l;qDHK{n z4_5pGJ*pQ^;<;Wts|6|I&k%}IQK*+z(0`#G1g!@Viu5XCX-v|nN$SkDig?qLLKlXF zg-u`&Z{E!Ay!j14uk`o&|Bfz!bP)}zNTsI`ku_MhiFzYIb22Wjo-j78Aj)}N3jJ&K z27==nCWl7=0$t*}Fk22{1O#SF$G{-1F@xt zQH@nZgglYtCuS^#du7_)GzWw4hkZs5T$s{h&|jbY>Y)vrK$W}8w2USSn;W>fK1XqP z2f5s;=r{xJGDD^+ak6h-&t*MrzYx=BtmGDA{AaF04|!p**x$2mU@f1=akY#}WeYQz zBz^Z5E;)oQ`&Y5FJco&N46_*-vg@FJXXB(?!s*c&QV9i3+ROXeC5*O-2c3XF(iAyp zKRGssA`^CWBD(31zsjQ5f3o0R0QSz`C7~#a<6oaY=!KdJrBYhi;1onqOG87@R-_O# z)L-CIQ$ye%P(edMLsLmZHih95VPiu!4Y@|t+aiKgO(=iY$g_}w1!_$oI<(L@ z5e_27ekV(%F}iaS8NPz0)&zsd70o~tt7@z`qs}SXWOUI}`fgohg05wvFDZ{?6UIKkfLA=0TN)@E$j zSe}Bjl|kd{6IMZkZ`6Z^Afs9@&>VC+-VC_Bu-n}K3;lN*i#~MK4)8|+_Ri-Of-sEZ zUpuoivleN!t1)Yn{5Z&E%R#%Gq?F{xf#SlE#6{e=DMh*XBeZS~F4}|ECWN#c{Af2j z2yJPtWoLKC^S+yMiuctVObXi{1B8yO~Rd{_3 z*xL`{FcL@KU>QoPDzLV31%FFD93?4)uSHyj6Yy#V2D*|+C7ig3)!?EWL@4&OkMBfGpVX>X&73jA*J9GqMEASh%ArbEOJ5Wwby47uRvn7qzx7A=fS@NiBtVQhM z4)2j0Sc|ee$x%)eZkPTukiT@W?x7yK0^fb$Ljd;9-=&Q(jN_jqdePIGczT|e5GYu; zMsz4bsU3yW-Jwv0f^PLs=py|G6bC5<9V$U_=`7OHO?0Yh(F*=Ztd_(kxuh|8JUXYH8xJIIm`(VQA}o+Ih{)izE*Q9x^%kl>S8j@0hZz>!Brn5lxl%>-(~2c;p>$*z(#2UQUAPr-1l40)CBVp&Zg#CGIp>hOdJl&O zSxR1OSmAe%p%T9zBY2x-_pgUJZVc#O03FKq=;9R6;+dHCQ)6GgF7p9nTmAJj$7 zLMlQx-IPM&UvmO<aE7YtG91#xC{sb!Ff0>$IR+}H*ez*8>eGfH{gczE z4wYP18VkwMR|3?gNlK5S6_+qJ_JHlJ6<)mj!rI4KBHQcK*LHHft%+`bFO5yjIBm*l zwjiLV+N3TmBK-W^z;x<_Uy<*ut_KJ#ga`$`;%lhl>BunmZr?(4igU@@YdtS2yH88+ zk};i6A3pPX`VAA$o)e4586F+avp!?_f5@)M;QTuQ{7E)9gLK@e;mPCsbar(KC`T}z zMr5{g+_>r|bX0LMkm2o{HO9whX>M&Jr6>U*plxO(s8BjE=qF-NXo!QwMlI@tn%4 z3!;Ag6crixkA+xE*isk_bg!%ck}c)yTawBOAHM^VX*Hpf%0?IHP(|9SpKn7%vv8Y&1dqf6Lj~q z(0R8BpX)r%3uMbg-T!1OzlEkd33_q)-rsl%D+vGi%MmF`r;2q{Dn~x6Nx$ZVk5J%5 zq~@F_ycO!#cOKlkPB^|yUTshnsODRA1>cF_L#A%&BSLhhQQ z1#K0}Gn%Zi~1kP0E;KHr>sS}CQ%Bc!CWpsjUtsN7-DADHgQB^dsO$kspCS4=y zBV}8yTOk>3rYoqiy7Zm4ppVQsWb^-shX(2F=)S+?|9`u+gT5Aky|YBj`pk8?~iHs0E>`mPTu9upoX0 z8KRRJlNj&4y06Pp9GJzxEaqM==lsv`KfiO|06oJ);q-r`Z`F_CqwY$l!zE2dkj`X` zsce?z#YOV(_nCb)PAm~-{iDtF*degA>Eb`*nb0$Xm*xLKT*6snTpG`&w zl6?Jk#zKCFw{scN?IOsP50#fX9rrPriSj1@oB4O27XLxmxpZD$cDtLnW4L{8~kPxgR5B2o+kzwvU7g_o-+38^CI9CYKu)_Y@7G%zqUA zuwD2`P4kfW>*i1b)6#_E9VOWnq%F|L+J|3kuAS2z?6h?-{aRGDa;z35 zv4W5y(8)%ds$@v(rbs$2#qY-qK5h_elP&ae`nQbCV)c?yA}M*I^a<&8UJiD0S}I^4 zIXoHYCBLzY=GRE2y0BWTheQ7FUr)Imi&gyFi#GzWcQw5XL{ao~zEqix)<=c-ZqsO0 z(~?RgHv9ogv5`pp2@B~D@H1FgS%{U5L^nQK77`Ltf=a6zOesTW#(l3VE0!c~@^+J# zd*9;R^CtJ5BPNr{pKQ2HtM~t0|9o=5VcPUUU!iV{K)XZuS!5iFTA8 zACS+v2sjMHA`OHs3Qn({z@+TmMC(SQ%{Wf$$Pp7RmITa9b)k^I#KHMJ;@%fbjy*$T zkNk9-*m)JAD&g?#3456WB9TG#^~7kWV$BPX$>s}eiG)KIx5;uiB*?_{nXzrXvw@go zO^MHfNkGk}GGw?2m@Siy(6PqDo_d?a#P48y+(3}Z@cA@^!hIMDbz&qwfXJ{Pfq)8M ziv_3j#v4`kqKK`HeLP+hGaa9Ri_YSmYG%|`ZT0Xe4d(7GiYgcRH|+{Uw+D*5gKh|A zWKL4Z=60~SG>d>=fvUd1sOBlx0_E~d;A~QkV$Gq3nv5msP~;|F#~XC+P_7DoY_4x( zcPowQL?fa>1(xv&DyPQ4IY7Vj-%|oLusYdBrJ@stQ!^1euyb?^Pn!?(3v&ns!}#Ln z@*lr7n7Uo+yN^BvVDD^RA&A2`{++j--L<=3_9eD#UXzf6y(pz5Qf?gF6i5Gp|ACwT zKu)d>%0Z-*%>gOP0an0-=p5^ z=RY5pAmMl}RDv9DqWyp0@kG=`@_5ywX-xV*nYcBluBPeB}BoMEKD8?DJGf#4b? z(;-J$#q?M+TqAS~ z=h2zYprbbpP18vPEV%x=7||&cn0cFtM8MV5D8<=72ZY;XLUCzYO*~xn!ObANl$N5N z317BEsh%X0Gxf-QD;0|KjAjdlRfKK7p;9dpK+B>jMN<>Vqz6zb+1T3LhDmXS9BZO2 zg%3&45H@!rhC--X4jdMOXcH=)j2FYi!|NS#m%GT0r7$@)gtA!>x$9~K0m_|+?Q`=D zx3dRy(nQ6j_nFX@un-|%qVIqt2}&HRE9>ZLX~6t=4DqlbrtnGpFPw6aWLGd(Y#nF( zdIWdBhIsoRb`A>I&D~;RW){m!i-<)Uzf`!+=)ZorHgw~sOP>O;clEpsg;DsqAMI^# zwblAqe1=4bHeoO@NQ{laAYm|A%zlT-FEB}jh$2A@2nGp@#AKieIy9(OKW=mNwm9c> z7c1$Tyz9;To|`=9<9*I^egn|+v?uHK{2!|fTWDB@>Xzx#9KGf#h4+{qMEfH+IXJ>? z;tlKZDU1(vU?J9nk8!T&-z?fY)sr2nQ+hE97u_W#R5AiJ{>(v^F=1wno`0iI5P}Q2L)gYi|AlHSmXORQoZf~FIm2!yJ?c*=W zgQVe6(AyUxgD6a$*b>F7x+;&STy{}h0di;>(q%tZcN2KZlrcR!hpAYsmLpY^dO`AU z0Q3fU#@P?+TLAX1o~3~xh(43t#hjY6Q6WMQL@W#zHYo%H76Cs%Y%MHA8w;&O5JeOl ztwaQgV4+}PrGG&z0v3KCq82t{jJXi=q2_Yu-Nl*JT5BcKY_rU;&6_vF&YP-ox%``> z6MW5)SL`2Hi2#qsqj~%o-{Ni-BLs5FVR00Z-Uz`;3Z|15`p(?;a43c(rVLp;sYaaKrY+~Yuw+w z;Pm(o7v~A_pE?w5hhKH!F_l3gZJ|KyyroIO^lTr-#=9ZaB`I>2xV$7<7q%sdmIzCz z@^%#C<4rJrkId=9hG`VwtCqmcoriP)BLiy)QnFl`>_S`P4fI?Rk~biJaOjpsehgye z3d%)CtRaIZK+mhiVLXMojR$1ht%&XIV7R{rg`5Vzzp+y9{taUZ(&e8nd`A zz1ZOG8%4Fb$II0Uqm?>QGbEQP2w?j7j*lZXomZ&RIX+eo*xcG?{%M9YXAPDXM!7vZ zf!SXqYzZqCb{-iG0kDQRgF$gA4uPK%c4`V}X9Vi>ys#x;B`n?TBb^j5%o;r#Txq06 zdY6h`h|3D0)LQ1SlZ7SL8t_od*1EY41u==VypO!V>v3GWMG)n%rS+{ewXba!?>%Ab zQ;i!_Bh1~r%wQ>pXS6vrTtF#HdT0_`G9ppm@#6s3(+s{O%-NJ{JJQ>R+-RR{kixJP z-my^Z8{&sm=K96QnENeO7RDGG`9{0BOCmZ?vQOSdNheE4@^f2QwMvsMm-+mqNFiTG z4UF?(`5n*R?{W9eLmn+Ja`Hq$Y{+-Q!+ObHP(E>X!C|WtIyPryx*K%#KcC1P&07BZ zqH`7gQFil70QRommw_-0KX>=txwiU)wv-lKgh;zkA+ecQBv$``Ng_eaR)2uOA_j@1 zLl>LbLP8>9Fi;|uqFPk1*Vdi)y) z^AngQd_`#pRmJ#l61(X%9t#E7G__ZW?Ul-91bwaOjd*c>b_s)>7WoPiaSuk50+S;V zOsBdr5HR3VO2nAisz!kDZaFc9Dw+*cEx6qh!T}Y1{ZX78@%n7=BbzEfY*v?!b z5=~%vbqR@~L73(%Hx75c&l{0s?rliF9!=wXxb6wdN8Djtb(}K)GWD;JIkxC}{%*jB z0PLN?D}!Mi$G@-VwY}T4$;=RDwz%LRN;_~`IdPGs-IRli99$ih6n}z)!%k{N4x*{I z=77{ljZNl4VrFB^c=`RFT;-~G>g}!fd3p}N!{_&Xe$U(Q`xBsfvh_cXe``3LE;@p1 z&|@(aUkVTeSXRML`7At*F0}YPI5-vWf21Dnwl)_3AKNu=R&R>Rxe1G9~7r9KG2D#7Ie zg{LdL5roQxjX>sxQgjpa-bhhD!r;OeTDSl|GMXK=AOdbn!VJyvVz)PRTf^GynX|&bav9@)C?cD@|16^`IL2Csi zu436eB@s4neU(PIs&oVAOHVTdyK$4G6?B3yv_`~^?lCjD0(~`#>5vbDeU#L24I?K2 z3&qWmB?VoNJ-rT*$T@1fq>CNhm|r}^W%d@m{Q)e88eJ(C9F%ltkI+mP^oO zY=A4+c$VIzriscFL$mBj!i}unzj~AW1Nv8tGkW&FoBR}jy|ZaaAPnO8e_dTy)O;f> zObSs8BO-z%g6P^8=oa)5f({XM=u(I7L0vm!)G6v9l!OIA(m@bQiK3J;d+`NP+!dvH zp1RgK$bsjyhhbs)&3|U+nfVRSEN9&MF6g!GpIN`(4|lHz7qJ*BMS_pSwyUUotmSCX zPYODZ$4mv;vIK9J1y17)tddGVaG)x(f%^@JEs3YtL{Wk;flUmc;XZc+0Rf-C&9@=$4ZCw3ETP1XALRw8cKLCmXMB?v9}w?^6C*z_Ty+2 zt`YPpn49i{-)JCiKEr4vAj@W)UFHx8r!X-#1cS4K0$7c!aX~1MUzN82vH-!at}_s_ z4JUF93I(XmP!@~xA-p9MSePBa%%ll6wvUluuCwX!Qgxtiaw2-w#M*WqnGY4d5gF+x zU?Y@-Z`=h%a3OS%Kwx+ZODpT>cAN29D#I+BC=ilQwwQqVr*~JBCIv5%&&1{l3;|oq zXJNM+J^qmG{Pf^c0QS!3wTUQ-!e5d}B9ozM#{7^*Lo?ciwws~_6}v5kxN@%+gl_yZ z#GQ6$HVnoiryG;uoVG|?I7O|q1(3-+!a-2Hin^X~oL zVT&pPEqct}_%F*vNhX=NeUnYS%GARL7`0l^srX8f?~}Q6eFWKk$NHBRZ(n_+bUsb^ zWSrWXiJL!xnDh-J0ycSv}iZ+(ya$lC^a*pM% z4lkdtu=MN=FBaZYC}tSGG~izvrzvPEnOulOPn)RX2w*84j+gKek!}v{cF$7qUt*I4 zb<1LV%f#F=uy!1b9h=Rn!S@Xv+h`!|9Z)y-IhX1|%S9L)9b{<0WB=zj+^|@T`Ay6I z#ps~QZbRkXqY8H&kNeX%NcTpOV@VGDemv#{`MBkoC~*NzDj@iQD<3K>E_~wYlXX(D z4Q@>&m@J(^ZZ&Y*vhTnp^gV^SrCp?Kn#$)UuYc6Ia-pA9M`eD#OkGk)Sece{zRc!Uk$)k3X9#~JhysPT?t z!2DP9uK?_w&1(}u7{-5%`B-<84NcQ@TXl)pMrkpXLTVADy$XU?d-333A>uhjg!Zpc z3c;fwo=OY$R4gLqVCkhFw6Iy5Z0dG*lU-*vSMe;^7v9q_GcXL#`_8;G&-1q;;fnAV zm+SW*!n4Tq%Up7x4nIdEE&=%V) zaV?J;iDSOoVBsDMx>}%E97E6L349+*1QV-e(RF+=UxE_{oU;x; zPuqA_7p3o!OD51{hU4|ld z!ny&z;s{W#@oMdex9^*bmWOft6nlpb4{B4G*Hf%Fc2JT9ZdPV#e&2`#Q7Nn8bk9+* zN@`QdPd(sS$rg&3ckeSZeVf|+Jr0~IQUF1m&3Lz!QcZMhQf!B8)R2|M4St}ju7-#T4_Bgt$bgAEOtC4pi+XQk3iPO z2_sIojqmm`bd88BROt+HRWa0Qh0f@wFvG!&Cj{;jR2or^oFwOk8YcypO3kBQcS30P z#mF^XrPc3=;X=}yXIh^LW36u64Z7VXzda@Vy>3=4UQ>N$v?!UR!js27PnV-CEly$? zpeN!aQuCa-Mic1)^$SAmWSX^MxYX#T1QcP4-Pr3j@qpnzd$@{$fbjaJCH|+1N zp<7)VH$&`8pQ|4Oj=q=4=T9k~7E$AqyvRP_{c8==n!_+hIOVTQ#66r?jB7U8-u=dP zYlO%+cC$%3lOmH!Q9iS=t2g0PWZE=YNh>_GVk}6Jnw`_oq}Zr(MzcMnTI*5$HK0&# zQK@?2eD||g+ibmD=lSLqOPNPwdk$VGD)$EckF4Oq%FdrQ?gU`(e0G|MqA>o$Y3a0` z4zzSqFar{lh5yhOFfoKgNO%JGB_Te6uYidg7a9}Y_z1et9UBvLrz}hjtt7OyZ4^7D z?a*nbhSRX6&Bq?P8umHr5FoyF`RUhAnFP@SPTWwj=i2>LPTzAN?2%&k)nEI zW!IF|y5+&?3865%gqg;Sr?lZLaaog*c4QikE@qE?WO>y+4NwfA{ zw@`v$q`$9Qwt-W~aNeCJHtpkwzQjgJd@Pz zkzqHG(KdVWab>yWqmbzblF+5OO@ zbqdApEsDi^+`PW>3!BfH(Emyt$Xfo>#!ms*JA>9Hq9Bg{x|{57qtei|0cj;M(po9S zLqXailuD_H7anTt;tfG>?XS}S?9e9 zUi9k4K6s}+%)B}L=l|Z$f97uh{aE(P^SJ$=OFw1kiP#;jz;m+Lx+Lq@1d{5Tx2&u@ zVee>{_}HQ{=kchb-#+i~`qd|fa{>1kJc>igkhE^vXZ!PaVRMS98`qhdyh7BhQ9r1& znZ(T8yhBC>kCNzywTSEXg)p)UAv%r##LyH=?r2>~_LFVjhe2vnPk zev5)HpcjkHP-4&safc(6fVDd9;-Y_6j&cyVtiC&>`Z3|S(Kh|9$9$KvZ*hD40<$wd z6UCk+w1)WAA}7Atwng$|Q1*x^9n6TWjjbkI`**2s>=S32TrQ2Uv)dr7)mSX&d9Xar zy@v%t=RMb=F*#cx$NNTBt1oqY(lc>Rs$x zu325gXenYF1R+%#^CV@u6loIjA4p6D!BUVEDHGEL30PYCXaobgECh=@R@a%G?5wl% z$h~)qKp<_ZJ#d>_-R7R(`OVz(oqr|h_p}Lio#=%6Y#^7MWth@+&TBt-@$wlTKWuSP zvzeU8b9;V{;`LruUvH8d$?@uLf!V35u8&1g1(mGTuOkH}TizhmJrV$%}GNz?E{T7gNuUZwx4iSEkTC_-SeI?b?( zBOHQm^^pg(~?niQa(3g?*7s#badKIDU~Jdz-gigUv^68jt(Dc|BxLY&iO6bMX0$ldm2-`%_-M zvw697MrQzN0ck^>ZCMOh0uxw(NtgJd%j3K_oko) zXQ!My-szm-d%ovz&iCBKpp{PPemP!cyA95oK^IFpavr@1VQ9s*RO%Nq(;t|h`z!!` zj$^x;X*)u21H#0Hy6YM5kK>CK`SitN{M|Pq5iier4TfJPnRv6t@{SjqW0Ku|I@%h@ zq;q^--RFrEeRFSPP!xzCw`Br*j&*2Z znrHgT%AGw+sWn_lWUgwbTt1@02?x%1U)6|ZZ}`uI4aU=hJ&}11ZbKk(vGcK-}=Z-jB{gR5}y$uzr2d0n;1cj zmK9~~eTS9eHX|2%xspCZy$nn5c33U8G52bW-?|{Q`-M`ePT@mcz|YV0?IG^nNpSsq zh*TtuVFx|Cw$TZq6UNjcn0ibO386`|EjrTpJzGPKM>1?7X;+>ie#*&c>mr)_?0#yH z%l9)g`<0DdhX)TY^XPtz;lwhTb5%~p104JDolxZ`kxGeENsAM`RYtE4FnMj5wQ_|Q zn|tI|Dl9G@u=Kpe%hxU5ZdBQ+S+rsy29skHzv;|BTc=Q{kr^2zeL9L}*Mzp?Lek1* z`B}tS4w2wK9sdFPaYPs2#D@T$m@xlNLNQ65hZap~+KzUG!U465k{yp}*${TB%Q zyFjeokE>a@zBYa*E=lQ;{f9!y+gR-~0|}va%jD^skA(YE+{|X>t4CcTta-J6uVY%- z!JCff0PV(q3)Rg3hwb~90PLKfa zEB5SPA%i;Xb_5_=pi%*dbk$+qaF~9O^wPq49a1?EwUP-1(H2e5;1xCh5@~GMOq*pG#61 zos#RZw&}9+!)Cuy;@k28jvMFgn-OxO0T%y8);)CPFtpeO*QTU?<>AE@SX(K4;~~e5 zH0wo+uisB8sdLPK8s_6m3-f%Bpd(ZC4Jtyb>^B^e4-`m;v0?4LheH@TW~>`p>OO)g zezK-)x5H|cxJZyr!0L`op>#nmJ5FZsF)cre-3v{IiPWGA5~GtQ{LivYRNj0iHv+JC z{w{5VVI2QlewoBvPD2Y36|sn**;*GD2d6p|ah4WwaBvh{6zTs^1QFa?a1lfVhgJkB z6iIXxnhuIsldDMZ)XPOK$@O_p9Yni!$~)e4ckq7sywCf6zRz=;O$U9#e9I3 zA3JE}6ul{r@v$_S;W&r+-x%jjjAv39u_Hg5LJ_2=Vno$M673;(Pq`MtqSf|&o41f+ zAR^-8P?dL6RzVf`uZ0ZG>OD+-%#ts7yr0zh@Xn(9_7d+x#6R3YwdPRK{?Pm)hIwsa zq`SDZ(`PjX zeAmmYh@;SQDJleP6K@Sux096h4lKK!!`v@6w{zr=qy`cM9BLK)-vX^JQ&r1*C_>G-_Wzx0-w;hC@PaXU9;dEHm|ZeiT)$#r zZk~C8G|_T78CCoi8+G}L5Vc=5YOMdcp7^2v3c%jEyEGC-Vf@EDluR~pgBr{RHD%al z!5118#m-$YwQR9}kl-JpwUt>Ei53>VP)T7Fc0)9pgiTgSGLPuFgN3B9w94&f7`TVI z@SX2|_uTJv9@DBThhMw@sSD6=nRDmRG-dr6@TCqbs0(8(3yTi<9uW0M{*&h>`NKM?u>`-C5?D2pzM7ze8N@O2 z7@Dw8!`CqU%Py_}wdzIK_B@GoNB|`)*sb~OTH`;OQB%gLegR0^Zji~BIm(szzBtW~ zZ(+VTr%)B9-Bgvzx-eNKo5ZQ!wHS!a^Y_|fZG8vF_E;W^GrKUrM50K4?}G#&jNO*G zdxT{w1E^0Gh9eHiVVC6O4B5S2vb#Apw?e|A0~n4=?Lk?n2GJxz6mMD_lrA_v&GGc7 zL_lv~M3a=RDzqiZt)wC(2OCriMNHcv^f`hqS;=cUn3kz(AbGC9C7mh~!8 zn5xT456_;C=RW!p$=u`!8#|XA9iDJoxFzK41|o{tB`XoK5Rq*1 z0?A@XhzOaB#+jk#lD?&LsuLkX_HL$DMNyk`iu%t_)j8*%x@E)U;b{WUw*vDG6u2%0 z*E*;MmU09{mCR#QUI~T>6BE!}tk#&VR;aG6^Zc+!|DeOSubpCx5=_X6MZ}SC#km>PxoP9>Nehbn3@rUkNJ1an` z)ru@HyUdoHtdF%XjQHc;5YvVij~rIa5EYt4wo7W8!n}Qgu$zehL~)sB$7bWrKAr9_ zUcIcdR!^wRpOW)a#-jo%*T;whv0o<+ivf`mTT{vsK-Rq$-s(NJKmBC$y~DdNT0NzQ z=UCX{qjtxqJ&0&ZVA6p3`spgqo;b9^X^!50XQou(@qL#2uSCK3c!gW#}gq=RAV$8A&umS!O28P^sKy-aF-_am2}Sg9QQT zI1MR@F-#<3MhyY z(jb8%rREnboeh28Db4stp%=m9d8-L*R-5ATVyWo(}FwIOXt5IgD9Rb#)$;@b;eC`Hg zMPqhhhMl7#PV<77uU6T9_lY4Rg?H6tYcJqKsY0etWW3uZ62e%p(==0|uwo;w@uR7j z!fTQ15v|a|4^A1+xjdVlXKcj4vdc7DRY?-vi$Vo7#|Lc+(=Jcug;`rQ8W%|+l@sVr zU1B^V@&nlwlX%$)UcV{gdmfwXS)RVAV+$7Q6)!#(Xi5_DIvLV#12goyU)4haOn01b zKWyH={leGsXZ-69Qx7#JA3F>?0}R?B{i!70FP-D+Ir}yEeil)=^m&k9 z*5)WYl7QQ%q)j7EU>#8as@AnK%2hQ|6n*M0OX8o&HKi*P1BW08;+GhWRvpa@h!O(Y zs??~=c51+9Za8AAbV6}=pXbX<^hN#LNSuK(<~4gf?LRdAjwFA)@3<9!z4P~J8;Iig zCowt4iIYGRqDpSN08)iosijNRB6X?MKY_h}3}R&H*tP21sR#)%A*L{t{vJ?8TeZQ4 zgc2t{+xU8CF(4!)HkQ2UmRp`q-}k+H@4nxQ06lIFj^k>;e6}cB=Yjp~I2mSXo9BoO zTV)7YL>45mHDu_2il885WjbbCXNG)wOWDZ%L} z(I{fdsbfi-8x={}9q`A8UMLXtD!=^_)aTbds)ri_H_s+xI>jYhPGd zwfMN#r`0I&?14+Ic8uz0nlbAef;3VZ0+pEIMq~YDX0J`=FW1n>o42~Msi;ChB|1-n zf$Y(!yZJZxbd=`CTutYYCwE=mYzORo-p%)l#KCeLV=ktP+gQl*n&Q!Ufc`H4duOwf zKorIC|ESIAOwMSOB1+LBim*ax5g`Pv+63XIMH`=^r|1EKmPOCdB5V=0i6lvipcKOt zzedL#=Q`7w>4Rv~CTQbXUbx)5`knth=bm$Z0(zJn9NM3lUGQM{fOg8nJ-h?6x>m*M zNd}FUis_jc9`YBCTArViu%3$Jve1A>=wf##hR0$BRU-(wPJ+@eqDiVaEQeuL33{~X zjjDJmaX7p7BA4%>aFs!=uVZCNLU1ukNmV2$E>Wa$u+e!pbbR6XS@Jx=sW{>>b@W|Ekg(6PQ#= z&bj7il#%-wQO139ixz&V!FFN5x-g9nc!DjXJNq~pu7TwA=Qh!&2M8mD+$X2#hvFkQ zYH9Bw6E}x})pHWB_QaWCx4VA>^q0K}z}}gwG!R8$_?yX0%tS|nB%^TyK?ts;jSEc!xvM-=n8?fIj|e3spVo2GK1(wZR?8u48Ny(tYbc=8JSXtM z&RAq7O`e{WuyBjWcX>~UgSYee4U^D|aAiNo!hYi*vbjD@zj03IMi{mlCsH*!W`jf~ zNBg0MYG2Ujj1nXqie;0%gGa8aF1tGmY|P(ar#cvQS=(!1v_q1ys_--!r=dp)-dh!d z%X?-=M%dn3WB<^jt?pP~O_3jVKWpS_$sf;{e~0*7#z#+E=$^vRg$;-Cr=75yrmqz? z=}(F(P`;>v*e;$pa#0h;fCL{8r3c;TioNTof5A7B{2>5)SIp8d5QV?=Owy#Lw!uXx z1Rcah5frqWgShA)@*fE9{sQqgI5-w{ux^6Zp^DO~O>5ew$tCGEzH32uL0tOAyW{b= z;k)nNyZc^d%ATk87p6*yPcsXq|8M}QHrHyk$5I-asuKeqp~(#xg+;uzP4qaeiBt?c zV%s!Vx$scA6No;2Tvgw3eDVO7n6OKP@A-BPaRXQ?h1lER*j@{<>~vt|nuus3iacbr zE(%4C{VfMC4UWtEE;?)$siwh5hR8#MW@l0J1S;v|S&4~jydPsBIjF+wKL z@6$~nKM%bm>o>2c)oq-fDX2gBI65rjpgcm66~R0Lwf+orV*!TkfH51wr!he+Hg7?g zl2m-i`CT+d|MGliutkXtH|7G$O-FJTJO91xHU8R8_3d7&*E!h}J6fvTO z3W`{%jo<@l=d<_%zJPCGZ)0I;p%_66QM`a6i8oZDCPvL>vsri7vs;M0h)qs212ZsZ znBhPF8JP2T0J>v;XzE+wByJ4dqPMp{5pQie9!ED9)On|_z4HA}qQX38dW39ljEp%-%duHn zm}I=r#d@*A{#^lO4+|L8(833zOp23o#KF1C^o(Gae~qOEG5Y!h#HupK7v`Hzl(=0} z(tpdwH3rx$`t0mJv$8zL?9?ed9MgJq2wEngo+F5Cf=@&G;!{?#h^#PGS+iEJlFk)q z`V(wymn9H1SezfC$Ewqi{rbM~JE4;p-1QWnMtAar6RUy;sx83pO6KAu^-GMnK8g4h zihmgycitRIR}$^)6e&|!bbM}M=ab4mnf?=tzXV|KTvi$e!YKSTNzDH1Na1Pd?p`2P|&>#H{wP_v{c-P)U>ri@3j}LojR$L_y&Tw>DkO~V19=GoW=S7 zGj7mh{0U@`L+Jl3{STZJa^z!K7RyU3VKPar+C;|m!0|<~KHxrIr#bkf)ade5j1qS? z7$!_Ea}_$mK}jX3nu|v zVu6c{%k6EI{oO6n>p3PyFPQ3{_>_{|rc&FT3XMvE)?1Nxzrj~9K^SYRhTp|-;(X{c zTs`WX-Idu~wb@=Xar;8OIfaq1mC}{Jr^JYl@GbIAUKWX{V7TQvZn!v#1 z|KOm5CXD_iuKY}M&)o)`LpYvU4RtfI}?r7vftgDFi zg-Yojb|Na-6_4uyx^1dJy(a(9$Dl_L&j^}=^xp*(jsljaqvYjb*aVFsLj%ST&mEi` zx;WY|V8B9fb~V96uZ~69K#~}+b6?0BGqQDu95Xq;7rcsq>ep0>BM=ySql1cu3MbG~FP)rI(s(;8+MlSZ0cf zZ>wbV%ZqcgTBo?ZyMdu;>=SP`@jn3cw*c&&yGjE=6o$XqB$}+*u!)zTg@~epzJRSD zXro|bCD_|&>m&FYmNpi)78crxpp``4K}41)PYjaYy^ftF_EdS(stE2BGO zGhD2)wK2)^(iFP~Wj41<>>qv*`E~lz9=-r>`qRFT8^nxciS}0r!y!|Xnq9+;n~e@tUs1j?%MTs#-mmfCdWo4((>&;*8!@jR zdz8fq!<3l|mD$h5S@G6VSuIv17NdcS8pOEjgsal#$z91ElYBq!oU*na@$5y1gPuk@ z3ERgz+%8q{;w8GreVpJsaqblFXGpH!!oDD=e^Klm36^jA_~Aao26)Z_qrxF>Qp}iX zI@HOs9UNPrMUGJ}pD6`&m$sqXA9gSCd8^5zm1!=DI{g`Ch`Pq^<})XtPHpXf`6rA- zpYy3QNhH69MRTkgH{bfR%1chMRWI=JZIez*@vgSP(n7#=RkCtxkxDV5>UHT!i&{HR zISN<}&T((m=7v+@>8o!%y#JgxoAX=?E*p?byHV1f@qz)q2?Kyhw&}*PV{^C4D5b*q zvH!;e{aXO`&Yq=VC=8>=)HF$}AzBKNRuNGY7aar@+9PaP7~0>tvzY2KZmq{rgRZDyFKI> zcsgZ^n_a^xe_?b>zlq7a=U`X{hStb}*BFzd{WsSFLonVPgHmQ^n96t)ju**m&n ze%fFt`Aqx00A65=RIK2dc`RFi$V~H8awru_Salucr9iBri$q!#$=k!JX~boxa?}gW zE1GIGEZ@}{zWX3R-Ny4r4<~0i#ji;WVOKuG68E!*9ev5aBmM%ho>P;(9)U zaH>#~LqV0#&?w`GgnV@Q$hFwR>4_2CqQg~I;qWxi?tY1mwog)qk3Co?bBQ>P(VNK8 z8F^!2wnDbh#m3<=D~ro)u5Xb}b`y<7#Y0Cb%pw?SJDzwmk>X!nZ)LiFT75LCs;b`t zuy_7CZ3ICa{?2zk)*RumEsUK6jD;dxU?D|75G56&NK3~Hq~QrtAWFJ45%3Z`0ZoJ= zk|!QJ5iBw;>zML?(~GFBcKnl^VyTqE?OFy3T%dV_ z*XanSJyF*dMmNN;+Jtt7!-~t%rxTVJ96- z!~9`S6;paL&?5?baPypAW_epaRd~(T=1Y3EO=Jcb(h+D!m;wDaFOtI4Uw8Mv!u-kP zQom8SBE%NG8qC&BWYta@xr|~w>KxAd%%oY?3iae<9j$f?{f~%d7pcNE>8Ajg8z+C zRMv2)6IsG95nGQ_}_|h1W);I)1S1EZ(+z8WP)Y<TTPIFsqoS6BYidXKkL7GCl~spl4Pksz1L6O%%%0}?@$ zN5aq*jT_P#5bcdwWf^;q2?91o-d;f#`Jag}zxo6It(`gx{phR9JgweOV zjkJL9tT!bvZE=t%Q(f~&xVsCI)YIyi?rlHM70o@hXN<7DXB4sB;3LLG>MTgxaE7eD zA&vTNPfPb?Z?DML%OH>^Mql$#+oO9Hcf9)hw63muKVI}-UCGp?cB0LUrL}Imx!P^If0^jX^M*YE^+nayu|Qd(LGh1KK3!RC0ns{pRLGYU`X_f{;t_z?Gey-$?H=zL zc&{m-x}Au7Ea^~P{uzU&U@pd51cUM0K89YtNO^Uwxqw&-qE32efRpKP z!qPiDR(M%~*!f4wJ=u>~0e%IokTmYC`4AY%1%0W*k5tq71EHGBizJFhzkz)#JkAc6 z>n4*Y$Ain8>nS#$hV0)xoBbt{JX!>>U|!Vv#j_x_eP{EY0!98ysO(8T!tGKL5A&&e zQ(jSUHMbV*3q)!xvTX;{flYW?RrYs1dz4HxR*n+npy>oxA!)q|p_rkz)s@h*)<>I!`7Njuf{k=F`YTt_;QMbep*a@fcZw; zE={l(vGc@mOAb&hCTdP~OpApztGI$3S3+z_HJM$SvZGVVnK(Cb8bv-&#EToHaW<4r zOSFm|lZ{yZA?(_yFym}g9w-hRY(RsW_GAurHxqZ5_O6@YOOzALkFKoWpW~9hRgU|? z+@9lcBCcifaO+Syj_J@|+V`Kte*05hOwu3dxo`*Z1X->FOt93W(%3~}!Wm+4JuYXZ zBi_I)H<+WYaTjCk-ZPS^O~^r17+8BuJ_}AR1Xb$o*3}$#emu!t9T_{gCp#yF_uV0$ zX~t~mSKQSDv70{+zDQG1WWW7<_|uST`^;oHeIR~r{x6=vVDW$kSBXLs?Mxo^Z?aEv z4uLrJg@MK7##K?FWcf;OS68td-6b9ZA?}iol~(%;r5eUP$^)jl(IeuO?||PoH$<4y z)89H&`V^Ein)`L3Sr#-JUJ329zsQ{u9uDQ4mm= zIC<*4A?W_sWy=k{w>wsWg1Dl}Nq`#5HRIM1nsNN&cOgwoU#Fho<-&h47*>JHQbeGH zlv7Gr8yZ5|VU_F#-0TGndFxZwrW_yr@lRMx@TH;7`$}O)3eH-qvefVLib?E^zli+u z(J1>M+Oi)kF9(aTlKXwbD2OtbtyiAfb(btT*><)O9;6riVXMKL%;LhYZzv~{68=8h z`7aOc>`)X3R)aacYD~Obx&S$hgm;4}sg5tqQu8mZWUIWthcaGb(DjuKs6Uq*oho2y z<@eXs?hUc?x8E{FNb{`d1j_Xa8V)9fBRe;>aa?eZfJ#;BdkuKqQAEPED_)GuIg~Uf1KC#6w zy)MG&s|8vFrQ?iTw^-^*;y#zSb(~Dk5M_cme(?=Habv=~F?r;v3loF+%JTSu+|P`t zl{ET$XUMlQ=4yWaM%SgVBh)r>Lw?Da20Y=Z3;PX(iZ1umf1_o{Dl}Q_ z8A(VK(iWK%-FLc;qH8}ymX*Glu!X(ykCaB2k0gpBEaK*-EAz-xDaU$k1kDjkFg$JESF9DaO%JaeP@SUK*;U*FmY9QwhjFj+t5!C5XZtf^g(k@mT2CY`;N z=#`m7+rG!Ve@A!52AT}nHLH}?D5>5@DC|9+<~ClaOCx zmqiPKrzPwk(tN)U4bRN8)+-c*qoyBpZoKXC`m2IE*#Di@KhpgOasQ}d(9~_{()1h% zkql0w`+RQ9o%ZQjxyVfsR!SpD-7EicxijUI_C!J`< zfb(KP^aw5Auf2mdQ`>qEsE;(xbhubg>Q5~S%cisSYE@m^kbJ`h%I-s{^U<@ChaE`r zaXZ?p5Pj`{fx)Y!&<#Po54_dCs9)e-fU}>sRFcL;&KH!)Yqe49`&03}1XIkQEpVm` zuiCND-9Z&sdYzKr{H7oQNNsV7Y)qPct7^|XdA+fNBzJn}xFP)!63PbaTyqhA8wRzX;V2j+vyxrJ1Vws8A| z=>|Wm>ak$?Yv=BoKzZU-ik{!tH)}jJFM7stS9UX?o$dk*36jD{M=PKc0}zXZ$Lz56VlQl?>scq7_pZ*{O>{!EmqYwMj~#W z8bxz;(+nhv#MRm{4GoJC6mM_P$UW`dCl#oV9#{%H@}p6R#YzIx-M-S=`DcYh4c$SW zIQA{hKO`b%tk%Yu|1G`RT46?8EFUYd5Bvz7F8t8qKC6fkoj+%lz9eKJCMD57ctYB| zKtvSD>hVj){8qYo6Iee3uV|U209#yL!?JY!Fb*;lLKg|7rxwSeLGfXWmSVBaGimNGV%`;POQK zHx^8nqdc~3GodbAbF{jQScF6DMbT1=|B}qPv$sop<;9atEHB8gw{Zqzdvg3%vGi3G zId=KhHrsZJB{tY88S?IOcyL2ATydvn@zV)ez}nUxDZp3g#SMs1=v?EX5ao3C`)LAY z&+r*;$WANcplRI6i{K)0(iiL@U!y8veDj-5Jt(Vf;-=Xl84^WRJVuK+7pKI#`58Bl zpCqK8yWOu~<;(V-3t9cYz2#T=K1GwE@XI%6o*8A0q#cBk;607+@;8Cz$Ce(>EOWln z8lX0B6oRt*xR@{on;*FEI?1X&w)Id{k|>wDM~J@-$ZB-)7Yt`_vBPR@TfE-o3?GVl-JsWnX0tIQEVS!wgOMZcvD||0RrwkhDqu;QDI* z(rMD=cx@LTb^@Ys!}%&oH`BPoZpvN;`!r21d`uy)TXidV|0t^RlVmq4JFsmj#o}r&yJrx1 z3dVv#nS!>wo?}`pp}dywv}oPD%Z59WpekpLy^{!jrLmpMt3B?@#`jOQ%4MJWE~7Nr zbRG`7^*DE>K0mv3kW7iDHtl&~T=7+*RQj36q)pszm9y(2lTBp8(bQ3g%Z2kBzO1#G zMu=3R)^(gNp5dj)W9s!tkGYmXTLb>qdv<&$nIC`qy0~_S>1^ybtVCvLdvg5R$gu6S z0)2jIj2`-A(}3#$HvYa;8)JZ!`>)T9Iry2203TJfw%#a=Qp`rW({dqJ63 zUiVo$?085UL!f-*AJXYqOzI_bj>dwW4}02VhfmS3Uy2_*M>0z5x**$|?}Cz>|0S?y zt3Sn_;5t@Db*?mv$Gu4TGwH>ss1HE>TQ1qHD6zr{|8k)`4n24~xVr^BO0QZxtjxveaW*5jZ73BZ_r)MW~c%z88qq z=M(SExRb~B`Teyo)dyU(bcq(U)e-oZS(vA)Ngc0rV$ct)^|>Pvp?!rfHI zyC@%lX1lxw1*E4B>9{uO-ucZ0J^rW7q#q56DnMooCT78wx-S6c*aTg24K}Uk_Xk;glP*_O|^ykVIT6P1#*?EH_v**~gWR zHzkM{JAQ8`#^2S#H4D|X)LU0;XFe1qx|~z~)=EqF&UN|7jlLP{khe=wh4z;$ZxRhh zR^3tjv{=IniF=QuEHktx-ce8f?@)wMREz~xw^g2y^+kQ5p1*SNZibj(=$;hVLVQl3 zceV2dbE+`Q@u&f}%Az|mtoz)>Cu%jk6EylK>w^VfwF|YidzlWW ze$@VtoYxBP-=1wp_pg6PvjFqty+T(vnn0n@jnhql#7EMwo!y+y8dN7bjs_JG4E>b6 zt&n)W#0vL93#0L=arjSo*`~=;JH3nLO<1tmK0o|;&IEY8ipTF9lrV19xoiqp=o;)F zMc%FIM|5-wM7({S6nxXK56e2sg{H=Tg?4KOLBqaeL3PeW;h}|d;0mA>Sd#VvBvRcn znq=S{#K@MF+co#<3!=Y15lGvyiZQIQ6fU%*LpZTcptMu;G@Xa)+*S`AD}b2;E-B_S z!D3iY^+OpTDrh~g*bW7j{Sbo^goKF1)`W=sL7U;P>tYkDC69>L2Y!{;D26F9$$}$TnALw{%7bgE;tiKDpvGQhRWAmJ1OK=v|IpwXlw%X zO?Ee##2nA=Fuhcf~Sz0%T zY)48D&451kY7x3_OUmxM2h9a{X-&i1=z}kGELmX|c%aXED~&%e1u7u|TDkRc8W}Lg zPn#|ul~qc^&4=#H#cinKf}J+DQ_QJ&aiy0AC9w;6s1H7mWHE))}Bz2|m?G!m(rNC;AH)%sIMR?~tS`T7ls*g}NVXR;_G0VWM)G{K9#f=x-) z0p77}>V120p?=b&I-k|T3k-&e`1{qJytU4_o8Tf=;iDW4i<8YxFG&`##WP?NChI4L zK8K){NU~cS+$$r1{TbDGk4ljcH-wVZom)d3kCVa-ZcE~a`D)q3-K~nDC7PE>&bVThmG%AG zDVdX{B`8~0SEV7Z)gYqtVT>=*cf4PKc7HSf>b}w+ag(x}DU0&!$IGY|euy8qp_miJ zwqa1mm|%gXMHi?$Y}+vG;3PzkmF3deO$*G{zc*RV789>#5S@!0IS^C(9{L?XP4L#7 zoveOItc8#ODq;Y?yk8(0>5KjaP}7JxSjVF&fB%cIcU?MJCH`6JghVOH(o8XckvZaA#aSBw5$cceNp%)kX)wX;=G;NS`Y_M5%>%x zA1((Q=waGYkL$<=r5g3h>V&Ac6a!R28k|uP*hK};dt_yElv*#rD0UCb&h1NdX_$M8?@d?$qB!?H|8nPM_RoF6*kNtoJGJWwhV z|3QT!Ja`IPpa5H1+ds;q0~}orT5{NoPo@zRKX>UV6v|D`C2sLZ8$QrA;uD|V1DOGHe7?ZSHJsqhKhxF5N6zam_O`stC4_fd##oIfOcznPGiOf> zDBH8ovLq2F0QK2ZuDKyT60YH*5b3!tw_4b3uu|C&EAq9&a<(TnfowM zq~W5^?%ECh@lIn-guGOusONrQl_I&FH<@a~qN+M7-2XK_b<(IlDPD|0CNV?mJ)ih0d57d_zm&Yy3D!`#nQaD0mPNxxB92U!(SA^rY9Wr z@oGY^6Qd$6Sw*q>H8xQXIY~m0&M*wRJ74`*0HGZlTMMbY62&yRl+Dx{CpmXJ>RS1afa{o8ukI3%$MAz#X zIW2D7Wm=t7l@lit+MIhXck&!8eW)f08+0kgH!?<%0$=>o6w!=AMRBpnZv6^&t2p~d zLP@W;pM3$jp2se$t&Dk*l*D4--= z0$YgeK0A>ubB}r&TfNF~3Oz9Il704_*!IZC<``|>wn%+#w#A*gBhuRDlkQ82SCuEY zhPMHVYvQ~Vx$!em4j(DB+S^|hN}cb$Utl5ZyCX^4XKkj>ue=sEyK|#dYcM+Y-q|B z7RoorHcxbj`$?>J0X%v>B_?KH@YlERaYg)el2n}UQ%?$>U9Ax08tYahnV9Vsd!ob; zn2euHwk;!}KwbMw|C&j_N?lPqnjw{DE$Q{~)?k>{K7+x!-1oJW#&l3!}AMO#=g>-c%u`F2;c>g-`#&t5Xhn9U0U9VA+APmx5v+p11S8vSvMU z<<98bT6~c%8zLUQCvY1QbQg`)AD z*&6Cm@GOBh^k}GB5u?s@+wdV<_4{DL+yZR=u{*TmGzY!5Sfc{s&h0ZFp!W=i4q#*c<+2xMdw1&cX*r z%ra{Qi>HO9r*5hy<1%GB;cAQJ6=ZxU zE^=lQBDrOE-PSZz@|CA_M$2#NrIEo;?(_;SN4pRX0$&4xX9|77#(ydVvc*>GU=L#v zH5p(gQqkye9s4wzm~cxRi}tqkZzuL2mz3W62n%gUC>ETxF&^^hCP*x%p;DgMRjoc5 z5%~;{s@X-Ok&Y>4wG^aAxY`rYjIl@Rkn%50Vz?S(2_dMkLWZamvt`|)(kPujjUf*Z z^%Pde$_(5oMeMFhfRp!dYb&7RZrS&0g%EtM`S>jn6Fu~~1MtiEwz()x=GUwcDoZUN zZuvI~p(5Hmw8i#Oj1#rAPj=C);td`vDRt|ke6f) zo;m8|B5LD|{B6d|8lB5`7cflzG7U{!MHLroj{<^a5hYM-wov?1I|`D^V?F7yYMz*e zQ2PSW1?aVh#Q7$&Y@i$Ob8uH%P0SiP9CyH6&M;^sbaSYI&XwNCQK5P1GtAh>tw?c* z8Qf`j^YteI)4r~6q04Y4Dp#^uy^W~9<2AXrNY+IpnUqjB)w@<*gO8YBzX86bY^ccVY zKsOdq7Zh{5yqYH-C}792tm$!ON3rG;KLsK?4XXg+V{<;XBlaUJN}G{tK9LgiT1$?2 zqD(!uQA$=yg>M40fwVx+F~lyv!S3znaBPk!(kzzjLcwXz<26>h>4G%Rmyi)_swZv3 zyQ7!3*BO!f#0u4_74=XnKK#U3G+mM2`q*-evYBTE&t=kCQ@s2f^R1;B=v*xY!O+?< zP3Aa@D*Q|8;37{->l-S%Vj`ur%=l_X(rLw*XqD2eH~^_0rBxyH&lx4R>b|A~p?kk7 zhL8>ylj}KcWta*jZ8x1QgG8I@2si4Dmg+t+n2=FwyUF8?MS!7=~HF(uHy^h`Cs zJ@Y%jiN=fgs)nC|9Z|T!_D>^5OoEU3D;Pecgx^Xqj%+3LvOBJLr5gn8v=O)sKog$v9_oS^D}A`5M1{%`u0SO=xk?e9d`M zgPub4l0FUc?9Ew-6=4FlGA=1)09y_JkVcU(V%O4Ewcp@RP+ER-H`-^~?;=(h z6+Nvf_s`(JDWcmaGfLGXaIJnMrZB{rbtiSk$6EY>k!@fpEK?+}suniYg~i&_q^VNt z>r(fp0df|}auf+#H?dRGcUKmkhvi}am`3-#T(=21KdK$n?kum`u=K%#D%PJ2l}xtn zuOmwnQqDwFh~Qn1J3;OL-1 z#via0br2A$ES;Eug0E$ITAyI_E)}^aimgnwS9^3gYm{}ie*A0FqR$LV4JX0{qOo>= zxv&m7wF|O*aG>D*wgm7jH%oTh0zZVxT&EpPn6>C~ zuydo>sA~FsY!k({@^=S~abpE}w*#uMm>(N{r3o|gt{+q@Y$+aAKBs;5hn8^IU{-_~ zpSyppREVniuG-fSCQ_~ZMVhHgmt!H<)c2T1JVUnt%oC(I%CSh-K zVuUu?PZC_P7LB#vPc8goL-vt;+uZuz<6?H z#+-BPyk6z9P%;`f3~F^Pu_XbHs*;*=vi?!voAKwKbYDDL`xWofhSR&CS|t|P2gjub z;k}p;$&Cyb{Az8X$wo3NKhY|^;2EGugm5b2fR^l;=|XN`uoQb*=8(X2Wey`UawifR@s@&UREa=7Hso*n@%Mc(4B%CnMK}uPI zVRQ>qzVTV~+juza^>0K{7;**Ynco=bx+jR*Eq!lx{E$tjzW-6J@FwQH#vo-^f_nNn zZRO(5PI7=#&m%OwKK9uh+j#0Sl@nk3L35BJ`)j&Cl=Rp5}9-z;3G8k?p z)=hKm%J?xbmW|7LLq-Sr-*dfs8Uj>Aq!hV4V{2$=crLD>Qhp?fMn*vXri%-ihl|I^ zSQ{i;AY-`Lp#EcD#AMaOCJ$5fXnio$diSjP)ok-q>*kiAcD}!1=<}U>bXEvJn8OA9VyTBhw)UD(uF47(y z^j?JPOFFUEe3%5_{a?k!L>J%bKK5ATsajru$(nz*Wk`rASU(ckF8)UmGjy1!s`|yP zeCTWLJT^<51|Y?g@s(}S%ChiYZNIPB%iVumOUy5j#$W8qce@1plYcgNMQ-R`png6+ z&3S(?e9sV3z{WqqoG?*q(1Pqbz@~25okameLte+mhB%Vi=4(hyd-u9c^N~PBQ%ps? zmy+DZ+m}*+Xi^QiukO3Eg)L!&uU=R3IGvvjW5#gyk6uvf(S-KjkRRFFij8YmP~mAf z03^KO2Nq$!8Q#35GZcf4eS#F6Gf!|)yO#EFoz^@k7?;@nlmodbh2;N1&RQS3l|rqE z&~B&)wTmZo686(p2kGcE_sg06_FAd8W%Wke&u6`Mz0YbR?}kXRu)&ZS zysI`(`uvl#$0ux{BJoHM~A{QYCUK*?)5Sd}wu0Q8~ z@n(|y*qwVto?IpBD!mBC3gDX*+28wx&W~2-uUxQ^Hcmi$*^#DD5b9kQ9sQjK<=b=e z-#}mu89z|LEL&uug~ynLuN8%&ydw=^@FJtI%73o6xZHrZJDU|9LM;^qASV1r;;QWG z<$advU5_O&e62f?%U@3}@rG9~+Kw2&@0y$12e*uzOOboGy7ssL3lz;Gk4E#dXFG5L zoPP~DOK`5}9`=ru-kxPA%BW$wcO+3|nH}6@mCpfSaPrP1Kv*zaD5?CRdnBi#dl9!D zbw&At7OA&tIBAOV|rk(iL<{8CiqL{SDZsNiQf{k}!)=1~+}nL*o)LZD~Ato!a3^X&3@`5sZ?IE~*CJ;a4-e)i?JchB0= zzFM(vsLdW7!{_`Y|oS{T-n4eUb>Ovqug~`7SOq|!mAt)4K z?-7Mb(JLo`cpi!xq{hyEg}aURuQe_2wG z7faxBX!;sx@?g{A5Ab4w8-E6)=E3L4iqvYMru!~mshEToIS7ffHxX`EJ)m!>dMhyx6g|9Kcn);53~1a72yFzTXb9~DI45KRQK1=f zA*|-mjL{H?*RL0)K{hv|$bCKld^#gfnuIwtDwE-bG&Eesu8^@*$r|JcC64&7nHr40 zV^)ZO;1AG%VPOr<`G8A7IpgUyLm^hZ2v4&>e!n~P_lB#1gMG-;40iYzzPws>-Uw#V z-;kw%zOhcWp8n4M@xhwAHQxyMoEUhe7MFi1@G=8|kebL8BF60fyQO4>K8pK}5i^zs zIfI*brY+k_4Ski3u`3gY0VMubBY;Fk@!Rc|hF%1-0-*9V9Rc^x2(P-(SJ1IYN`oH7 zo)HxWo!4cN1^^g#tOO^n+1dFYZteg}x3?#EeDJ^H9iZQjL00D(^p6k|pYycf=xEHP z_}^!jGVo>5V~|(VCRof63;g@hrysdBu8L!*{xV|KEF3(R(>C16a0=M{*r6pm1RFu2 zkar)t%J(`$Ir0dV*1!r%5x?jSLEqXQ;SA*kLwVo7132=aqA@623z)f$_4S!k!?Fkn z-!2FZWAlgSe?RawPY$@N()KlC7(P1sq|`<1peV?He|tmF20Y%cmg$sRV}m>G;6#bi zOYQK6o=;pptXx}w)a40ky{5Y+(Ab}&OL3NS)rBA$80eE}PM z4)x%vtKkn_D1@yMJgxMZBQz1Cj^Mok`e7TBvH0{E}_^1+5d;XH!ORvM&Bf6XnfuV@;q62lQ!fxHod)bxV)I8=XbBl>_C zZ4ST=@NfCPyl8`7QT!d8cbHftcCyF|JFz$n0TuLXx=(rO&j1oT+)sTXN1B@H=s?WP z=9gZeYcLjQ<%%5I3MH2nV@SA_6x4 zSj>2I_^Ce>feQOnS)nR*a`2wc_eI5fZ?yGFB!>^X)5~Wa%eus9debe<7GlpVJ#lMg z-WQ#5*ce)1)m!MQBlD$>WZeA8Z4I zG_vmiU`+qpE%GK|M>{6GZ_T&2x^al3P!upB;U0+nI0ZE71_BdTJ1o2&4+Y^UdQY&| zqomcEt+g%8mI94>c%%Xqsk470gRbVl@kR@sP~7i=kK9XD3X_HgK1ZJmdc1$cS<&nn z8|*^HLX*soS~7sgfv)^wEe3+Gqws=_=SNV`lwaJio{=G3?(vte$Zr_zpqN+_J0$(= z4B(&$5n0O-TH1;7!l2@YvKV|Xmj1uLoSqJSGblhXSVR$p)3|5=7P?UYrz$jq-nH4- z%zGY!H)60u1#R#={_|Xhk?tOh zjvsVk3-e0EVb6E|yJh1WpZGt!ifB!pRv~XFLTXY|g+jBl@!`2L9U!r0G0^;i?1xNm z&`Q8PoMG%NC7| zdwRi8PffJYgmfzH9Ht{WEcNq*kSC7r(;+Mk3K0MA)@{JZCJiVTbYKCLG7tiRR%`3) z=uSyVBqZiATZFmS`6Cb9X)6(^6;J@2yzBs-TW5g+{BF^t@3PWPo?}vPyv5;#^?%7q zrt`z&B&eYo>+9|792k={5=of}u)(6|yof~z!mF!S!H*~#n`=Oi+Wjf;`^QHs1J5su5#$KA_ zW|W|pmlq@|Ruv-YdlCUv4UUD%Kgz)2)Z-vtG~-b}hYs)%`9HAzx&g>aF%uMUf^pH- z4o4mjt45$YXO{zEAC8Z=tAT+*m7-KI#0ZW!bqLrme9+E0<(X)l+S<<%?!0}rH^P=TgSSWGi<)vV;hobN|5!=8L8*X4shy$?tBg*y~xkntzK+P6f z{u_k3pGyto>sYb99v&O&9N_8c9AF$kW+bN|{vLM#S05j(t}$0m`^JzczF|9b^*vmG zU3X$MrQgT%Ra6H!v$+@i=t?8Vy>uRA-kaYKe0(GYqCfu)r0rC>xJx{KEyWP_I5~T^ z#*v4Pft!jci}|F!DHlBn0b}=2VxSFEba%~%}asKh%mV{c@>iT4hA9MQYUxMegZ4jHVHEV3DA(S-a9`mVW2?Q(~ zoYMPjudy@yMkfUR3gk`_o~Q@}Jv!qcmjsF4$x4aS2gApS`Y>_$#WoyY>lwQ)hoCqMbeZC=1&JG508QBGp5Ik zuKxbWuCbL61P{d9RO~XYOEW#P%OoQOF&HWjlxYg&zkf>QUVaal@W@C9Ag!M^up@}4 z-O~&O@w>lGLkwS419Ln4Ev|15xoRlKu(;b6z@7R5oq)nut;?D6>IOcdd0#3XT_Mg< zxR5sQiv;trZc|`l$Gs(P{2QBzSuIQ0br;%75{A(y%rYxzxPVtEse36VMaSxIe;UG- zU~ErWELk*uMmMD{b_SfFF;AHFChYoRpI8j9w$>%+ji#j)R&>2!QAr78=YucALCQVX zd^4U6xV?hQf3Vm)*f|R8LGIKuzZW+GooNjA2?1=072r% z3LZ!fch|V{5yNeH2_j@@Z-Mk6GlBbC)HlTTb_T;=P^MuMDBvllqGjV-!f4;AJ0O?Q zy!e?h&&;%NwgLme0Vw~$&Vj3M2;#dp5gkCk&d-La!6$5@@Kv*1ko2SPIPx@+QT~|7 zBjVHCBc#a(3zBM8%#W;h2|f0-g2_`H<)sTqNJwN7E`WyyI^l4^>Qj2Hc;Ovhunw!ay zv%n?oWAKXqV=u|%U6T3gN7e{g0?`OxCltR9?{$y!V=ZH7NrE(dlHdwFHRK`C=JOB{ z{Inl!Z8y;yuf0H^Kr|log2NBb`0B;larpn3$0yY?$ApaNv79+aRhZVtD5mUw6{ijM2P;7vr5>y6E1iJ zW+KSIx(8e(b3X|2y+FrN7S_N~_vejhJ-!ATwQ2}B^P`@G(qY!~&L`ONe^2{?X5kAU zTKOU{mSOBT;&1}O%H)0jW$5; z3R!O!oc9mT%T?v5*`?lk^2rJ)>;mc z3_Sg6eznjFL|s4fXM#=yqxc^zG*e+#YuJ}7fdLj)YyYqs(}GQXZEyxgXVnhwN&4^a z@cv2(GIg3II3@Al<~jh?I-ba>ZlOehk3GoEIlc(gk^peqsfPd0xtVR#=`EYQlE-s- zEf+>iVo@4+Vm1BK0Wb(Yf#d)Fz)%CjB_G&3WB%zMWO_yyj^ zA}-&GMC>QZK%!Jn1b2pq1l#8-9SkbU8-fw8xl$&D@pyo4-CE!H+N@w zDyGmo8@)my-1Tse{9v1wfX7E%ZX#*OH9%Z2RX<(88KV_Zof}LWiiLI%9jff}#5*inZCpM@~8s02e_y-h`2Y|E_4r#?PzSvGybY|zO~L5z2F ztYKuOVGlf>d`0kG4@@V|JhMWL!#g<`hL8mFWRHF9J;-#eQ1g>9GoW>f27eAlV@?X0 z8@P;y3tUvB*mW1)ys!|I3?D&WJb1zkYSH)K^pT2wlrux@031qPa56FU%&n|Y@OYXyaN z^{8b*GmVoGCxvf-szkK5O~Y4lP_<_UrINROoyd$>#KQ-V2vg&C=&h#*z|}wq|NX-t z&_Rs=&3LwLt=Rv1I2*Ng#vwcB9GsDLADN?%&hZC~u-_quMJ7Fln$*P};1r!HYw?K% zpRPQ>VAqeiP)(g+#F45;#LN9}{O){BUCvi2X!0gXWb(Ri(L>ulW5LH!9iYr$e=0qO z!NI;>|E&3!*g~hgg7XtN1uO*On+fP`?;vOL@h|GOW(A z>A}(19)(=&NubBaJHnNhcrE!jLTXs2L-a|;P$|khdPCV(ENFj|D;|HF&s99)@-P?p zB~i*Ivl+pI`6ZKEUft%oypcIDRHy@j=|#v?!(d}$6N-ghBgn+Si1vGC>uS{un4?zM ziUr_rLbF7}A|Vjz(t_YeVb{E!m_X+eEXsStn{clfP4FHbx)zpyX` zG51#=Sp7|a|6r*uvP(iU8mcHChv*Xaz>$Z|-QUFW0d0>u%&$+)!Vs5Nt-$SIN(^ez zr?*{hUJRN}X8`Pa{2bsu^StK&adZ`aO>kY995uQ|2&21OIu$`ek?!tBI>unqpwe9e zN=i3_QPPOCbSu&w9suploi({W9+P>h@aGxrU`&oZbD1H1$Ug~Lm40A78{e1#%vNMS)_wCf)$ z%U!f9R)v?uVOT%BPq&l8Ely;I98M&4E{otKflq`)6!z@U7RZY-nB z1!|u8)5u;}Dr_sAzS_!@k%2E3sdksmA;bdR?>4?-n;SQ6Z6?%Qn9ATo% zN*0k)FRd3FwwsDx${8?`F?Dlf0*JgnWS%AzHSuCE>^9y1c#GzXBI{S}bGz8L6`BxApC)JW<&!N~7r zdH*>PlJg=3azM?3SVR2}nG3xc@1O*dQzRl4cH_9u;E%-VXx}qI?(*CA0Tu+}r4QV8AA}F!9a9};*VG%0; zS~>^x_IT{hi+}RAbmG(^m_y<209b7g2nluHL=Gc7&oKoMcUuJ@aYhslc*jMI@Su`| z)kg}$sy-S7cxj^f(Sxj!oKBJCCl~V|zok`LrlktdOFSobb;Yr$iK=gcT2m-D zxYdVIo?O?Tt8nIAdQh@uzIBNuU+Q7j&oMzAcHsz_9q~@8 zyqja!7?&B!Bg&|jn}m|=1YlIXd4oCT8pqwkF14q5A=M*UqxCYq!M;Cci@rwr_uS9+ zK+7VElxjUG*$z8L{3`dDf$6ujXzS=thf)!)}qB`an?QYHvSTK9;v|%1=sAGKE zwU_j~!a>aP4AEdz*9zW5?+Z${NeTb%_+GGakC1@tbJTg-0Gdm(!k``&w@>G?bzmfM zcOtE+oX8WV_5){7_L9j2!4v8y=cgajXL zqbVlVf2h*JFv&#_$Hx{lVO@cP@PY9Gct86He2l2d5VQa}dLT%}X-7AdY&hjaTVd|^ zyq~pzg=VY@RxSHOH*R*0QG+05QsP@QXpaX;-Sx&0d|+S*-Ul!yMn3!Pf=2bYu3?o0 zkww=@w!Yv@WFkmn@j=7DH9_J0YUr~tNrlfb!{o7bvy6r5qI4{Es$+Kr8;6NJ!0_%T zhnVj(cAmmImJ8iaqKJf*WE%ao_I^w5+qjKiX_M<|j-9TDz_F^rIT1%C?fi|=565tf z0}f0MY4U&=OjiM0Tj+*B05+EGr?Uwjewf1x58+%{oL~3R8NEM^V2WxNQix>#D&UyK zmk2vqN45b6fU$cic6Gm{odXUP96tB2b`mK6Bx89)T;-aHjfLuau~2^$x$O-OFj>RE z5T$j#f!E!i*}xDjYa$`Y2{^d)%TNm027-iqf4s1oa}tgiCwBD-k491I!W}HFZ0&9y zQLSYNA(bUaDCtOv=G!_K<`QKT8hVtu0#r)}V;r2suquzw$zS+UTOIRM5%COFlbEoR zbveYm$5ZcUPxm7hJ7R4O^ozAy2y6MtVd|Zbtxh-hr03?94eXvnUO43GtUyuKBp;Fm zB{Xaeb-20O;i&7veXf&_)A@$5J}DDDXn98dL}6e}UQ>Zm6WH@4EMgjb_i^L0=^A(k z*L!AN{$t&0U=%+2K=Iqz!FJouavjYr=2mlyN_48S2Sn2yZf9?~LuI>8g1$5^FoptF zk~i+UEP(e!a<-CQe?$;X((<6A&L=$numQVYAn*DH&;w>C4Mk}bD5_QQ-?jy?R=(So zWP1zq!@*>2c(2K-)Iw{-2I|a*YUP2hRlFq*sDWWl1Q!kUn8f+f!XW$cW)g1dQA;VW zQe)BaVzC!M&zYWsg}|qn4;X9xeQ<{p^mn5XDPWB(lHx|v*Pj=1YhTYs#}e*P1)q36 zH#%NjJU$!|i02`JZpWj@m=VEL_qnLp+q{n?qQTMX3)kH5{7+8kY}oAFgA+## z{1ZK1vw21TNNk>NR1)8ZTd%fem2ry~RyQXS$Nxi&W~Y&`TO?WYk@7Y`8dmrFfN~~Z zUrI`44din1y~7`IQDBqnw#U~_=DO=oVT7>&UyuXMtu?t+F2O3tcN7jBX7mj7Rs|rR zDOXH>DQWGZ9|n_O4B7ZQjFho|zP!>Mrf3c`j4^nXcaHMhV?>b=!!uA$M?~vutQq3! z;Y+=0DrQlf`(TPg9Zyc*Ge*ygVJ7~hGHk8w`Rfbh ztuor46#AYGGi;7)p7n$wbIgstW#!dLf?)keSn*Tx5POis}?(qg5$G2c2AAL-SqrX`6s z_$XU>{5Z1Uw$Zm;vAxj*S1+}c6-Vqe@HLpnyzgAsx0>K9TNuROV-IX$r=!x5U-hny zC8SM232Ks(7gO?oOZ;C+#~d9cKT6qZ_9p!m!T-EF5#{!68G`TlR!>i7-O$qW6L(rh zsbKTY?ov?W**sBt#EInF2=zg-4 zVKW7oNOo*5RDZaTRno^lbgN==duM1s!vrEtS=!wsVOMz_AU;hNpK1+T=P;ZG`K`yS_Q~{%=tD=PUn$lh>sBm@C>f zc&{a4kFJ|(ot_KkOsv>xi4MP>(v@ZRGBxD|nGHE!ZJmDUGb{G=x{To1Qrt!^<(T!C zqwd||)^=-hiKJS215_}&Mw zFuA2|vZPSm-`kHx?q_ZLtEgmc`r@;%1Uvsx{qtW`(;TFC`8$Ef1lgb!`kktim*7Bo zt@TwOl#R8SzxR}UgL(LLxy|m&Hzqj0A9;C4$pZ6B#IX9!+?E@M?)e$=u~xhA;x2&( z1bDTJ>o*~4^V2a(k>E+WZE>dz)3#$c3up6#QPHUVmaZv($u}`7SNgfq;a=zPn4N$4 zwU=U>ANzU(J|Gqb%vl9-VJC~9XX33Z*`)UQs&!9ri26L^iYpHF1<3(Hc8V2^ifqr? ziP3MZbtFvHi@h4!Ua;UzO=A2_tN%#jVXZR6xbYfuOhAC-#S4`Egkrkg%NYvwPa%mp z^{`u$(U973R`Ef3j5l(qr|j^*zKHXo`o|&vA{G-nY459n`4icGt-AU%LbrcaZ*gII zu)68TJjssLoGQ!j`tR#oav>0!Op!fguCyDP8y#!UpNXo5o+W?plRfHJwBd6kAN;5; zr~Hl(-IiTZVU0WgLJ@yvNpM}BRg)*wZGVmxFSmHx5h}tyd5l+em+HqBVEQlORsq48 z*rB~rP64AUFOU?l?&dYDqOw)zmT6FkN2;Bf(R9` zO1CloxPv8z?I~zjzc24lj+O=WXHX)nhNt}LRg>aJX?i!fv?u#A?HK3%C1ifDd5cR8 zVU@jOu1(|1R(X6ax3<{RJk;F#A5kwS4fQnPhpU@>DicStimCHNM&g>?U@+gHZK|#H zr4d-@t+c-Ua*DHT>}2eWH#?o<^*Pb~_pZBxB+&oVOA>gk|5O-=w_lIM-nH)6{oP77 zBm~`1Am;Tx6bNbIvebKS;O@^G=?SqB$9;$~fBHzNf!5`2jXyQ(@ETm@dz8bnMDn6K zET$^_m7cf4o|1PuUu8o1aY&4Yyp-(T$xY0LZNKuTl#4rCr#QCknZUu~)v0qHHSaa2 z>iXQ*t!>?u9C@V8^v)j4NNdYQc9-|jS7nfnl9Q0YCm0V=&qV&-bYsB*7FWl;*-^d{ z|FOkl98s%eM{&oq$EC_n0jbwktAD#z4 z*-(8tQn*g&RJaa_94=(z`vK-*9rrxgq5-_NqXI~EGXe#|!W^bV-&jftpOZmL(FmY| zPx1iqsWh#pHX5V|5}OJcUPz~D2+q+2f#6%ynoou01Ly?H1>u=AsI3_uZ)1-L){T@P zD?2M>HWVw*2EP z_^S{5>n|^&!WJmBPa6{awv(9uFfa}`)rL0K@*bA)h0Q=y) zgCQFE(L%km6pMQ>quC zUFLGTuhR>;cO{XNgfSL-+3wQ2eHL^I4&rEB4QuGOxFs#k590tY!+7Q0?v5!IF|;Sc zvX|ze>mG)oe4Y>Z_#Zw!=bYu-7H@xXhbdlQ_ghdcP8l}I!oV#BHHUWG z7ofNZf7Z8bf!Xelfop*NNWB!7L`&GAt3ZTCsqlnUWIwj7cF=)5KHU1i8XP7g2&M(( zS4CokMT9c27-SS}aI67`I zvea!nWNfSztgTtT0>sD(5FVBXk9Z5#j~9gfC=BbtRwrVq@I zcgVbrtq%ggF?gizOA=qfk04AD0uDsa$uv^fk5NM?o7@WO({?(i`=%i2^T{Xd=~ANklP~s4yDk0;60A+Gg@e ze%|M3erUqOTbPf*v9RHix-jTZsLlE#fH&c(PDrNvkz&Ep-e!Gk3x#Dpz~N&zjO~f{ z0+?IjI_TqAa{id!q2!H)0283BJ;kpjB&Jj5%TX7>y6;{P`%Mt?>0tmqGSLg>W*Rxk zAQk4B=pVqFyUIJ|QC_*g04RO8ik^^BHyt zwkYtwrZ~Zf7EmmS)Oh2Q(a1)syI=F!g!DIkG|}cJ$Nt`lh*SrGk}f?re>+|z*0(bD z*V((pwNAb2ID4HtuwaDA>ha@oQt+{Wf<;Z5?|JF(1^IQ;k?9p&u*O-|Ym?yZnS>A1 zvRz3CQ6a2G8Y0uH>c|rXg3c%}r-~9wS~UM^B^TXFh)|Y4Npb0W=}7gBZD4Id3B6uS1!lCkv3E~Gx=nF%8JZceo@1( zmP>qp*lr{K50_^(U1_TK%v*QdNVeCGf25PwI3O&dgjIDn7V9bQ4}*6owNRM4q%57M zw{Iu67IUjx7xHe^R?kMh`Oy6OVR`pIe{WfWK0y-LT7OvKCYUI$bziSnk;04Y*<&of z7Bb;ZAoq92w<+SK1#z*A=E_1JVqtbEVN(WFkK2vC@6Z&u*lA_+R4N(c{8fBWIP0hg zw}ixCUX@~Rq3VUCyR@f0Y1Qw()-~uMKrlwd4x*rPq6(aFr7R_Ub|NMxLZ&ACi>%!i zsyzAYTVvs0ys$3}IMWTo8n0fzEyC-bxSUhbX2czD+ck=m{M?$Woe4BHlu~YN!+E=s zk@BtkES^12hoGSJp{3YthTVBGrLtkhziRf10ZGu(@j>slUHVX{fWOiEEtAnq=*oij zh2|BhLe!m}v>L*LA_WKTuLU`tvayb4ZJ4i>7o?Z*$=qOM5ve;7w!uAloB;PQ2B!^5EBs}aq$Q1P~iiT#_26U>Dm||1bCn`VwXhR{0Bt_8zeymfmk2D(+x!G8D(6(Y{+Mg88!V9>9F)&-sr*;DQ$hO> z^T>_y9aKI_DjcLFO1O|8FD|4dVJE~KkG258_pv3;ej(=$Nj|3pU0?_CAw|U$wZOww zZD9RMmpr9@qEhMJ_Z+1CH1_dqur1P$dl!6# z{e)ubp#skL32zR=`2z63O4t`(AzLh{4b3`l0i@dOzoSc zIUrBoS}1x18gr_(LiT(zY>N|239l)%#-g6C0v^kUSV{(MvKk(7)a`^^+`NWWORoxr z*z7o1u7{7GK({C{MI=Np2^i~iwjX*=P@9{uyYaC?ZbUD9;EJHrjJ9!jL&7l=Jthmj zT%=e&@)(`q6+!gJ!5S+)CuK`Xk#Ao>J`6e(xnpbB`#G{ui8gSE!Ij|d5r-I5=G!6? zQy1Bi5F)f5NY*8-Y*kdS|Q0hO`#w08fS9}4A+r1H`uO4A{ZuXW3Cve zJ<+LP)uLAxYDX*&l!FujX^pdig>SR6kV24o7mhN*JArY(V?_6vX-}SS z46Q5}D^=E6Ef63Y-qF7IEe2y(e=y3j;B}#fj+^Vwl0g^_RBdoV#rF^&{}?9%-wW=M zGc6)=Y;V&W4csW~znYcRbxt+ggUbk2xhuZZZ#k?}36xt$mv>V!J7N4J>lc8Q{pvlG z;)*~M@Ekh|)H|T|Wfgq##q#7N<(AZ6ZYIlT3Aps`i*lZKVTxFk72)7U-0Ut^`V?K_ zhy7-g3&8ghe(XL@o;UQ-U0)>1diZ5gmUZ~=aRJ5aI&RRHf7iFyS(PreqRMu|^*JmSE=eHx(V zEKvmBe`!pA+Tr~6-+39aVC0W4LFH!Q{Tt10cy`Y;7@xE4hzefFFrFU({Sf`0Q-B_~ zfi@y4qqEgKv%(!;P}$d@!a(M~x?gO|W2LHDUjQUrsEgJeh7O9Bo$#^wQzfGFDcsq= zp(k@J@_z#|YIZNuMg2D~cj5O5QbcR>eVr?aiv-8z$U%~sDzx{YxRKCe=GM5+`zXxj zq3GrJg~roWJ^z&)Hf5!wD=#1Kqw!k*8qs*Iq40=ZB_KQbct+(11hOKWYr~q{isB>3 z!kjc;Lb;q8IrV5>?0FlJd`0i2X09pr&_uCrk?T8D(x{6dK1-j$$c{w^<$REXT&JxB zO4Y`QR`3zN@^(pM^Zt!ApW%>w;n17V3+dQ_py=@sn0ZUY`vy&&WTq;zJSHYYgzy!$ z_0hB|wPSdK4t8uYnGwn1Ss^^*L!WbSNhZ8bUSXEYxmL86rhUixCnKvv*|U(DQ^vPz zD2MbbZcfi2ooky2vcpRuP zzv=jxQPLkKw>^I*g3ott1b72H9|A8eoEu9KQL7N3=I zyUhgr-04HiW9#0bGysYeR;;91%(1#L^bYun+hiZ?5Z_2mVCvt$@1XlJedl0>qq*eD zvhnOw$K2XKzn)7}uCl@8e~f;{Ca3D^cNEpFcMv4>ZaH2uCcZGfM9I&Si<#M2gK(|` zb^iBYjUzAps{b$jNkzusTXY5b|mrq8Oc!##jV^lon9>5x7CgO^$g5S zO=VkUcnB+pvu}~4zlf-D`I+D6oZF!SiXj$(9euW+Ymup@IMwz~KYkB7kyKXk9ORC% zzF9g-mXXwgjwNNk9nKw{e&jW@WY831pgn2l!!={pX#M(8Z$LPbezY%QaBqN%I~%>S zpS)2Z<@rka?q;^JVU7PbkKk!&fccBO@szW#smxW@TtPC_HxgaF0VtJYQwbP|HJvfe z9>>T`g^#aqD{^~zY6Mxi_7huGsVg&U%wkBa%ql<_*N{ewI?un0S+)cyL zsJ8aDEJ@ZsTHf6L6@ca^0T9t0jHv12Zo;y*x*yClHehMPJ`Uz$LhW2O8~~)cRDic4 zx&YW3BLsU#`y}1@q!oyfs`v5%=z} zjYP&r&{xCy>ip-$VJsc*MKUYmg){dFFrPg@H;yO$6-2r*XO*=&ZO|ASv5dHfaYa$o zPWkmy7yGdHuyEG|V6xn!gQV9M9inRw2xQ(o1HOO%eqC(tWDHvt3(vG%Vcs%1l9X71 zg>)$P9g1UEN--rtqb8903|j@IQ2}pN6CcUiNQQ2b)v=BA6_$UUIC)rg0btXp0a*C_ zV04r6f+y&sY7%Bvursh93{6BFcI;6gC=>9I21&Dsg1j&#ah%XTp>-Tq_lrpv`9*~b zsQ!I}BQ2FoQxWy7lm2*Ser=t=Y+xV?g3VzY14)Zb+<2Uq00zHzwZFOkM+uGRn#%8) z1cBtb>~3x!Q8_+!v&3==w5SdgQ*=xI;(>T!cJb*+A^qxcZ`(HDGCtmFG8RP|dukAr zY?q8MnJiSId2js8br!cujF5~Gn}vZF{5}8^3k@UYSK7JH3xq!f31(q=NTkQHT2)N#ng|>VKLQ9^DC`XBLK$CuPzzmWZL^^{`$rpaw z*{!eJqI-~kphz0i0rC_+DT^neNT7_FSW-4wc;0RJb?+Yk-CMvW3m|rU)Wn#h;aZlx zz~{TKq17z3)aKxjJ-lO`}OGR;$cA%ntX?TIc3( zeQxf8Lf3+OFhnnlh)?B*PWj9m_NYf`qE4)6jaa`V_N&63w>OsF{^G%SG^hD8Mg+*I zq{X3=?q5B%^k%fnV@hrO$$cpo;8?+!U@T|Uh@oWt4IlVJhB=Z)D?g&LMkI(x${dSD zEdP~MFx*qH&#NPH_En*==SQMkM?d{Iua}9c;zv4NET3(|riS@md{Jm(4%&Zt%tgrjl^Zo{04wP)j;Nzm}++LhN zIlwY%8KJk#%wxc{?iGhRAzkY_!8Gf2D`X$Z9@k*u*mV}6lTO^?Qw)NQuudgP{GCtgaG(zL8&lg1P-G||Q4P|A zUhWA>Jy!R9Z+h+`28T6S;Xiy~$&WS$vVP;brcCXn7|YBY6h}dU8!KO^2EM^YejtlY zviL#Gxt_q0KED| z*FS}qddbF&Y**z?$dPhlM!gwV_gS&V>|2UgUp?9yLL!~=S;&QmO8A4EW0xy&gYWRl zF=2ld@!8EEd}R3Fj+x(sCPbp{DJPQfPwJyggn6BnR1(saKrEb_fNGy*-B%9@8q@EVL1KA>m z)x`>xAG8x;*Xz8QirCyW>9l8jKlgd?Ee-g4f5FEhzD84S*D2Ap)eUl<6q#fnuLSgY zUiO&*xD<&11a5Kw9zS$|i<{-f^(`ipWD*D9)!YMDI+sQ;y1N7HQEZFrf*YEnP)nSKN(^iu>qz+TN#_2OC{QCXYP z6(Vz};5QZyGF)h-saXky*ZD1r1B`knfkaE4K$-9!bRKp!*jk~FY+)GIB4&Luc0VBR z_LPwqqcNT^B%Xl04kO^~j{pK`BcQna4%C?Ni$*Vvl_nE;0vW2c+JMpHl-Nv{pe+Tl z2d0C-5yRDUFHEMPjS&C=321Z7$BxCqNb2|O!kR#RPcZcuSW1Tp_>{0ZWuqQjq`$^313=&cF zn`;gofqfXcCHft5#Q`R8Y#|)u=_81HN+29D81^yFmOcz%*7%sSF*&)GLP-_QWHR>j zc#CaBjuLOd2XTya>qA%cVHw00f|4fcLKV*5LJ!E(PY@d4lP6+!z{T0Qyz?~_l16O! z(&sy7BDHPn<+?PY$mbf=8W2UpY)!`GY=}%|hwDZVMBwjYZ#!b)g1rg$r+@S*;wnV5 z-_*$Ndtz4=sxpkAq3b|UKQQ)JC}A+TQknm^m31BJ@35n&iojXKbPr|rJCF~(pYS{y zd1tA7%>garW`u&TaR7>|$H1rX5KBvp>;Zx$%|0wzH8i(*z|tfi7Vk~BU}w-}x}t7w zj$&#u&UYbfVl)E=%@j)d1YXy5N>G&o?Y1u!l|6uoiPUnucg*wn)CHDUIVXf$7h>&M zuVsA}Nd5TbLo=^^CFc^T)KrjY|%9*o;Asu*_XQys+fUD9Pa#iegCo z(*2^eT{nU}f?tlwg+p8c?V|~bppc&>M|%XVjQ~&@)?K#L=?hh$ML#o4?)1XY6GYU6 zM^?+B9iTt6C+6O_ik5u&tV%V>EdVPpgmM>V(sC?p+7XzjXqu9vXsGjPW9;KKu)v}Y zI_Ya~kHV;U*-TeAok)I2Aq7VHI#RW89(DYXb{fn??q$A(KWF94FIcg2JH$erlF~ z^EOb`MISx6=crS$-?D4HOikQ?x3vI64j+I?{1ZSjjF9yPdALgxjhYGSZu5XUs!(VA z%ATKHSi!xD5gUpNZuz9hXSSe*XV@Dnqlf+pXJrSr2>! z%P=A=@c#40>Zm+0QYHcT?bB~dDOk8XZsI|N4F2i_p>Y?wT=LeW2h0OLci(Z%2yw@3 zx-$aFp%WZ7Rb~jGetesgrg!!!+mF2`k27>9Ns3fN@Atn~1dKT7vv{jnvZnx}~5gI-pwKt5>%#wQ%I90i7LT!!bh- z6eK6xKhXKVKd*=jfQT1^@L$ZgyTe7x4UJq90Kl&IDj2>|sqc5*u!k_chh3momf}&o zgZ@)DKgzmh|u`tqywuP&Rg9 zZ^+&LzP^1Equhh3I>y6;x&N>tS@A)SbwlEx|E8+RWo56ie93bnV;9&Swc%)FuTyeO z`;f71qracugng5#Wsb=SwVM`aVBE6T#7=;Dwb-K~qXpiY5%~34tSchOee(sbzHepQ zNB{p4wDMq9U|_f|m*GGm051h(s4EQCSAhy&u>}m&*+n>j>E57=fhk8)nO2P`J zMCiwS!PId7zP%x{aCdxtd%aSRW;Syj)VVt`9}M^=uPJbn%zoMErh#i7sO1Ew=^YTGW5TJ0rZJR7AqTK$0^%f4gbXFw|LxN zXy;xMAEXB~Tc@H`#cxmxeGgK$tD9Z1HAwgQ9!a?6VfD$}B<2;_ke*Ai$-Az-3pP~Q z*<&jPN6!g@(zl0&Ne5G|Ws2CYxh{W#sPrrk1e3KDhdsiMs5FhaFab&f$ zk}n^Nn6Fiv)jDQ!dj`YoCKrW?{=eWiLuD>-A_-R6KB?GPC&XpviZkoKk6fU60DxM50K-f0M<@`SIL(VsvLhs;TLX>lp8{s}OI)VNT0v&dOSa zteG471*1{d9hdrBCB|95iHzq9LuqC66mXXk6yLcEK6eEucPIy8{L)7ZdgWYPIRaUg zF&xF-{Gc$lkeIF4x^0i*8@rj-4NR%|`&{CSNfME^p}9Fz9*w1!Q-0QOQ3T?#)LL0| zd%cbtnQ>_1$YptT-!$Z_ktWOd-8Eh>u z0O-}{;UwAwS4dKD;nswad|y-c)bTn|ZjFV0UOy^>zUyapcB_tkwHzfbt{%#d5+dug z$ao^$hMqkfg?El_M zTA*UynN<*aGdmfc9LQG`5z!m9YfKMOE~3kDy~renFcTU z#C7t zR}L>sI|`*}Yc#0dm8Kek9OOb$`#xI~FJytF0b*%aFW4h|uo-~dGF)Win8TkiAbWu` zOWULb{?`od++si%WkW8iq96DHS*49uMEoRT5FhKcgct4)&na%-{@+s`0*>i6VxdAg3F(f3eQ4}ysmMbIyU3f%vA(HsJW>xV5%7Y*}2>iWnWarGw8_z#Gs>3I5 z1?#ZNIwN|~y?G&8!sGqg1n^tXDCy$Bi6%0TBvaCi|LtF{nZd{sEQ*M`hq#%~HrpOG zMNY;~KhyE*&T_j4vksMOSu&c6xD}Wc6HJJ#glN=QIY|}Lb*q1Q`p>F#Q$Vd2x0hkF zRu52yZbO2C{>+99KZ-cw7y;g`bx&&PELlA|BK&KQ7!?}lG&19C$mN%JV`S1@d~(*N zr%a*;eP`X@(~NrqwLZ8kEohTsCX+4m`A-YJ9(z3`SnCOI*dU2%uTlp6xqpk!(H%~% z5bw@yn*Ad9*LxLAia1T#p|M@y=35rry0QgH^P(jABlY6-PZqy!EmI+$;z@Ntd>#^y zLQ$h_Va2S$nRueh6$NiM%!7Z8hVxr|&829j&nXt=JGVedYo-~8t|SDHxTq|ub5>xK z*TcM0{1?Y*NXx6f2s+v=rQeVAVHjI`Uf!N8L^TQQTARxXru3OFNmR1SU>VHS{?#Jn zTHfcV#jkhI{hF*tCB_Az7yb=$NjzNAHkhO6S7&Up)xPd}uU|>;><+f}HDAyXC~Uz%fWSkqu=g+iHok5M)M)vOyZ&0J(PL0Kxn%2kiIu$bm@{>pq%zIS zVMCkSbRcd8qdwLXmT41xZJr#oSCex_G_8|C(Lg^fUL%xyR6?bXg3yoOg3`J>-?psm z#@7bhY!y%HD>bKykKPjxMq_bQ#gA55{nnVbGnDTlOv-*tLMvS2d>M*4US_j1<`4QT zTW#VTzN`F2GH`_IEv_eMkCe|{|cgAi%| z3#DIR-8u>i9v&X)@TBS(r^wBo6M0;!$Vldxbss2kU5wS|l|;qy=MCSRX85Vga-CpO zJ`;J;*AJ8mm7g2Ah7>(KkOF^dlzG`%edctXyX!lYzjVHsZT=C5JNgCdwn~{j-!{zt zO}#GUOQ0=4{w1-xssN=yX)W6xpylJdyX&aULW9^rRU2c}7%5#0KECq=;v?wBk>FHK8Z<$XYO z-du_40ptd*RaEMR3`ZI354)t%Yvc%BwapPRlltW_7T0k`;bjX&V?U_A>wMw49Z6%3 z3h$3jG4gU%+(s83^06crP#!I0Z9kpl>QOJqQPEMZ(zHdnK*_=!gp{@)>-Uk>{K`8v zE%TzBpL*W!t^{+8kGGKSj#$B;j?1s7m1o5L>Wscir){sg$N2ESkYRf^2xr{ZQ(MVQ z!bav-HdVbp#j1@{ao|+_ra0Up>V3SRc+caq>llWj*G*qvt3<^)0khH*$Nl$K7hCG{ z_KpOuJ&EO!^bWL*GDbYceEkW+SF{~yAmR4A86#kq0+Oru zimlsPW1Lrn(Il(iIbF+67LApfl^Zc%h~pmyq@zZhG(%6 zJlI$-$^|HzqCI=#v^?a0^C%ePZ1157*X|_2ntn2W=*2+>ccWDcobzkYBsnQhmv02E zvBKX8%Etfwz|jd(-acoeXz4ql%FB`~`1In$KrFHoZ}69TidKSwJ7}x@&;V6%a}EeN zuFoNT#qP%)CTY)!*jo%3>JEMG+S_SN<1G5Te2z0@-#`RIq-y9F{IBWC^O^D@tO&Aod+Y2WZ_Ii9?h+sdeyI{$f>r+74 z8)>%I#HUhm3%-n#Fjkhdih3RC<5$9a0-S6ieXh>>_POtyC3KFuNqW_%dlLD%iSpat z|A^S>=~0oK4=W#nMqMZpx7k=&2w&qC@1If^U;Q)2;)7E0-AT9`Uy1x~`h!m8R3Td$ zqLN)Q|FUM9T%(TTeAlXJQTkI|P@HShK=hDP?ww_uE7#K;1lc0* zhLQUhVS4gkZ(@g<+~V@HMBSE*|BZ4stA>CV5|I(>uRK?3J-PVXPvU(Id^y6P>)+OE z7MMl#)fuNmiI4L{=TyxoeCHS0qJE6MZuQw+mEL>!03a^eAKGa#uHr%xXqm@;tzjrI zCx2VdGQ{RUj~I8uG|2GV$^9JL`6e@8P}sKHI@(V*^}Slu{?C_=Jc77PB5`vGXjkAQ z{ZW;HfFb?-=B=P~9ba@W5;9xy<|=5h5KQak^CsOQq`c#(99&lny0t=PIy&IcL9k)( zH6Nhb@(8>0qa4tqV<_?ucHKnwD*fA}*UqEP^p0Bk!7c8?mH8Psp>+;gGP?+-5{{Ow z>44VSo&0Welw%m#!SWsx91)`Qp6cEu=cZf}zZqB6Fov1duSkOWrZ5A-$PnF?hq~+i zc{a-DHYwRj5%+JLjot|T!4q%96{&4E(6J)T0`r`a`grdry)0RzDRz-IG?9lRH<~wL zyZsKP$qg9QabGkIU+41vco+DV`+12lU;;PuI0pcWCfopfXcb6M{V-= z|2^FUmte*FKN=qCb0xLjkQ(A~zKNpvYF$yR|LvDBng&k4w&j=blBdY8^2OhxqOde+ zQWh)=^`3p=c4D#+f1ke+T#y*0_f9Z1(IN2Uj92zP|NitydXEe34&1RO8{RNP{6&dx zgOzjKKHqk=RoI9nIbrRZYlQxx?`TLi;i2Fwld5v69fSK1^a9CdH%twRXUClu3Qf#H z7I{`$rU)Mj=Xc3fiM#)_XTsLh6$;;Dj^>pN2{B`Frn27gXu9g}*-Luq_F7Y&S0z|JS(zYhr>-;qfQBB~ALIp^OCV zQgKlwp-v9)k&z7{J2a7OZFu^dzg+d0bwClyzS(ozxXnd7$Aj9&iJHwUfQ8kzuTfrG z-J!ksu)r)U1iCI>g7Pj2;|a%q@7{k=h% z-Wg2(R3K5Y;Lqs@VDF>hvmwC~fAxSy+1U7V&iI77v<`UJ(?2-!s!@}r7_6wI(>K6+ zP2*sH{OJwfPrHrvJ}4EpHq4)O2?|20cg5a9|7kg!dA5tQ8?Z;A-UOC1anstR? ztI{|u;uEAw5()horz9W3p`>@u_^vPhQ9^#B?e+FTVA71}SwEbit7zXfKslj7-0~cc zF_zts6tgt!U{R|&Qq2baAClSBdW~0zK-xlQRr-0YtfVt#vNpf5$1_t4*C~v`sV8?b z8uOu*alVPk^ui!idhLjHk1=!M_UmDiu)`wB+L%SnP z*wrDaMQl4beWeO$n2!CwO%61R+UkuG$vDkigfj9vbMDm6NU9*eWAsb__9MrJRr;Y; zBiNs9=wlLeH0!p>HMNkwBtL)0B{vJ%k9}3w4>Ap(L(T>$+i_ow%A?T5f6oaKIu}vw zeoBn!cqEOTux~7sC|uokItvdAu!0PuNi^l>pgLo2unEIkY)lhAyBKe~ z7tJ9dA)%p1;pmOOc{|sAnn4|Fl(XjfW0F7nb$iNKA?zRfE@ug|$2EX=X7tZoH!eyc zYF)3`hpT<4ypZotP8MLt-7KP`Sg(7n7$Gf6R471WFt+>+da0v@})oKh+R-!rOSA820MIzkn+({zA-0M9uS#a?JFu75K3q`}49ZBa0+gx(5|D{1jT{2X;eW4txItwbQ zxd(>_AEVH+Wfb*J=9H(axFbdeZDpuDFZ4Q~dWL3Pw8UIbDX%c1C|JU=aux(`=T{5M zYlvgF!s2ZVkKBc&-w{!4d=muvZRmP&Pe!{W@Q1wlx>~s1x}8`-@NH7bOqAw+qO8_C z{f7{E{S~mNDygsEiF~-@e1%V5tWW-J8Q;Qr!N_fRodXvm>NNSJ@st%W8VmV2!2;h2 zodpMPZqOF#!r_Teb{GDpZGu$^N4T_GEY1n92%5h%u4fVKPwe;Qz0PKL%f6D^9n1QW z=kw&v7+^%*HR*E|{t$*WJ)-l1;y~l`;-A8gBzIQ%l8Fb>jNHE4*sM*_S7bo>_0;? zV$`oRchyL;K6wv?4PU8q7O3!kN$~|I#&byKku2x1>EXAJ9DR#ZKw2o#35CEg*J2J_ z3W6!Q0TtRz`vWHr3bG%q8O)MTR_wX@#LF?CmF4t%stpBys*=x86U^!L+G417XWU7A zUbc87hf3nAOTcXwdZxkTz)8}-pnmZaGmN`Gf;6&};S=*^wxC{(#2ki9OT9AoNXy3rogmK9LFMaiZ@HJ zO&z7)K{k*LFqZs~UB6V<`zX_Q(RV8khqW;!1ytlCKb|M$pN_$|AfN%i-aS6q5Elz+ zL9z$;kGwVRSW)Ui=J!i2GEawvZ2r+8Iy`dlceh zge18VKhmv@6x(l$cwH&MOBm=Wyjt71q4+0PF?^D05I%yEArOmnM_Tj6;mvZ8@*KI3 zMa9&UbL2_gPTqwcj-hfMbfi#vdWIl7KstF0&%Q9?O*A)#PWEkv0fEPwVo!oks2Y}= zMHB`2_OokDw2HN0{dR&U@a`8(fo~1Uq7R9m>7GG)1!~rseOR$Bv@bH#Jl|ith{`VQK}K^ zA)j4QmWS{_>L$VW`)3&Rdg!!TX#P0D_b-R|b#j97pBwf?7S|E`g4epX&@O46K`8J7 zTuRV07Fg4ma?$Ccs~EOYS-PH@;SA+5n2KwkHJx55@5PKidm&zwUtx8vhU%LtR>~DD z7V;<-Lz(D;M69!YDQ*y%zbZ#7lZd?c`M&oKmjVv+_W!9PZo9L*!JPo?T|H0RP!v7H z4vAwDS&1QlTA`qz3Na9gg#iW_+dt5e5ixY>)IZUsTbB+XR$yU^*gCYd0}=xZU-{re zZCny8+c=4P?n~%c#K6W|y!zRC=bn4+edp>=yn&B>nWOmpFYzGIbbBfS56Xa=1R`F} zJ3HI|Y(lR?rrDts`WlJ}i7-hXq)gOa4w}f0lJ(>q6h;$xksU`au3^H`F*`}v$ybndb^I&Na`dl_%vEMw)}D%ReAK&2Jo)8+;$wG&+YJV&ik z#l>YEf#;&_2h2=7248|Ow^A6uZGOKL*>->opJVwvS!)~#BT`a{e=mc? z#1!im&Yv4HV6t)o>0$F4uHQl9H(5{}s9rH9x-Ncv-NVuT0X9=#kWTBECP*(XEn|Lh z0mWBE*tT@`q|_*0F^Q5wbft6|n_k%L-6&+LyHVUOa+;RhjtOuK{RgQFX2wrY3^}%(Y zjQ1)-_8Y+{MlhYUNbG>jPWN@96-#ZsN_mmrBW0<2h=+VWzJ|UNVx$Smvvk`n3*ki% z?Y0NccMy>V&q#EELFTFn$T@}B=pYkiU_?%uQZ4|^$uFUEv9eHaoFN=2ECdb#+Jt9a zktRlbmyJ;-J-|pd<5ZFtsHP%x8oH*EL={PL>0b|$zHOO*3(u-45_F8Q>EqLn059Jh zq8NC1`lN=3%P!RLD}t(|j-R2~DPw*85&XL*o<0AJy`4S0dhr_PtuC79zX_yc_@j_) zRnrz+Fc)0RSA7Kj9D-RFMJ|dJFT}k41?Ef+g}j^S<2`yXrl#HUr(86%^isMQvdIr2 zp?n5GTOxYKw1bSYEU+izMRYk<9dU+wF7LCrXe%^+UZVc(6!l+C)Q^CJqwhG}|A@R_ z!t%-kY-~QpR;`A$)zyEJ#-t3|q=3Uj+K~S3hT+spH0Rx$e#svJ*t>S#CW0XRoxS() z-PwsB7df^m3=$SdG*lD_2~ddAq{yF45mBW~X$oW-BuEe-S;E-hhm0*h<9lXiorEe* zl~g`yt1DJ>w>$IA?l<#^doY9*ZBJjg*?h-W<$VEOGzR&B{Z%4 zgGlj3B&Fw4xYeKyX)YrLr@ih_HXn+Fg~?*hwR7Y|RA?U8;ti45j^K~VP_zY%`4$wK zTM;8l`5)5TCNy)3R3ZyyN+@yS$+?+}95UrC5a|BxlYIgYiUs60b*Nk=J&Rn4t`|pZ)UfDoC{ux%r zX7vD!n^S!Jso?0tcYLWg(CCgZ_bfarm0(W#c#@Cs>_vg>@1az7;5asNX%z`QgdRJG zshz`0%qaME5QSXOl94%r!gm1_@KPBL60FKX-`g9It%RbDOGz=gAiO1iSzW5u1hgg| zQ)cAb0X&N`E#b;y9XE<&JfktT(H!LPwN=8eKSO*v>!5a8N8@)L)oKmz50CM*Qo+H& z9(H!$U~?mVEqTV0X#eHU#ClJze)#ydebqZSk(c|atW^8XZkYrInSt(f| zgi@uTM2G^xCr}_hj1S-g=qM0UnjoT0fdo+yQi70B3MWo>ckH!2=G_=)+TH)m!>>&_dx}g31hXv5u)F&fMP6Yz+`#(v4fOjIR+Hh&d5-kL zK}=j-T+mpIN-U@u6s@>r=M>J$H6ca=IfYjjsHOI1N&8FnV2C?qYsyJFR`8{wo0k-H zwR21yNlun9TCDldCb?X9zO^BwYwT1lf}a@U=TsmPI^h2~C1|^S4w!&GJ;$U_)fxOE zAgCCOy{{+|56YXNU5()raL(!qJMSl$(lWfUnqf7X5R5avJVBN7ceEr-Th?3nJ;(xPN!o4Zi-n%Y=8qVVFI@4V+mJP_X3lQ4zkE6mJ> zz1qA;6l@oon^c~6HdBmqgOj^G9Da`Q?zq9;Cymj;2+#L-@apv&+}?VI2M-_N>66Fw znyx@8h0=CJPtom43$MVoOH1OI>mAq_TwTu_^%{5H`Yil6Ln0sX2R5Z#c6<|ny=&=Z zAPS>rI8s@xr3zaa@NF2c161SeI6geb+WIP%mlhFt3O@f^nnv=OMpryJVb$@gbU}2? zc%2T7iz5d7&z3oC;4?G*M?Y@@uy-{p4Fh3tk~B?f6H2WLg-S04^`Kr9Jhb2g2p;t0 z!Kd;C1Yf{cC{^&FmtMVz6~v!X(`;ix;_N0C#Zqs*XdsYFHk<73d^5Y>Y-Xur{60Arg2kxWxhGa-`jE(JZ68DXT)R1UQm5$~6vtYHae zen^n^Sc^VlgM&7b+l9D{G6luRM~P(ACAjY_Td1Pn4W$)aodhPZ)Xk zRO$qB$Hq`l?z6B$!G$KYUv}`!R#%ax%n9GaoA;^~32keRb$wQBbDDCIejdZO;KXG( zf`BaqnvDvM_bOPdO26O(LV~vu@jF>$#(~cODd&oZ%5Ja63}#xWQV75JjDFNJ`2^x= z?=o)VNqq#9mB2R^%Qj-5i`WiEFn}(oTFgF*1lp}-6RXu6gP4WxP8sbR8|N1lTjo53s$_r20~`^Kji#>aUSuL^ss}b`p%Bu^;4(KMBy%kkXme!#)IH?+Q{H z2BPRonsl0JthKGN(ym-|;YQrL@DlE;h?j8V89agq@CfQg!CgH-SAw8m!CGz8l1aw@ zf2bRw%ev6OKoY_Xf#l8mGylK0On~MY=Y-nrKOFx&l*&tw=kD0-!rkxpWbSyaJJh_v6VJqtOSwUVu<*V%5)5#Iopc*;$-x9BqtNR6x5`;tWHAr$=P3 z69W1~v`s8UA(kQv%bTVq&I@o@o0}&VY9jJ)fA>3@r|2cfjR<^`Nu~&sU7sf0HOZ)P zv9VpjUZ;lrohB}>pKy88!}(bccUSi~JUGTtw~N)P7Cl4WztF1mz22{iO2C^f)g0$f ztyMEiI$h>~UjndqHY*K7K@>jC-%X;0+FC96S9PI%2UqTV199V8U(APaS6qq3br&Ln zP{B%SO|8wZXKw1kjUtFHG|L1+NXR#5=FXY>({J}|8i9`fk^KI6Q_F?rJJ&6C-ELQ( zlO46iA-A<@Vx>_-bJ@ejl8KrZ!C{*1r#9*{RJ6)LFT5o{TsSV(V{RjSNibxZ-?`3l z*OS_{Pt{u?bO>@cfzNv=szT*R7e}V+rFCx+ihwo=Wn0P?M#A*gfFjV9z)otYqOu94 zJmk+RQ}1NpkP^`?0b~d>c9||$0Dq(_Flo~0Nwp5J} zQiV^%g-)3HRu!eu0y5_bxj85@9Ni3P@w%n^y`dK)?WqR&WkO5DlDc;mFt+lW+MY~R z;W<8QVrvH{5_xV0n(-BOS~YC9*3ep2I5~Ylr+to#_9gm3fP=$*tT&rQ$xYmnaZ1Qb zkG@gZ$n}t?KLzMxe8WD2UpZa{VDH*>8it|h329z!N)m=5C}KcDY?OtsKw{=c03jCm z6m}+7K7fg>h=qlUM=434Nn6)S&Al!X6JnzSShAGKi7flvljD1?=P|o%i`=JP{fFhR zCWO%JneDwSaj?agonzeMIM%taHw0j<^$3GuKsaV$m2V&km*5aU*B`q`k_^dkg4eeW zn(qU=#0o9GhL6Bi6^Om2V{}JjEru|sWKQi9ww6N^QRpIAbl?yptgWQ*JriNkr11-= z1TL1#Cj1h?lEYQmQrOc5ie&*Kh~SyT*0K?S0&Cc`q=ZM$HsOGSPLiY7^U;?9GTP8% zV&xC@2CP1?wOK_aG6*Xq@@^Xo#IpGiv7iW`Wl3A9r-qnWl)nL2Hg@o#o0c(*nT()5 zE45iBS9DW9NZ1BsE-@5bZq(B`$|fQ8Vvz!l6;RMHAvzRvq|il?46d-pS~6#i@U>i= z7RfA?f{@{=xvwLob#4l(YC^!uPD+|XHOoO~tGQOMZTeo>roWaPGJVFHli~DW1ADs_ zTwFJ)KjHlB1b6qhI6OMW&UQ^(*!h5vU5Fe6x!9F!dw*$*UQ)mM?U#NCz~0rfGz>-2 zleT&JY}z!X(Gu(A?x2Ij3EYubt@fAC`YEX30xgCC{YHiQ9WSoesh;Sc<0SV3Cyx#3#~rlS6f#Sd(db(!q=~$1DXFv_KPG#g+@yX@MpwYhM+50`pmp z=`@v&dR(-+N~JgtI(_33tMpw9f$yT-a!{+It5s0KG>8H@Elb-?7_VK;WD~I1zdjD4JCRx!9nW8iYlp?&VFkNtam>!6^>TjHot^ zBEqU9bpD--F94c-nuS)_X>##Xt&~q_5r4pqI~RgKBKQG@Oh$YfxMWhJ&{%t{*z|*hqJneZ+al#1FR3V(HB3%0u$NI9p$J^>!!!tJHMXye zUrn>O6}C-0cqG{3L(OR93{#`mHS06UNu!1ym2Nev;NB0MD0}Ag47hF zC5t8#o$oohE{y?f6(3J+>ZecR19?`F#g&0CVg3gT0z13tU|#-6en?$u5NBF z;veCrE)M!HRGjK$!P(8h$6^IvARW|ATWi&%G0n?!u65M4gOVvratSx*{?2#L{Z1hmLFf!?GjHMD7=?!AICxlco z2rW(ljoUEQEQH$?c;>4-co3mya&-as+G|*rq)WjYf3j(;3y=O#I|129m9<)~eh}=J z!6|KE1iGW3OoaXL(!hPi!1J4q(vye%GY3bvk2v1Fl2Qpzq`8T4%uZ+Up}VM+&#{;l zSenmZs9&SJNr&Oqaq$$xWhsE`n*efqr`WOUSYIB*LUsUA5rm~z5mSjq69T^B;P+F2 z&8nB?jWiwoHve&a=?ExIkzN1CSRx5piBiTwsfBM49#)7jO*t00Q6hQ5dp!xE84zln zg1IkE_+2)B!k2{N(jw#XrY2gi$MQF@J)5Zh9g%>b5yhq46r=^uqxrzvaT{e;iDVxv zvkF_hL(zBG!MI=ON^h0}l+v|AWbK9sUDiTSA z=|#yGN|G-v9d;k{%`R(AOCWA&NTwaQeY9|Lp2X2v0+DDA53db)A%O4fXhCSK4U?k{ z=x>cdd%A}-2=H7U7>*3?Qc+|vi1jt*;bt*362$m~7k=+0bmIy-|DS@3fUnyAWP<}% z)}sp4yn*m}5lIFxw{og7^_}Gq-05u)+5@SKEp5ZfdNPj!gP2YMftN(pfLk_|sdiM* z-K4FW_sz)6*RArJL(x=^Ej<#MJZ*78d8x z{ps^A0C!ijl0Xzj&)7JOjx*ZmjAcQREo>7Z zltcy*LEC6ukI}Y#hT8WO^#E-I7m;Ly5U7jV1d3?QPRX;ERm&VI#)s(c_Ek`Ry2Vj~$tA`w9}Dq=DGisI7? zt~1Yg$X8*#1z<)EC`N_GMF@>1O!o>Y`7(A=t5`6DC>9=3tCTSxmZ7T(Y%0H5IRl+g=85&gp zGB-3D;PL|_VKi#OKO^X2aamuJ7&@Qd?>ijip*^u>a>RKtu?~Vi%whM z=LJlhOejGg(Q`A-ANUl2yK7fzAc&%8ce8nzOpJ+<6hed;>_o7zu@*#|V4;ZiirolPI;K zI6S(>@p%OuHG<5Pj95>DZZ#Pde8&gb@EN6CP)(+wAusz69Xz`gsxt z;^>3+YST)r2n1>(2_*g_CNldebnrv?4O|_JUx3xw(Zx~2V8ZG|+)Vr*z*YgJ9HscX zLk%w0#6*KlZt2j=?~=ava`(IU{#rpxqNY*C(3W&8X;>(TcmHMq&ZFBL;^tkz`?7aM z5j}16`mW)iRNBYh&MwL)r^wE5Y;VqDYdwXv;skQ31}yCwmfnOR_Ke#eoC^XWO`-4l z(qu;{W(m@7*>=)p3DFUU_8%x{X)qN1EV(|UmoOF%q`R8R3@EB54=w|7d(U$b*L)-s zCi0evLY!lHLB&!r52oi(sc;+~UBZ2KF}K1nMJg<6(pu>rSma6e?M@q({Mi+aQ;nV^ zgs)2J6G`;CCht_vPsORGl&Hp3|{V`8Xi2> zL#y3_!St};l~6z%j1xeAqaNPz(T~(&*)e3&IXJZdXVojz>MjbaMPxJfFbEgJ{{4Rx zGFzpw0ffZL|HAVs0C`u>(l8W7PhQfOCQ@swaWH}iq8M<{(ZRt%2k~!oad8s-G1C9x z;?||$B3KZtAfi-gwP_O3G(7Kp&EO!N1ivo43@?!P2ze*x9`46a0BE*uuJi2wR(XR5 zYtU>A)+}+vaje-j*YLG$SI6{Uv|2bkI6}RCg7CJD+TIe5Yb)5@NH9Oug;VGud%Z)N zgfNCFvBF7m->2zQsX`VLIuIjp7I`OUeNi8d+m`^e$^ri~mtWCx1ezwt3`-s5UE}bra$Atb<@-oxBN}lLLC*ldd6Q)7k}Q z==4W32%y!tOcj<~1}3t^!m#8*Rvmh05!CY|Dl;VnfrnsGU}Cn6^F{}aCb9l-4xVSx z+&wY>2qG)eo;_IR_;9}e2ha*{X-}7y<>m=o=Y?B{wXgeVUOvF7l(DtFsUt*0-rLap z8>!#yKJH+YHTdoJE&zMyuF^mdh2ekpGRuw&YuGf2#LI?=38@sZ@gedW7Gh`RBMCl$ z7UHE4v9VKZY`hRKCT!v+ZZ@7Xx}YhnETUL!J8W_I=Rg0TJai3H12dSs0ytJTA-Xq0c;uL8Kpx@K92Q>~o)=bYCH+ z=s$B(M=w^~L?G`_FZZxo4Ul)|khDrTy10Ssdnl9~*s=p@4m1FY>1;!CSB4 z=t(N3Z<9dNW@tv_!flLN)OEa!pj3j;d&XKVL2b5xhbM*I!+V_EMsTMCEG~pl!h;=C zmt*z+1$un{b2{1_4BKQfWD~`uJgzQdoL;x}^q2Zd1!1wGYo2SJMfwl8=!xRjzX`zJ z8M`zLL}C0(F1f@|+fvX?C}^R$brf-O5}jTB8{Bjg{EM7KK^zJWjt(w@pa_Z-wN}nt z+PnDPr4;NS9a}INq92odg?oHAKv)=z$4ICq#;-e4770`5+WWZyx8E6k+5&Hf+!QH=laN0 zmuiPZXcDL7ZSRBbogzuQXs*O)t<}+sBb;15wDKp2FaZ zW=d2fgNQ9=HLR}S<{r3vctW{a!q(=_NTl!#a>i9OXA2%o(*ykoK;6}=Gz>=3^L^x} zF_qQ|6~$k0t1coAK7>#ZTzv+gprgK!4lWf32L}fyaZ(4B4BG!BjfwZ(q|gr1#Uai5 z4Y^++=l-9QH-HYZdi3cm)uUOAQ|57bVIg5Psz_w*IjZdUy12Z$Mx$|#`@37zcU)YY z?V+~j!3p-+^6~GRW#MqMthyHEYdN61qZh_JW)z>W!}P zg#Cjp0@4qtmX9U71Uo4r?8UO0uF7R-&O8QxH}BX?mc@#F13J)fz}s;I>ShRCDxf=L zp#ZXvd7{awR96)ach|98sNnJW6V00!yvGiz8!lGnzh!M(xKxG5GtQC-vL#8WJ*V}+ z@;AjXYEoxv5EEz9^Qb;u$V}#7IW~UUEetztY}U5neQ7iwJlNJEPLAuM)IKWn&2XcT zDUpxzPK*vAdi{tcl$E~(6CO(jux=c zsetV({q9k46)taXadLc$=Jf>*8Vfi&tf3m+Bh1@YrqV4!)6gXE8MdD)2G(CMB~3Rs z!ZZYX{#4Yauor>OSK0Zq1U>9*b@CAxdq1W-0YLw?&NP-f6-xrro&hzs!)fYKWcEF% zJ{M>Yfkd;$)mruw`?MnwnDY)RRbN2A^MJK_jFoB`{(xz+?2kfO*MjR5X!0cTPJc&6 zx{`;B@+d)fhgunmX@q?L&W25fl?y-xrs~02#g~qx@ z90d{~c8m|BtL7y7rpEOfvQlOaEoK1uxU+BUn4|>t&y3C#owQZ9(~^xS-(2ikh9QYH znb9iw)(JiOO@hb>WI1G;CJDky34XbX)>9AX&1dwz7(3gWsMS_YfWkSWB@R+`_lDRr zRpUbd>aHE9VIYXUU4McSh?4LrC?W+RAyQByr4I+;0F;~}7vKz(6ttA&0JKPeK#5WX z%Z|PN@Mdj9ffA)mijf<8?OogRc{?+26BYEYHEUBYx8dy?ZRkZ(SuJ2QD>8a;)V&M? zUojfp;ql=f*XJ$V-dv!662i>i1jeQEZ6b?fhVuy(S%co@E((VIMVeYpLeDEbAYuHr zMI%+e2~FH@`rb&imxO&)vCh8 zb%lx3yZ0n_TaJ?DlDY8n8fvcz*GLZm*8BUKjIsg{ScpGkV^GeuvjgkvdXQ zc?>5s$jt;vN6PDIXoMF~udsdVtgAFeQN?muf3T&Vv*Da0z2LW~7>P+`X$$Fh0L?ij zG?K=bnOz0gi}97b|`Ex6Rt@ed*%QyUo$*23OQ=;V|X>Ro8hwW;`>`i znj|~>lCd$~#E1J4K!dru16`AKa45tu(|^$6`oL~Ac+WF4_?XRKz;5@Xo{0>r7R_X^ zQWa##&eUU&k^;@IeP!V0U}0cq7hnMG(fR)mh(QJOUuH;J0T%#}p%T<3>VxInga1fL z2RiWmA91_Kf1J7)5g1gEGX4XfDGcAI{U5PZ5N-}p-DM`QzW@J_>k-KA8ptWpz={KO z?G+;@cxVP>&p*)F)_>kHh>E>u@b%(gaMI^wIK1g8!}4{X8UFAZGOz(#-#1# z&|2%iL!fwu?D}N=1G?AnKLa~I55uqT9~n6KIDkF8ufQG*6S%j=#7IPX`}K!`myeI( z-KQ@MC(gfOc>YC#;V-`k0|Un!201}ckBFJ!@v~>(<)k1m1Y6Hr8R&2`HzfcdfCl@3 z(Q9ZS{cA8gl8qHK8Tg6eFAM0bT{ebuCmu3P?4HN);`IXtPje9lXA^FQ?{BU!{CxkE zfeCbDHxmy7Bd`$v^%Jy2?JKaM2uk3;8Aj0YjdTU9paYYbeuHoP23^bb{}-^k{^cL| zN+s{P_obDJ-}#z(_>a|H%y=yH-&bW;k`}8N;b7%na{-$b%2>7v=lR zpvcX^@bmXyhR>fr55;5wy7)DEusaeU0DEVzf-nq4;ZvJfjipj5A_z`CgNq{QrjP2T z;Gm$RE-r3vE-pg-0cj)DiZ>Bwe+IGOd50Xndy|}#gpK|j_mak+#uk-C$ISbPH=T?y zTMSSuo9NaZ6ilCp#(>}sm{p?lkt3r})lebKOhC--BaY>3hvu)hWvDjAOGpMSb^Inz zxirO)0ZTHiV}v~4q0^RVG%J`d12Q9t!=58+dGK71h%?Z;ZX_kWO}`I^F7sV)h;c*_ z=O_av@?@x2#6;4Dy3u{ILJCh7V5>;jEgCHcz5WWr@fF;uf~5o4BGl8#&U7zeexnT z3Wv0Sf$$n2P&ep8ar|(cZNXbX{`H-TcnkG|J=+{mMfYTtNa@s&)hf_K8`15En%JP< z$;a-Qm7Br-A|RzA5+!oBN#U4&G9yp_jDxqrF!W0=z%?|mad&k7Dr6*(vuuRk3F_{B zw8R;lGjO0r?C5AV2sFwXM&l*si+vpIubEHy(tpPqDD?}^fk+7bgrHMjF9Fy)dlZC$ zAPT=t+$8=X_=AO|mi~a&;`O|P;w`*@DFiJ%fR$jQU<{hL*(4g15p1ml18zO#^5*fF znJ-P2ZHyPs@aLYPD>$8O@@mt`49oQbgKiD|b{5`Y3tSw!T9+{0gd-rl8&R;ya7P+4 zj|!A1hkpkBC4rWlz`C5PU}_>FlF}rFYc$rV-WBAo0=IZukj@36<;Q|9 z2#A}GYe*OPjzYDJFbLi}&6LbQC$YvVEr0hZ0DI@R(l880@so8WDK%?1MAQpq2m`&+H}H+U z@)d-EcMilC5d1&gnr`iydeS<3B?!B*V6RF7Z9={rzEgf*+BQ$^emisd*9PTva%kN{ zGPSsw+);p2oScRjjrvgRE2nf)%EFUAq*4eYji9d?{2eT3-1oCx?kUaZWK~sO6X&Al zZz2A*dxOg_BY52&1O>XV35rHU2`p9S&I+64j_(y{-)vvl(Eweu+SlrC2TBu{GGCOWVi& zqs91Yf;ig4$07qY7k=P1lvc1oRK(IB@DKbs|G*#d?8%#`2Ty`1Dqd;@ zO>L4*vWaigsJC7OX&2^}gpk?1nYa69XW0PS)DiGzvEIt7cCgPb&T;#Ak6};YXkVgB z7Ug;c#OeX$xC32;i2M=EM#3MJfHCP203_t*6EfeyyV=Ftw25eH&v7Im5E!y7w5nE! zmRPDi#2@wD9Q(H=C~fNx2*!@pXgg#qhTm2bpi}6yfX+zyb$UKD9IZZ)k^k33K5*g@{{#lEem7>K@bFTEUQjXyl57-+FaC|z!)oTjRiQyU_W!{_xnK_xb zj2SdKwp+{?>LtP9dW@ZZipyt#>pN!RMpc!iK@e2y(7$J(FXT9>S@=?oF9E2#ewT)U zF#4{!ByG>sB)AC04hEfE{J&kgx>`X*r!FEm6e3csVogJHX>xvFPH^l{(DvZQBSY?c z_x*ft7pqd7*yjZQ_O##Cwm3MtA0bVja5ji>-tWQFQwlQ+GW;G|ZMQK*Lx7Nzp_K0# zYm>k^>f`ZM;^H#J)$KDrGYvN&k56^MLs`tYT(jZwaLA7RD6?k&)sjJsQajKDro!iG zxCoM>8K%=*734j$YVH0PbbAle#k}Fqt8zkXe*h;uM5h&7)@>GrjRV>g_KO@#J%j8N zkf9a2Z3cK6fHXg1w!b_k3}ls|r`d+AYFKXxH|A zFXvF=11F~m#xDXl4{sEqd2lKQSF!dxUajbAvwH8WY0o=Q1(Yf=o-A;EH^HhjNRnej zQDps;?JX7#@lT?!o33vGsJoVyhJi3R$>z~D4?|+nQ1IYMy!tzO?~k=dJ&B-{s^CEo z2|l2}7r6TdtT-f~U85J*lTY<6b$V`pMuob}#;^pei$5NJ*+iKo>AN=fQ#c7)?N zY=FDU6teOYPF%ng5!g%_3R0hRAjG&X00rnyb` z+Bkd?11wRIqGS`WNESK;hVAKC-o4=W$3-|ff#nyp z+)o-p<)lt+Cc$`y(jYLWu|g3*ZHQ2Q}wk42d-9Uh3p87i4atT^}57a zQN)%{A6n zr-XmVA+rtcSFf0brNyz5a_E$JHb?#7EQ;T8M~2 zgsud)F5I^tAoy!8Ts<=a)7f?;gOTARJqTN?=AeBH%JY#t>l^qLi9IzYoPAFfW#I;l?;T ze!{Y~hW*ASwyGWk8i;h@VH}5Kjd{%!%SRg`e>WBXv+XyIAGD#V1{8Uo$c2>fFoQUo zcsgUc5c&V%pOHZ)7J%gQ^O)8b{ z>Wv6nsE~Gk&67w_bQ?}$Tg7}w%~%Oc(vXEMa#bTz%{ER>uW(Rb$A%%(_ec2(hOc6N zq83DO>;&ZAmLQWNUtLI1Est^8d`EB3fvNiimcID0Brgvp#V?UN2s-3G=3uU9gm(!& zFG0<*(5O$+?EWB0y9Gyt(~8{>0oXf#mWF{aj6Y42wuvNIgJ_iuElNQ_KZb~%1izb~ zz{yQFaT6SBHb)&Q{%x%#T9YQZyZGK2Q5QiRwBSL8te1PA``w%Oo>w39*z-S#wE1fS zoyG7^eDrPy@Z2Kma}=PX2V`+dLQo+(E+Gp9SaeTE>MnF^9tZ6qws)?uy41wxdI`&Q z67#f(bQmaSI>T|))d&%#;4-*%qH)gf|F`h_!?qLfQBU=XEXz7{bAsL<5eEYlj2O(C zLc24K-Mvekc7|$(yTLPbB5U@^KgUqSZ4#lLUpTNQ8(8sXP_XW3L(MN5spPuIzf&$) zlBngwH82)}Cn12>zgkZk2{HqbenfMTCdzXqR>2BIK(lD$cGla0G?!mNI0loX+$%kvvNcb>2~UqpF| zABRsi%yd?!VatENLf~NJwGmF2aqJecv)@E{!NU5QgXL-qe(MT@4%6sVfQ+sX#u3@x zI1!-<3C!s@{%LKuN5l0PZc@LU7hl#d?vuhLEyB9b-y=PFgpk>Jh znF?hJHtnH96*MS2i=6F188dV=3kN5C?A2Ykk11)Z!@z6O){4-jGr)2eU2xGGNxzlt zq@XY%SdPfTRjGuROcnK`2JVF6^Bp0dHw@ZdMfmENP|?Xww8V2{<;>j1gDz&B3i@=* zcF#}h86WA1lJoln=Hbvwz+R^4Jak7%09vWlu(7q70KD9P{sFU1-!Hl2EK^ZBzuk9V z1z_)5RvHGP=$WK>S%WpU*aX}P{)KCQ!HrA5#UJnw+z74}LD%A{;zIBN;v$u5tENel zNha}5rfwAxL5df$$|huH&b^1Z_ngLzoWT>Qk?@1BdE0LULl{0G&r@{04i<io!uJ*{tC9Yd<4xi@Q}kOZ5S?tX`2wV;nO&-D`(l3CnZPo zJW(of|MBe*BM(~Bh3V42)gmOaHH@3MeQ?q12^^jeaC#9z_T5-aU9$1aLMo>Rjg+u; z5n_^3vV0_vvZS>+o_U46qdxrQ0-GCMl(bGkH9z%;)TSmk;zIzi23<~7EjOF6omE_3 zzheLR4hgO4{V>K`RKjVDp_MvxX8nLERm$Xm09x2NSeAhCmeS3pw=cz*fLF@bDs7U_ zlKx~gK;ek`dzj^+%!oT=8Z=${Os=8To~tiK|Cms}%z5kd^k-r3z6-$K^}93-MBy)2 z?^4s4C{iR)aCUR?PjGPaFY>=|7Ibmx<{%>O6~)n^Lq#H3(Y7Z3NP3rx?={6$L=Y(k zZn*8>^1l1NyZ62~H$!pA`O%z$cUXnQ?+OtCIbkk=>%dnO3T*nI`2mV#u_7kymJXBmvOllD;_cLuMs2~$y(g2Tl>jsE^uYe>9h z8o615^;QuN1x`AB9GzX_s>>pt!XOA?69Y{w+bsp=Wdx^@(mX@<%*ORx%3q-L4OGaF zXCYpm#@K6*i1jXFdvgO;C$!)B)QPXCn(s~rSBeT*BS!1t;@slk^d9j*u>8Vx?-B3o z?7cjsxuLzU|A3J)K-2mNq{no?D5c?x0R7t@0WFh-S7P-H&R=JX6zr=_2a;rOY`cI# zoFW-nc*_x1TG1z4XBWFaa=pQz%)ZWdv-0nL2*BR?t27LSQT#OjP1{J+S_}$O5F8xD zH_%sb_c?q7r#^s-;37iN&866(;36nGxJW^Xwh=9uDz!~=WBl%og$}wnC=`dgUP$hD ze>wM(^BrZx_F{#`294d{gfxrkU^|wFNyl52l!T%rJZ1$6?{%!{0uXK1LG?I9tsbGg zwT6OvhGIAc$#)R4TS!(y8*?1&#YYq;BBi1qbj2Lp0jHTdskpBUD`{)e)cBD61AOpK zK4B$Vm*#xLat^Mmp?cEBQN4wWrwAQ>4It-vx)=c{0*nmgSca)e2>P0EeR4HzsFU1> zi22z$EU!8!tt`MW7I9wlaJaXF@^%9r>9);v8(9;g>s>~~1;{C&lhn+@G7{W}H|!r= zp>o=SWKZM$`4vr%)VorGX$D|n?+0)mT6Yons}i7fsw4XJkYI>48?F0G@B}egXDOih z-HZ6K;rn{A3KQr?J$eLHK)-R_#Le9!vepu2oMH;`A@wX$h5ioI12{KEsggeg;O^>q zoCbpE^Jj>Cc0yt+xw}Y+4?zPuL4!b0P(VQoe+-F+mVW?<0wEz?0R`xEi9jF<5CU?# zufpqGvT^L}GGia<(t>pR18iw_=k43k%zO3;%ud$rkjG5g{Wn3J<3Rqv1UUh62!ojx zJ!SPe0d|q1*!S^ncLR@}zQ?sIF7BP3!pjbks$HDwSkOn5)zX9_mTWjKv9|^HTU;|r z&XLS4G<;%M>{%!YP(l}C9AR(h!*A`O)%}iI8kd6+%X9g!aR2g^+j(V7o7<&nEz4G# zt_{0xU^Ww&O*3L;{&BDG5{TsgD2;*`C=XyL%Y;?F3PQ?ix_m|%YHFvdg>v66cd0ON zuu}o6u(4jT!TK4p6yaz5B=h9SDq+QQ^F2m(ay7~R!QIfT({o@{c)M-)Oy-}lNm>b$Bq&y^}K z78aGV4r0`;A&N*s1}0v9R@f#OeDH7sx3Axz$O|G64!jkw+VlSh&Oc8gIP>}=0C#88 z8Z{8c@qaeSPO@*Ub&FtGFTML#y?O8?3M+zM1iy^^Dnk7N-bC+Guu550!39wiy0%){ zylf`fN&G*PrFao9iqISq5|T+~!u;l$XbRT!H&a@JkudYqdgQ^iQ%2=(D4^qX>)`GNtUPV1OhM5dV~DVqLH$@qDm}O4eefw zuxME9x zFX(dBBdprikNF^K>90>=R^}#A0KDv+L-3PdM^%7y{65#t* z0k?K;aFUr?om;~x@1ZlO+e6`HHR!g{f;}+JI&%?$v=_uQ7 z@@|z<{{zyK1)M*hMv(m!fV(SbZ6XMxZ+9o@ZW}ZWrU4;tq2O9{WJ9^ z3F1}3LqXKmgGepGLT#%?X(JZexGw2VX5)Kf1rO4Th|oRm!p!V2^S<}Z_kHtDDnRRz zN`fM}QVOs9%Z@UYYx~Q}oll|C1xP6Ru!mZ}b!_h$yjmj5+X7o3GBg@}w&pOB*HHx7UmtUX%0?hyhDz6p z@l*N4ayQdBM8lG2SI4^H`b2|cbuV%Hog^~y_Y#MLoGvy2hwSkbDX|@keKnfcVtK?M zAmZlf0sFB8kZI58qVE2H!wHXLaTKX=ck*f68KDP{4~{SRRX>BfwhR^{2gHQk4nw^RUs#pb^)`% zQ11oc&1Mt#78kKFKacxQR`BBaGjums(Uo??9~JI$XjzQLIu{>$C$EwiJbe5Gx36Ep z>}3vX|D7-O52gJjh4@~Iz=-WvQ86@R1XHDO3S2{iwt~lna;Tl;(;Sjy0wp(zEPsU^ zw!i#lpN62owV66<70ybOAsVluoDF@yaohgJOLJX6!WQ}auDatmMgp_5hWf_vCvW&z?F_swHc<1-+ zeg3}Bx%b?A?s?8R&pDrSCojl6!t-1@r}9dOgl z4Y|21sIXnbU?Ch7yN?t^XqAsyhBCi>{TWS7IW zPf)*TzXZ}r&pC9aU?6Axjh>1+){SN(>ND+XCEl4bUXO@8@%K-}+MwTaX(tpbyl+H>Wz3%Y}$^K%d0 ztQRR~IyDh~Kh1jnYb{aWa(}4MpRD8!1A5=Gb$9Q#v8J%nF=d`KJJ8nY5xG-01grS< z9)<~WitBeiUHP#a!FXSD(CVkTYFv33@=zn@wy-<*8B`yIp+t?~n-*~Mhp;9`|g$H+XCjV({ijFannM*{y{&*8SH+f2z zo)*bQ9=F)o{8qQ-r=%?8F@FZ)6w@$KH&UP4ykzraveehmL)+On#zUMS-(^2H@oNQV zkyY?R_u+_UK?z((E4ZTmb9-#qBhI~c9)~J{#6^iV(KD;*BeMblBZw_?zJfw2wg)Zi zy}$y`c(qe8j8}YpBfF|9nn4!B_3%X09I+vtqDe^Oovus_%&q* zr>A8So~Pm?EV_4Z1G|b7_h$@Yy}Xr@Gshd1CINS(`EP6F-=1o)j;Oh0$)8njxRc~^ z{|_rp)*U%#2B4#;>fU}|RJHOJ8mo3TVY~C?h)uvYsrh&j8g%^O{52!X&&;o7?JXWm zx;^twuhA?aKC+c)8o+Xv0|J3uIpgw!P<4lw9pt_}Xu5tN6xYAf zQr8@iHsYfBCc5G>N7ap$`2M!~CgR0tUGtR&z7<8jDxCr$_+4(7rj| z_YGM&r+@ZY2kX=sUt6kVt{!!R=!WYgE?scQDuc01NeV+fADA(?8Yp^xonICWntg!l zlNXf?d3xztZKIyy$9&M1sAu2i^ksK{Iko2 z1+xK-j`EixU#%~8edM|G_o33nooo43t|gJ|7oU8p)LDu8o^vTBpX<7A0UvYrvAHGh zwCM#YVr$~yea3S5yl1kV^l7t%LiHDxRgo3kY^)=$u*CJ(-9vl>(n2{hgBRPPWLFw5 zslNV_qu@E;pi+F3j@%nx_q`<+$v!vxc7sCR6uMPwKv?dB6rM9MefT;i{OyWO^)F@} zU81QoRa6-mm<~~XS#h($GNmlB!*u8Ip;Se$!qfiz%cMPKQ*is&v-PcCy1xc9?QQV6 zWH}O{H_G#U$rqT>wdecz5Ah;zN?QiBb)Vca>t9ca{X1nATK~l~d&7gGpYeUn5#I5FO&*;?yOE)cjCg|WR7P8_QR^B?!v5sCZ z9bu=HD@FNwEV~RA+B&-DN!?fWYTFcFypU*VSfDfyw%D-&LdXyvnG zj_Ac*H?}ve3a{6pzR#G>KKrw%b?L`SSRPr;o@4xc=K0sN4fpO$hC%vlQO||)SnoT- zTx7>{;V#~VL6fpB1s7KzgTkkRxn)ZS)9sMq;!>Xz5(-&!nY-+2iv&ISum9#bg%@Q{ z)m04bZri1tW7P{;`75?~wV#rqT3CA)F}x`&7JT~#LQ=8rd4)BD*z=D+d8(K@hwIIhS3iB<^i2ezeU0|Bq3b~8q>?fg{IM0V znBrz@vQBw2Aib=AE(v*H|2Ofq_hIR|cibRHkPoixaU{Q12F z-+SprBLhor(%4DOLv&wKUWSEmy;4$@bc22J>~2VV_k$tdb;$y-Ia+yzlUj9ObQ`Gcga9qMhX0K`J=IgireL7)9VYu z$zM!4>ib?~@_0rmMBlMl?H)7XsI@)6k%l7I12(IR%N=c?j^VilPZRA?0V~2;U$#bWdjFNf z{#9&^e_{qxSiZ*Ee8WORW^cVrvVXAqi-D=#pM$dR^9#0ZGJ7}!cDtrW^IH3UXKNoF zG#cy{1PwiwNXD{uUyimdz%p`67G~-CG^#!Z%&K2+R9X_+FGO=k7|$ zzt(lMg{o!LmytZc%kHJ7m*^* zx_&ClA;iPeDD{FZ_fsiM%O49f>K6^$PvPdhPcGc-x&6t-twDTdQ|b34^D&b`&&BAR zL~w;Ri{YA|wOsly^MPR%`PrH%u{z&#HxA>j#aaW^dDze}fKwFMQCB-Ry4xx41T$+c zE5-qtGH1gje+xn8Yo9!ItvD@=NM}<62=_ycI%V?*RPMU0vE&ppozSlqWrt8BRT1c7gdSAycO9G-^@vSL{S;=_lbb$3 zBxfcUF0a42&Ple}^QX5otXEL|-Ld=C4SE3zJexF6-|Lh|sYQZD9`28CU5J}PiH-^4R`gJL%< z=&?)yb;qDx)wRc=17VC*q$w~piEwQ*T=J?87N|_?)lKS6k&kyV7RCqOp=$GqkU3&o zpiLE!WrqjFVGqs?j31q#bZ2PBlk^C{`!{cT;a}ge!R$3c;Q}f*M{PQOAqmS*ieM4S zP4J|jS}+erZTR_VaU_0oOD%%-i9q?KDM)z#O%EEbqUSk{UpYgl5*&iE=Dmh`8b(7m zSy-SObB{c7R3GUOX0})0k&!3El-2DJoV8LC^khD|k8~0B5at&wxC>twTc-*(6_F;)mCFI3w2(gv>_Hj3&T#?7F>( zeEq$V))1PSAzQq6z&iSODPvuebK6@H=w1avT?>PKubyJ9NKBSdsvTfMrDj4J;p$hS z?G&Hpu@P#j7JjO-n8tPcnKW-u$rBg-gzonL_{>&aYUb+CFNLcWJTFetOFu7{oYUm? zCecMga(npU8j!|C=snd>vtqwr<`lnUZ{zuvvdJaH@hXZ(EAdyx6-?ppJCjNtx6k|9 z7oK+T5)lp4ti2!X(co>)HKshGA}Lh75i7d!c|Kw9&0mTpA^akjMo1@rt6yF6#69sz zhbbgd^~s+d0ghBFd^(c*f%1+Jx74bHn!G##8fN!XD zPD=3N(`W}zq6>Hjyu3gU{Ixp?;Et0=F->nfEtS9be!1!*NhR~6r!mRVaX*+s6F}%; zRkhFFI0Mun`~=H^myEE37*aL`!D>vJ1nk>U*g4e**HGrB`-98=P^sz;I!F&qE#M+6 zGT;MvIihb0dJ-8Gt@Mm~%o~qlRA9n)b9+#CHct`6n>V0Qt^2Ur`IBM%=728ljodu4 zQvME7rdLiaerpTk9}m}`6{;D6{P8$q5^{8P3kYcN!Ur{Zg&rNL5lRS$@aDVMJ_RgN zxpC5|A3$G#ghG-gwk1su>)Zs!KCe>5M%Qv<8xj>lrMb}3?3FJ#@8sUUcQ2+sCkNI- zuUvzqg#+Uc77Zdme69Tm03gVOpS;khBCW3vU?8G_?7%6^G*^5!s9t=qEmwjK5s7%@ z$-EitMLpWlHul@($N8CwsWD%O$?I*0au!9oQ9o4*m4QM77@l-lm5XzPG64? z;CZKkk;HIO^~!-`)}b`#NQ7Dd@ZG?WQioxq-9icDgS*6gaxM=T9Y9Led^iU5^WASN z(4p61P|d;)k5HDcGyR>t0i-S!-0ihGWQ1$B2c^l*W8vZPv*-eF&{H^C6hXErnTJ;U z=0lT|@)rnU3>f~;DpqH4?>2JblVYJm#10A)TUoAWJXJmem6D3+6f;2k<~?!U36NXD zdxHv+S-+lUxW&Qr)sNNjzLYe9zy(_zTv&JSryTC7KyICJb@4nBpS})izIQzrPHold zZDH}vsWK{|?$!S10<>U0?LVRkVCCjNzmD`$urb9ey_W(tJ@oftt8tBv%z z-loVxm;ubiV;~{m2UPz%6mOhzdD6ub+Ws@r_MUZTj2&0I)r5gOhO}Mb4L#=7g^xJ3 zbE?N@le*tugoC+ZYP&)sv`PmM-WU7>*4LJ-Ff@M z86Nq_%Z0hg)!k)@sW~S4*++VeKAHx2Gl3GsZvofXO^Xkg;3=Yyh7k`3S#ZaiG*$W6 zw^b*aFL_Wl8$772P(^`0|IS+sa^(+%{mi6sdKmui&MtnOI!CJpKU7?Dhnao3z-$f< z12dv&UA_areFMX)^QdePCPjo;?I=$wlsmDi|J`;e1zvAb?_YOH2iT-C~WKF zN0@z35L`j=7wnAl2YS2vzaco~!wuxM)fu(+hXFB$X(yUm?#Bna1<_bDSVV{Ml zdDTUh$IaU{jnC7)CE$>eu$KD0vsMW&bIdYS-GR!@V7aD6W1L?wLZ)TAYu*3LNtk)w z0gsGe^rX`Jaw4e#rHZLh$e@w%PQ1rYVTgXP07Tjt4zaa`Lx}ZXqG(8Dd*oj%X=Zy0 z8aFcQ+H$f;|7fX1!Fy!*;5vsdk)f^E)FKW)4RjKEfivU%D5}>gw}TOw&2hltKIN_z zIg#J=8aw+O>%QRkZZ8iHuLXvJJ4_c;k{0X$ut)$~u$K!s8k{4LgNfCvymEB7=TBLU zkm&5|gZNtz0BBEEG>c?BZV>ytVMqV5c$1%S)Be&JS_t*OcK5nb&mb`p98n=}1xKc3 zxRf6A@z~T)ewCtX37o@PFMz2$XASX4$!FL4jZ|XOjJT0zDW8smz3JBA%l3l(cH^J%4y#Q$j=+~TRwH`50iH?eHgh%| zJo*;ieGb@05?Iq>0aW{&xFSXBWLCM z&3=cx3u-=_6k2K2V`3VnQJ>wRc`ov#`^+}?PrHFjoj1jFPGxCmjObZ4{m9I_t2|I^ zKleomtePhWuPSs$yuPQxZ&1#&yq6yI1!Fhsd}>mP7{zB>^y|@p!7B79qPffBJ^O?1V777zXk$ulW=d{eDa^8*MA#=eR z-4HnQv&+29;Fk_$ZI9v+ z=|_H#V0h<6O<3c{XHgL6|&tzJt|8vbr<|b;>bI+{2eO^npe)x zlo8Ghx`9{Ws@l>)Z(HP#UyVD_2 z_fm*JPjAi5Tc@$=Qlx1lQvZ zjRcJ~ddJZ6&`q23;k-Q=x60$`AzQ$EdO2lr_PLlkiC;dURSUgO7ESO{mY-$(+5)|^ zl*M|g^n+?8vn_YO?SClPH@!5C@3%;n&RHiopGtjFb@BV`_r=xvWGxH&KXWR}%e?a8 zm&W3y=J;~M*Y&)MJ1r@H@?s1^$65(-ru%>kc9U+?gm@^~3_O>wX3tN0I(c!UgY?GP z_(yqiD;ikSXem|@Bz~5wLEt+arV79&lb=Ub> zb@t^+fya`i=qq-9Q#>JA7Sn%HYa28BnYw~{O0U#KPCR-7YR<@=Y--9?dww;yHD+RZ zk%g{#MA=MsU#aR<2K9+aIZWc6($Bin`XyM>U#k~ZIG=1#1yE&->YD(2tx+a7{~#8m zEfP27f6KU8Pz`A~8sP%=m!s_->*5h^j9zEYQbdCz7dIN3`8QpH-;|_iJ*{YDU)+WQ8Tb>v0q?(>O1f=`QhF84JsI-ZR-gE`vv0+ zI>Zq8fObab*q$BE=@*P|rlVL8M~B0lO4Y6KYu8a;4TvKWt&ftiFA5g^eAUH}_MCK* zIuHG=Hx3;#GKGE{iSQ&lhCLzu!m2=LW^$p$O{CvTLlP=-oVNto9P|G2Pa9+Q1L++{ zc>ri*82Z^n%vinhB9Pu-d_+vsRf4sfQbE+O;{kpGM41i9_Wh zN>=I?J|$9D?w*%C^?B`wEB_I4pE>6c(sfQ&??S}w#wR|$k>XVC2`-Ba%6y-J{XU1X zz>S2JKh%6>xQg`Tb5L@Y<>9OI+J7WV@+dd14Babe+>h5$a9DerDCcqN{rOXUO0N-e z*r%_mGrV`Tpr$cz=Q2rC=~gSTdv^u<1J`LU)@^LdJsS?>o=clScKko8y;WCTl){+C zX$>$HYgh!MZnC;zz50p_qDJudSFCVYCQjA%$m2ZH_R8pjz)I@IJUk~C25;HlhtZG? zY7t?3vC-I!=cK98I%vpUXQ1F>@owd7b!lu%CJbyKPVRXZ1r_lfTF6?PHz?LUh(sKD z9}_4?lf1ZDy&tbEX9>BDmrY_R)?SoT<{U_e=x%T~T%GMV-+AIA>h8?AmB>vp~RBD4z59!M(5RfZYZkBOw+s<_!*jCzktED_B+6A)7EsC z=osRBmGNsZb)!ffA3QP|u&2*U=vpg+Pp<2a2K*rTL%hy#LwNPsak*;Ch|0A}tfGKT z7qnJ_W|Z>dvC|>LmN44vt2~S`w9^euIto;mA7BCi)g4iGOh-)oH;c1Q`My70$pvN) z#7FmK7&0|S9Wvdj`^cJF=Od%=TdG4v@6%izwm~@S)FQP?e599+gPo>~hA^5=~4tw_cjFEvo#FlJpuKym$Y5N=E~+8+3itFj;nXxj1e5@F7jX%qt> zC$;()MIq>xx7yLcenB*NTJ?DMhhht5=_kn@b9dK^y0gxX4>*Eku6QggFMwEqY$n8- z@y_lOUNtaSGaCR_(MA94jly-DpneP|E%f?$r#iWiSM!JHN{9s~KHq^jI@*Fvq1-tt zvWqf$+9?8G;63ne#I#Eu1uC9ZE_-fO$?%`?{t`qz+TV_{$rf*h111+A^G`-$T#p!o zigm%{hTqPeF$cV0Ib9|&C*8qL6+h|H^f_`p0?wIscR}-}4?j`-U5RoyRRp~m(GKk}jQgY}xvSRgIE=69 zEUVHq1(v9KsxwzI{bNIP!5bsemN|$b#RBM840;)mhj;~Cybdi}%exKwH%6c6hVd2L zgRv*tA}#?c5rxb>me8^cj5^)qri<%mP7EuV1yy}ch_B3r8BAmp?1iSOO_%|b>6#ds z3;{avHjAkTrZ(%CcG-Z7K{LFGW^CR%Kny_0&yW+!1zI$fu!6Xaj4i+zu`tY;yNt5| zptg?tLHW5O^m0a1HgYuMIO-<5a;4c+O>#^Z!!2XF2g$HNZfFI9{#yYjheVvcO=>L_ z#t3FXDXO(ahq4mLFKWOX|1ltT6O|6U_ra_iZIcAj0TbKJ#larIePoeAiGQNWX$5dx z1?oILo#h%tcIP7swBwqy%-EI+4OG;0vjf4^@Smu&lsJo?Sd-U!;Xba>jsma*6prFJ4?j literal 0 HcmV?d00001 diff --git a/res/hirsch.png b/res/hirsch.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b8dbdf2675ad367bd0a2f33a33023ec3e0eacd GIT binary patch literal 142903 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�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

hr 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

lv*E+@rFPO&C)_k7(gc@q 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

4qzHn?qg}4mYxXEOZ1W?5M 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 literal 0 HcmV?d00001 diff --git a/res/mickey.png b/res/mickey.png new file mode 100644 index 0000000000000000000000000000000000000000..e278799dfa94411bf2600cb9e56c177443ea1530 GIT binary patch literal 58807 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 literal 0 HcmV?d00001 diff --git a/res/pinguin.png b/res/pinguin.png new file mode 100644 index 0000000000000000000000000000000000000000..f8083b6395a140563962a1c043d98076fede9fd6 GIT binary patch literal 53787 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 literal 0 HcmV?d00001 diff --git a/res/popey.png b/res/popey.png new file mode 100644 index 0000000000000000000000000000000000000000..9b986af5b1509238accd6a749cbc3f46c69a5b98 GIT binary patch literal 39428 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 literal 0 HcmV?d00001 diff --git a/res/snoopy.png b/res/snoopy.png new file mode 100644 index 0000000000000000000000000000000000000000..38f8fac0c19013cc029f98e4581bb69a88c91c90 GIT binary patch literal 46143 zcmXV0by$?$(|(p^m+tPCknR!|P(m6drMo+%mquDa1qqi%1Oy4`2I-cRkX#z1`&-}N z_s3p)?Q{0bGiT;LGjr}aZ?rU&@UW?|0RX^LQGTie03iE+A519fNx+81FVq*7yRxAd z0N{}P`+$H?S(K=U=yr1IasW`36m+AViu%oHrL3cln!*ME@CX37dO&?|1Aq@d0PL6p zfMhxVP`JG_>rn)N>ROejaxY)cTi!lA$aZm1LLvzJKvf)RE=HjM7-N6|l5egBf&-RRc;VVGJ4R6V1gs2)2d;}qXNZ*uGjIYH&naU0U~`&bmk`2b z^i{qww0jXkS?a`2Z5SUw2usN4L2ARm?O-0b+$?1*S#DHS2mkT1p*;xS(cdh3wK{)X z2D=0gK(nub(?inGcnUfxqsf%)4UBukm0tbMhdZN$w57$NXzCho9V=<^8vE&Iw9 z2*Tp+8Y~F?dBoB3xH%Q18-N4UJP0L_3?lX=Ml7 zU{HjIB|GCeV5tx7vtHsrJOS{c_JGx3SP)@sTQant13<0#KUpPFdw4z2{0@PY6}}q8 z5?;3x{PNyDCBgWAqWZu?W8|KgHCp6!c< zKqdSd&{Yn5rYG2nAY6D|-e@@aw5C#ol|9=3-c1ke|Bi>Oszs06c;v&y0Y`OBYdH5J zN>j}LiSP#Or6n-pl-O?-K@uy}gckxZz3^LVyrd3-|M}|{@ILS$s`(`yaL~hnfWF4# zDUnlP%wHJ75cuC3j?e<_JNCq=N%P@~fcMB58no}|XZH9CWe~s!SHwYfV8HAwYJ?Ih zdMP2ND32!VLHi&m$ff+xnHU6>VdO)i`Eml-P|Vw?x)M3a8Ip<-1@Zq(a0GZ8Xyepu zNMkE@m;-GHh!05@lDGu~0YJh=Falb@1oEp7kf^jLO$hHW(i#n~D=|xeV%&jXKqC3r zDF$MpR8E0P`=9t|Odwlx5wDvLH{VWolI%bE>axK6wtfd-m?6+;>`IFJ43Jd+_73E! zJjsCo|F^zRGQgD4fhA>2t~Dtx0U-HN@}tFRkmINSIoAOPrn>P+D1kSF2GT_WH=5|d z&0m`o1_PjOVQO??5W;0H9)7uQ|3?}-+JE#&6l{%5@)s5_`Omlz^S(aj1)EL6l%Wke0UMP7W%5m*oTvU(-o=5qRuG;sT7l23#tF7nJ2I_AEsw( zjAl85GB+gOACyHQtr!vE`471Yv}r%6H-%uL*$Ls={McF`WKc3%^f<{$AM`)rkJ<{g z@Vd8@aJEpR?r38{LwM2Si{GvPt;-1cT1ff5V1=ZC}&QY!i}zeE2I6OZuV zAIQ|fmiPY~wgw~zgwsIZSFK11L8w1?$3}<)Tqz&rkN?vfT2Oms1rK2k#SRVx^(;oW2X6k)jMaZ$oe%FN*nz)3{NLnXAmr`Ic;OfHe>2I) zWs21=;8CNc|z)0K!wCd3|$!YEsPqwz@ESr2s4m0#S!1(HF_0@YW7!bs;Ic zkS+@D|FdX{2me?~FS0ikWiluMVDe2@Vgd|8p*#Roj@G@9d;0IC=I&u4xG9CNS$r>; zP&%)pQG2J{D>8nd9LC5uC&e`a8ubQ0TSP9+qY=Vbd~hYvV+j(-NB#}HiJtoNc770o ziFj)Oi>S+}u%*n#rA0|B0kr<$HsYFh50ik<%@5~w0ce;(5X= zS}{4<9LtqCeds%@w=qXcgtm0PRI%$mH@p^7(ok;=yYBwE)>-*W(r>%%72tco1_3Z} z^O4=x+{2RGlcB%L-5jwCo2@+MC+H2?n>GxqLOnyo=Q~J4%yHuoDyFPGh6bQl($%s= z$`0Vu^^RYSkH87&%>kEvWQU*PJq$RnpoEwcLYKH>Q&aDsnoY5vsf4GR zxgUc^_6sq4s`AemU+{Ope|n%BXCruWL>ljQ`+My?i+JP&vvr-F)MG#H%u2*8NqLSa zbH3qOZHWgn^fJJ z-aki&K8u06q8P;1mzrv(N!N7Z5(HQy5wIB}G8fmruhbb{T(gm05_T$_Z@e@t6C~lk zDf0~`HD5XT4F3)c1*;>QIjfQjvoJQMQrm465Ruu->PKZ3d{6?$v>*W9<_(_KavW$(J z8=WX-OgkR0qtoX$r@=`%y&qeWJ0uq1w}!ONR$$tXoP7S?_NQ54DcIx{kcuZo0FUSD zwS|$*7!{^5m)AP*aO2!=5H-VvBhA}=dQ|Bvd)gF(!2!A=vlmPItr-3SieSm-)T$B3 z##>ozh1Mck^EIc*qlaD(JGv*|&3}7Mp8WLayOSy}WJH;wq9LE36iwTEn#mvzr?S%L zr(r}vP4#zw*Y**zNFnQXULR9WInr)3FWQ5lML>Q1_O|QF&*#w;S*~Ztv}E|m%&-A#06HVr_8;vb(5M6T-Uc> zeH4*#<~MDBp&tq(M4&kvyqXhykU{i^oN-oDM91X{eAF>6|7DH4G%DeC-+Tcb=pz(R zq>$$)FQ1kqyPURzhCrf+EVeHZYZ0q!lwCEu)1P)*URkCj@oXle%a^e-QTmL`St@g8 z+~%I_20b?j!XTrWp-czgKQ|w(YyCK@_vw@qxUuz?7r<1|7DHm*UolCKWjE?k91qGF zcjB39BBQh_t@#b%_pZdvuD1($xL5qpjlQ8r&}e1^X#Exl4+FMDQc(^S5caLxkxwVu#J=JbkoQmz5!=X*#Cfw1y3zgv|E4|eKHw^3&X1x2n>hd(kxPH_m z&~HfQ<)jsEgwT8M@?Y>o;$u$YQ`P63X*%*FbNH0M1$AYdg73aEB-~`rj4&KwwvSN# z1~5CdY80v<`gI<{__UPa&uC!`n`}rZbtWaBQDV&Uq0^sX)fR_04>bD^9ym%%?r$4M zd_H53U}nsMm!x`Qr;VnJiut=T$RsONIiGQ|d5(DHh2O^VCS}qh5`Xy*c#-MHhp%!w z9?|7Iav-yr6~547?dz|0klcxNAQxN&T^zKGZsy&lyMca0Ox@8xis? z*+1!LO1t!XnEuh)iFPV$;JgUb{g5B)k)49-B7WY0(VU5B7DmW0@F|C^p)Sr1>6}vO%u_Ye(A^ zhjEUK0i^@jk9N~&rZZ@?9o<`F?DPss$f{q|cF4vijek~g{tk$^*_U-(QEq(HX?==F zTG{eVj=DeDyS&l|d`BoDFiOnuD^sJJn;6-~;)3B+Yi4jvxh^9{9;Tv-fT3vMfujfi z_C?3|7q>ZHo~IxxQ=VxEe~}Zx*YLEitZExu8mqF?$hZuXt1ufm_ zWkV??#6)c2<qd=g9zF}Z>#>S7r|?i{w@V}|L_?6tXe^XG<$*MSRd#f zjZM}AdFtz0vBxdCPtYp8l-LPTAbj>%mF7I9uCCC9Lm~|4yE8T+ZTe@>__wVS$;P}0 znIGbZuW?oll;rb@NW#tiA;^+LSzI(+mz7~G#5%8!g1sS)mGr6_vT~iicB-?OJY>bP zi$ch#f1f-z>8beb@u8U1T(gPbNX3G9r*p{eqeh+Vi1XF)*Toq43_6S9_dHd>Sa-Yox`|cXn-8Xt*E7hX1oc ziQK|jCpJFC)MlCP#p&+qqo6AzSYx{^F@AvebBD);-Y(74*L`%9-!Km}_Ybv*6|EXilK{n(3enfO!zt;Ld;aNg8lQ6DNiuTha z+UVSajo^17zZZe;+{*|FoS;fRQCis!JJ-Ur@@Z;7{X5oZY*oOp&5X<4f@AC7KsLIH z9f>VJi3lGa6T2!80UsCo3BU_Z^W>Ab{dKqe#S)7G5e;xcX_e^(O?54gI&8&cn&Cf> zAnpqZ7goEzLysW<%}Pa(02Yjx*Od}Ce9SI=aF#*h@o$#x$=yGnrL$%ZE?wt^6}Io1 z7468W628W=`ta&;T2q@0?v+VV^p_6N`XCHe>J>c3yA+bNMSV=4TEgq5YxU*$q~zU6 z(!M)DR=Rj+Ys41W^81%4USN=lE`XRukiBMH=++H7KI zIIl2HJRLEg#A>zpDKeqR%(P<+F`)AB`>BNX0XJ&vX(!B0ao$4Ry>wRm=S`xkdh{Pj zul+LDpBVF1i*0RE`fcM(K;VUECqM2}ZQ=I~m@^;9b;86-S~L%<`proyrtz7* zHIE?A&7n^Yg|hK!Rp^8#9j(!CMM{~}YoaPv6ZPTMbV09USHRs?2@Q1F+){^e(bmrT9nZko@o_-XcrN$eBh@3xr0+mmoWK?fJrSb zWwb|@8b?oLB|d!xU(4+7C;uMhDPM$)t|kWa#RX|C@aQux3o)tbq#DvzU$l;NkWm&E ze|hvHnBkTaz2?k90CE`?`O6L4e2@<+zvj{6)E$(HmCM7F;_UuZ0I0A^LqopO7V9-| zZ6+1EpweGmxz;i0^ZcaBiKB=hjh7gBJWBiZo>JqIJnh0S0J|(++Q=zSySVCrxQW z`Onv+m0^T`*PkAX-;UVW!P?wl4?mOPIWPQG9iZ!mvZl2re*w(+FK4Ua2xloi5&o~G z(4@Ot@Xn4YoQID>dDqy)NWg$n+TPUYxchvCX&r|@EcX;?jTcBSab#ptZ3^Ebk?dXa zsjrh)l(yZT(=$K+gKXa8(vWa#2&{D+YCfQj0|Ip8xiD2xbPZ3kmFm4Db5|Zlo#EOv2$M8ABI8KxvJ1l9@1RexvE>+Yr^M6=en9SzkCJ36^Sk_P2#7yle&8pK z8Ns0-c_tYoMag}}j4_`hHQY#1NU@jq18e)PdL{P{YH#?tqxJ^6_LN8gyi8l>W>$NiJBp0 za@4{?dO-)8FlSfJ=Bvki_<-KyGu)@uZ*_F}mp_P4udlFUS!+P`_a~@sX^46#*UHCH z^o_N35=W#O>%hw4+tV|a#ptcwKzf?SWfRn#Ci7g6id)stcQnPUal1oDAEVC~fL?fv+e^j*x7{@d^js zFu&XX98WV0;H6$!O+8DE7C^w9(8q3g87c(i+z%X@MjN;nCyFKwZEe6#cN=5ED&5tJ zU(@!tsCw58>W#ySBK-3+ysXNhBWzm#oOLqn8Y>pztq8L zAu{&HAk#zXw@ zD3@(+tu8n;LCP5dHs%~H??)!2$XlWnT94Jhr|uhysTJ5R>d9LN0^z6JvfI9} zJhDX{cwF@gIvm{*J-xVOrlmfI!lemp2+&@QWaYd&GguN8OcB8iIpEZxd?o?nz3HJO^6dd+DAfXKK}P>wof9^v!%4FixaJRXaUlvdsQXfPYNe=Xy)aIyOqQGyg(rk!SH7I+6a2sCf1_4Heq|}{I&{%9S=KU z^0{T3&*pkU`(X|*uQ8n8L@+9`naK|Ev2rGl@?;r;B$YCBmYp|Aoho_n7Z5{ciX?=$ z2q}XIqr+B)XV#tWzi9sA#O-F(<=bHcrGYz~vnDIj)wSLLhHABu(G4B!lx5HG?!Up27+*>$C8aJvV2X!&k7 zES+IsC=$`PjJOMB0(-yZu;KiK;PwZGTeaMk6YsbNQs*a_ag;}_c?JnhDvfST$c@(m zvQTB!Ph3J7zv@rl=z_k$x3{bw7YdW`lU3GJkEOEFc7JugV6!W+U1UG5OPQeqFDgaK zuryVxI92anpXe)}?e;^yzjN(Zq|@~*uf@}{Bz)!eNWe_q)Ho*fvvDlF;YGEn3{+>g zk>P9`V-DqNR~?kA`EmX7Mu<$mf1M@?=KmTi`kbvEhhn}tXzf-U4e`-S;obvGtBX~X zU8D^f0CZy=s#HX9+O?HhA+DvbGQ6DjO9WH*+qI}%f>rrezU?@WQrvTypL-AUwM)>0 zk&=E(sb~ye{N|MOEfM=U)ZHg;g-WWcID9dujidfMSqv>$h%jEnGb+Zdnj|#lSBSn$ z;xRsIhz;YIC#Tk*X3HMzBQCu4{Siih+6=n*6~lCFrW zU0P)LWC|AVmA@C#RGp7m;x&Kh5P9i3lkGq{)Rzq6hs_r8CKmti9;J6&dB9xhrD~N zqH>5{Q~6HTZfymfj{nS-<|;f*Teo^?@9hSW&8jW1dBk~wk$wZuE}tFgW7h=z3TV5* zjXmhNDrX2@wRQ0TDq8`Y;tu=qxG9Tw(^3INvhFt!&JwavXW9?ug@aDSsLk^nLSy=PBZYkbM)cy)wAQ zheCJ`oQgr#ig0NX5D>tfo14Rxk&!v#X|C*~tHC9B35&2_|C&8Uup3ibr_8DLrYEAX zP->{ck9pu*-&PiUlL^LSGd6&y6;EBqN<2jac5y`87mgIc$K>&$jc$Ku0Vfwk^*&&v zW7_!&G}embM!8sxr{2Fxbyw6m5Vd9eB8-5MBn1%>NJf!($`hLX5hT@1@}VK+hff!_ z&1^5ldgjY9H)$$0$gr{-UTS7i3ZD+#WC?I&im13j<7tW97muVnB`^wz3F^hbY{$2x zW#UZR^)Ug~*DsY_V_m$*yDda}pCcf?RGY8uhTwuM?X6X<)Prty-yL(G&kI;3l+3OefzGd$#W3n>dyM5`0L#4UElZ_%t34|0 zG^E8s{kXnEyC4a!aiceubPZ^Lzfv9>9cE_>e-vPBY~23J-$Kle<+C5I)C^i34w0Fh zM7q(3SzhaBpUcp$Nc6@#j7BTn6-?iRyJcRxYufewSZ^PZkdrkcs|h6Z)@0)53GXEF z&ZgXBhOVE+nKmQ?{24ikYH(mLTMipw#6*912wS4@qBMxC&`X=qfMg^!`bgMML>!wO z&zBU%6YG?jrd|kq$MaG&W4U68fL7YZg)!nYvxNQ{I}YSb6!M-K28+Pg$rx(BbeCzpoA3} z-o$LMH zEj@M9YQ=Duy1;IaL!_8XAaxtD$BQ1CzekHqwK+NS=qlPLIm*oq^z$Yw3i-<@04*)X zEbiN440$9$LaF{AB@z6DCPlBTzq)?hKgGg`N!KhikHQ^e-1cu+*MOB2|GfFQO5LyA zSfDB^<>UnubPvmr2m+sR+k`?Tbw7m@2~dZ~TK^Tc$0*X^v8&@(^)R=M97oiju{0mS^L~WBCV`#W%l!~a zpl5lm<3xRh@G*!6Z1BhWy%8#Mvo608S z?z1d=NpwEKdJ95M7Yo~~ezHY%a_voE5eL`UR6GH1kOPd_-#}7U;78B_TEw&vQjwI9 z1`3-Y>EL|^QQw0DWx5f+eV)-zz{!RRoKcaY1eo`Tl2;8?)q$HSPGGYZtp;8 zuZv^PP3GV16S*JRMV(Y>3h^Ys^S`3yxa%09jycnSbvYtTu}XCD-Z6YhEmsC=L<6V@ zLkr%c+JqZ;}<*JBm4Y)T$GF*x(W3IgP+iO5$hDK#9F(|$ipD7^pULf{sZP}_9pRTIH{ z_9NpBG_)tzoKwkZ0dQ$_?G!7+>}%^p+1sxUW8JxR3quWM^SVeE=S@Hru%f5&kDJ>>6{G^cMTK?VN zdHD{o92I^Ck%#pxI!qVR3@5#7I=|BRaxuC56hH7{wC0S{2sC7s@K_}~qO#mk4DYJe z>(^lMf8hg;I+z73+^<(X9A61Wg=vLj>cr(y$jLFyvOUTkE+Y$YmKAuNA&@-WI8cCT z(J_-z#-_OxO;~U+H0LUfGb~qunPxgF;T6im;rRI}{*UPZsjHRu9^pgHQCia-WJ z$b)U~z&OId6REQB2$#kerh!C&9bsG25k}*c(=7IX2Zx4mnM#~C#^4hMIre4G*&g6VJ zJ0n_S?RRKwZD2LHlDmO+DbgZu{NFyEJox^?E%B_k`Dfzn4+xo4F_7nL{{`&PiDZO= z6~B@-oT2R&br}gDqX?CGN}|w=c%h#z<)MfKG^1slPwjFCo%k0oddB#CqiX+}2RU2i zR+0;O{)uXh3gOT@FQDIvlum=H#`oDdv>SEwIS{g9l>Ua1F>?=ht^ze!nBIW|_J65` zaWQnjQaOMG9rL$xMYBvHZ->|>rB|kkCvt4uGiL&))!wztIka-I7Sc|vkDArx=gcHWx9-Yl2paB zHV{#FmvxW#N!TB2dVDHZ7(L*;!`gy85vT}_mPq5)P#^DZm^tCkQW5<@&z@vdotWDC zY4W2m(MRx<5};iTpGI44A77>P>y_s%c>6J+!-%f3liJ&HcCpE?L#zNUh@*xte2&|R zIFNQmgEl}CT`XiNI$c+QSNoi_;o za>n&Z8Op69!l`Or{Oa$=k`ch8-h>_eVPbfNqZ%>0iK7UV6xp(nF`^hvXD~k|xP!Zk zG2xGm;N$$KG2X;)jM3jPKbOa#Bjvk!z3|w~^&x-DIIG%wvSu^{^V*+iecI@OGe-7t zr@_wAlNYaZYe$~*sn%6{pO&X9L|QymkGRr#ezCt}AC}ELre{d4J33+zG?9I{n&J`q z%+(w#a_++20F3jN4OlT|$IYKeccLPCRelyJdC5+tol1pQ&yq=X753~!y^YKJ|LEfX zVs%J2#pMIWdXDCMEL?-CkE{KnE8~OAyN~9Oyy1#Z9#|InA}J0X0)P@4~KDp&z5!toyr%p=pGYGVHJ~UkGh#h#9;fE zSvWO-^?TQu%tKe1XmSPcDxg%RwjU6c61!J{fB%HC*1h?qirQ`~=%_9Wnz)=R0(oyXRELM1{&_4+gwxR2U8=!3aP0AkDppw3c7O5+Gkokp#S}C+}tIm zsXF%MHICA0GVSoUq8YEkc$)UPD1wB-tX5;E{V}NhA+f$K4@?dx3g8c0@n@FXAj8|d zl{jUoR+f6)Y&pYsv3;2XLViXmtBT#thzng=>UTPGJm?-acD=-YAbjpe$MLe`8KgX# z@?=C7^R!j)B52bXRY;*Yu}Pn3cQH<6A8&M-6Q@v`e1$+z1108<$^~np_>QmC z)J`FBVxBzu9b82H`8&Yw%cAjiewj9rsVnXcX-*3h6(j%1ukqC3lw{#o?${K&L8rZE z#vN}p9s>D=2%$LuX(FJ z(FC-(*=ZM;p?Nh|f66miQ=4Qz5`Ti7YwA%tLF8x^aOgw?4Sk-$@hq(nErjgc>9-?~ z=ZWa0^jRy|{EwDb#Xh0BfC6FlJW}~`f!)>#Qv>!aY)IY z4?5m-I@g026rTdXHI3S~RAtv2Z=L7c@jN%r!w7J+Pkkcs75KLRzNLU9oMl2@+Emt* za!l%_(`TWNUPU4r;#ieD4N4M2D;I=p&sJ1V9J!l1o)5iEEA?&BI@UV({k7(RfvPGN z1@KXHui~FXD^DC=iVgQ8-R4sH%9>ZItjWjgt+yWgmzW5*!_(eEnTnMg3H5-lDQM#F z|8Vug8^f|1K^a+sp+yCN@J&&DNzwD2`(0Y6uh;RP&EORdPbIQ?iN8Q%8tY4Yp17ZY zM!ZIR{x(IJWQCP+F}Y)S+hlGU=nPvWJY&@Ayt5xEu8DnuSbTw|Zsg#$^r@MJIH7u)U*)x_Cm7VAH+1*CocjA&1FXzdN8BOF2L9QZpG)XRx1KKqo&T zOiXs}kh741>)Y!IIa+V0;Z?@xk*`fx*{;yW26@8iFlZoUsWOViG`$Kxe;e(VQJx3{ zCy}aT8@eYyvJqa+xCVs&5|>_q?DsfiF+wwcqIqjpeekDp=!b^LT&4?<^YE6i(}Ly`ca0mli6BlB-TAm0hWXR;)#4XK@dnSbC1fWL_i^^(h=ajXU?}? z?z}nOZJBukJFc0Q+{}WE93=kadAb8Mj;HiEr%R8C;0xyN0s9$2AD^))wNCndgu4AU z{k)6ERUz~GA97G-JXj96wRdd$@Q9)B&>NpTeAfO;5m8h@%CK$2-r^HB>4cAu^CJtIY=J(m;ej1%V$@!bh_JAKG zi94jJfa!!2(dS&)sW2wtJ@m%W?D0l${j(32{DS3fH+g=j&Q}B}U_prqrw@9$Jm&RT z>-K@f8XKo0U&*OGK9>GBZ@+J57N2aL&x?X$IxZ=sx1G?DH5<2jbAHRkdkL`c3hMqi z`;Bk1?i=6O-$JyaO-ORV%9#Vp&>#iguf0oFTh_og%d&^VB5fW?H1$ z!PpJ+njGFN)r+FiEjR`SvMB=|XxwQ|VP-qnEc-86v2nlH(2Aj8jvco5xO(df23t%X z4lBd|Er9(UQfKvIs)&ziWb)mE5$;7j5WFv7fdZ+ z#bSB_3g#pJZ4_63A~8}7mtpBXBNy7_P4fE*+ca5kh+iiP9Ng!Cy#T)E(JW+bgJ|!7 zk{fRs@l{|DEv|a6L{N=Z!W?xk6j_hwo>}yx(Uy~zdHb_k$=Bo}i z7Qg(~iIflPXs4r4$(Z1>5869$&%+nw#3mpT%Xo+6_+>h6cbY2>m#!G?>W2p>rC;Fe zIl0wituNQ+_HE{|Y5dW-3x$&`M)6t+0m;{$K)pS`xs%mJ>!TEfXHzfIx%7N(RuCfL zK9daakMJ6Le)1~z9rbraXT233fA)0Jobyw((Eo0-zLx7(HmIAfn6^I7a7c{^p1q#^ ztRaqSBqVtdLM<8NJmp<0c__#R^LO?<3V2GJ2$r3rr7JGSrjZG|9z>Y8tEIO^rM_=_WSJT+L7BDF?lW3bfG;>c@+0^Dk^YY(-6uZzQH%@ZcHAZ|U*) zXN-PGY`x{1El)&MF-#1A+;=EXMko=^;kw;L`(%g+2*IgLJtV(`X{mMJC#IfzDAHl! zom3O1WMgI1`t7I?Ar>Qvgf04aJC&0ffv9qSm zEMIedG`F#xd28k38*p4ZM@0IDE?vKY-_#Tn4O?gRy*6AzroXFu^ z(VtG?|M<9{9H^8;8g0_@;o@L%og{>#r$>E^8(*GKW#V*$%|HD2ZtPs!t=;3LGUIiB zMm0q)E042OCV>!5{M4gKBr$Uf>pG0E zhxX7j!!aX~ZfIY@p$Q%Wk^y`MwqhP>O@@#bh(BC(?8!E<^DkL+e_Xr(OKgz}MESDI z#Yk&u{L2>({4d%Os>)1FKVY^s!*lX zigx)Ca(UA0h2muN3Stlo?WBf=38!B?jl0C#~Gi%kRX#lMFaXw!Rgj3Og-~-8#Z692t6!mI83+6W#Mgg~ z8K8&nqPq=MiKcWuU@U#x%8tyviWNBnzxA7+fxgD5;B4v!}<+y zhcAsT20KzL&FOtL_#P63YMjgEQu_nlS;Rdy#-t1M-UoZc@vLIY`Bva*hjalW(qsTU(@8GSEK%QCQi_^7j=@B-~zKI0NujcZFY z=q#b-1_lLqm3E74JDn3}p97;Vn}Cb!|BUGUYYb@7$O*FAch*T%YNO z8+1f_WU;0e11)!lr$en=_;lv&pL|BcSm82{rK?Xfl^-s7r_<)%T=~R$n1?92hivcD6&;{Vd?@;F zyFHtWh??tB%_BKYdH*Pl)I&9m3+vukHZ)g!WNkZqu8yCHlfcLzZVJxP|Li1>&bXnm zaws^~p*el-#D~*ZkfOTO)Fi29xEFlLF)8h6zYv;V#h8xWF@mW#w^qa-%MxAn1|gl( zG21w+1M-NF>0ihQ!!@pz^ZqG$sTXXY`$PuJ2}Q? zLha%SWXPq9&|}7NoCn2%B!C%lyI}Vp-)L@TBjYq`DG49zq=$hTHZ6&-HypA_+?=~= zyk8VFP;%%pF|;;jKFG1Dx%*sPt5U}Eu!BEmcwwhQ+WiUf*?8Zo5PzqM!+(GK75jx! z((MUa(IHj7BF>nrZn-kL^SSf&no>w(ntxpX73hA>odve_sjqs-;k zcZBnoE4BMbYA3Ux$nI_o(vB``-k6L~-lQ2{x1h|z4Y@w&R~Zy8k20MSJkmo-w7o_Y z_={Cu>L86zr&@r77qRX8hPWvMCb?!7ZxG0hCRZUnn&ao<%O2VnoBn#@pJ(nIhrjYE zJCVW2i;-h0DzVs8M0v*a*Wcc}xxT0|#B*Ii8!<5U_}daeJ{$##sX42CN%otR(%5S- zvbcV1crYDVzzLyb?^QF;eDS`+q&0Bs&*fYS-;y8QzhJ?~4s^l@qaUk6&X?iu``B*@ z(X|PdR#gOKF#B!oe1&eT5kG##EU!34_$PSmxTlkb3pJaK>7+a&2q+R%mJH9mblQ4^ zH>>J6A%ri@s+pw}`MlpBf zb$lUEu%c14;;CWbj51E&eC3Kzk?!;+Ykkhw-j5h`F+u9_Cj_|O0x6>9)~A8Vfvwe! z4l)z8Su1xH9sjQVy+d79RM7T*cXfAVWSgELC@X+wGiiC9v3R_vV1U7mR#3Ci@qHEhwYIIObgr*TJXv7~50> zs#lER3(sg#Jc0juFeB zPU92yY{Kv-v!$vFC-{_BbASk5;&++mQ75Yi9r@uoS_!TF+gU+oqFEe&wHqFhDgUh~ z&$;EF$Mr2uFQ53u^P$>I`J{jxW9<33$2rZRt-BhQ3 z!JElX{~alZZ{CqZZ29Dx;kq8!-*3m2w1i@%_9s8Xt_#N3b<=md*xO)1T?k7<6Tk#p zTskj3=nU##G8r(Ce+U+0?1`Dz@yP16_5@ukx!*@W85KR0=>MQ0i+CK(Z9QuFtMo6o z@L+CA3ita@Jf-C7dCyO-*r8sFOb<3=QsNi;F5ih?ARXQPEDAR#4AGCQ$b3^wFp)(# z!^Yrg(Fb{6)u2v$IxU>s>MEK+%4bApe!5I^wbLvEY3HX?Z$?gA^4l5(Ee!wWr#cUn z6kSVEHJo?Ov%o@8h5eE?fNseVSJ7uv|G?AF$%}3=HDNh{k3{@o^S>$wjBJl*m-nek z+Foj?!Lw+Ood?y!?9Qd--WZ&38|z|>#uuA_)s{q;zH51Dh%Edih>&?`IWn7kcm4o~ zfnTu}-fDOeA2e(MDsYZmT;p*n>0g1mgh!iig_cg$EE}Fx;^{KOGCV#O2(OaP?9+Rf zS||^TU${16BDUtmUee$PD7qXV@j+KP`uAL0J1eMIEv1M$#aaS8E85M^4nz6;>B_MEMxeKO)H_!@|TWV5#ruN%!0% znYIphZu5Kh<-0{RimG+?M^M||VJY~VCnwzOk?%aZE5qD)6I&#GB~8*l2Q#Q=T0zpT z(CY>K9}7CuVXU`%`{hF-dWp{!+Km;ravTUsVjl zMUx|KDWw=RiJ`b0i&XZlo+!kIa>svf+~32zwsv#wyF$@d)3z@Iufv~hNu~d?PS;nt zd+WT`Y>z0eAgu0+OylH^@;1&i(Y+gp?VQ(b3M{>uypPE=^hgrSHmz+rnw>OHnMY~OeJreZUhHcn<}9%icObk zYZq-YZwfvsvhh>Ce(}s~bmTLNRg%K*VkCV!?o&8$??;xs`aB;~Nri5*UVza;2=^pJ zA9d?`W_Ktybhxi}-0<*D1J>3cs&~K-#nXxw`t%vsKj>9h?Qr3QVgQTEQ%2RYA_Zpf zI+}NH@1l2Rg5B2;V}WDM4yuQ#IvML2rytC_d!jD|VoX>(qs$*^E~njgERBKaBOs+g z8&$@8^Ws;E>`wj+=4e;ggl_X=v(;CW(1wi+Rfd&8I#Si2rD1*#xdL$BP1B{Mfy%cF z(~Okq>}`v6N#EvA(8o|=q$z?H6-JsXfCtIn^*6H8UbbCUEAF3*eB7TL({m=<2UOHd?k<_Ed}i4(jwhZ+xGjyI|57>|z-1O`;d#lW><;_EOC>9eOPt6E2}abrvYw6yqD zq4jxnon9@^(-LIJ3##Kl;?U=4_q|McW?hb_uOJrFGvMwG3E++wYl|HA4NtEjeaL>C^KusR zsaA$7R8xv+hD5ish2+RpH&E<6mRh^^ga0`*?BrLdtS&i|4-+{no!1;h_%-+R(4se2Em-7ShpD zpHdsZhQpRp10}xjoZ*SRdwm!tce}Ie>Jh4|@cA_0r4y$e`uo#GaH5-10EUW&uIwY# zuHWIU2diDClaTwo<6JVVG3-e(4_O}kAX}`~& zX5gPwxVyoD$_^le>VRcV6OrASVOi_4TQFm_d#-Phc79@N8M>FJ@IFyG*~&6E5X#zh z34R1(!iE5R3el&OI=@B65uhrnL;PDslf|Rjj(8@jY=eeUL~r?CW`AXYV5ZZ1#opYhPUfmPeo>4&USPMYFcKQnAvcax1bF@Bod`15>AYCRNJEtU}zVNiop zxYjW8vlyWGdAUb%w5)^Njp;>8dOg!Svdx5Ylvj3*#B4P;i~{!s8_X#Rs~;N|rx)03 zVa#*4(PTcw=1%03B|q+W7{6~{>rsOS9ZkxwM|(3wFcL3LRCt@w*bS-~@Uo+t)Miw1bn<570Y;iu*jU(O*Y}~18;;5~7)KFw~ zy2c2wVAkL;*zR122+AQT`!O8=7IM8+5h>JvZO){#1zK99i~*Q4$24dCPhY}!H$ERD z{oW^}Ibk1?_V015RMTOyU!te=J*H$qbkn`%S<6HabLbNYH1p{+X( zDg(f%UB3=57H?Z@hWlZD+~gU=Um>&$C5V@4NU?;uo-c&teH{-D>)f*0!zK+GyG+e@ zoj|~4qXaVVTjwn{s;5_D*Lf7;SD<49#fy8z2A1k;EVS5tu2usA*pwr`(LM_MlLAuXD{>*vD;(-O< z@vpjCW_)&yjZ&Tu`=ASXf)>u05Vk1tS6gT1Ff;3U86u^D$Jg8xgM;BozJxXLT5lN$ zHwllx7b1{*@sFniV>qdSzlm}(_VD5GLT2UBWrT?f;_7E{ zB7CoedBoDNM{0Br4!3IUP-pFTx5njDL+nI%MNZ9^SChcQmH68Zg$*peicNw^6kkW{^9+O`Y}`O&d;T-5>D_hwHyUO~;}XEwi+hC#c7}`alt!t)R2kVK$o}HG5fH6^ns)A-wMuI@ zz?k_Nlj{_h*vh+P+?#_a7(0Y&YCzcThxm`4I;GeO!{aky;U|#Q_&tFr=2LT&gSV#0X#tDH56U2@hu@0%;!3jX@_gUQf zPyh=@Btxf^+WZsnQo7OU-U{61U{oYz03fhzj*&ODE^^fk6#*mCNX`0A*{ozRh4oPQ z`NQy$5KYaAK7VT=Q;&Stb1k`+_u4SMBVYR(F4^VE+dL|jggqDJhB`~0#GS_f2!E^5 zW}tyAyoYixL+Iur^)0b5WF;YcEhZ&BXF=9V-SkVkW?n17EWrS<(eC5ac|bd7f7|Ez z1y(^<0~e>7Gj8N=(`jC@x2ZN+sB@JKRg87-C2^`Djvh8-{Rtc8)t-$mp4)yIVTwR@ z(%;`6(;5K|7Qf9o=##oyBkBC&*l`SoaWy5*S5VG?>wY4`EFT+!ie-~)pVvG5=naP- z-@Q33Dx`_?*=7xK4KTlyLT6{ycnNklu0$mTxl75;-ABGPRp}+_OJHC*TztIk8a8$R z*RuZm_2EMZuDn^(0xDne5cAD+(Qea1P5ES6X6c6)IB<(U^l{%rUNO`Nf^|st4oLvw zzwPgf@+I#-IO=^*zF^y zkvT-4n6?e&UvCi2d+<%c{nHLI%=cDMH+djYy_I6@8BbF%IyR&PE|F}ro?(|PAr2JW z>E#MSe4T_~_BEhr1?rT;LxjCL-O6Rtdx+!do}_1k06tztVVc5t}21Mo>g_7FE+njj8X4>3G{!H%da2)tjYSL z-QzRii>~(_Ej3|8Zs|POA0(s>DyO#gc^KkOa)?~Mg!LGwG_4)VVE#h>__7pS72-BM zTC6>+=1N$S4f_NOH%#bR;8ubLfxlhfsos6~7;Z_8FQ3o$|cI4~1 z9=}l6N-e4B4?kf+pIgBMGbWg=6B3_C>n^;L`pSmke^4wf4m;S9%}JMPPIS%rg2hIF zS;6#+c=X3YoXe8l@FJJP%6MGzIei+4b{03?u4h}qe4928 z$|cFh+BjGntKNF8TrZ{D9U{NO47b{RO+WQb=}(`cD!wcCy~)NcZBr`TVO|e;P-*)2 z_KRnB&t8N2Q25P|ID@kVV`rAXl?g(~^bauqOp_nc?$a>+Wu;XLxi(lIxsKl9~-1ys_kn_abg4X zzlZ#UGd?qXn^|K(y(@C?=Xl2@ve`osF4e(cr2$TI%X`@S=O`YSCSGb~vJ)^muEg(L z)#;;Szq6Q*r_GG5mO`-RTex-sn*>IeX4Cf&qWm1>P2^xJR)DcWp6xPzWp06y3UaM;x1liPMiX1A4|z| zVMfqYDGAOkKGIiv8+&rFLFb~ElLu8Xmk;NaeJF1|%VeyRo=Bv+sSPPBv!@n8aMiv& zuwsomSVS3$Ei&;UObDZjAP}ew`~h{yz+A6LlRSx#B=K9lkPq;&aH~YY>)}XBJM|Uz z5pJ>}Y(|-<05=}KG2+=8KyB{H^4vUX^#jI{zafY$Grm8~1-{DBUgv}G8qyuWF?};g zNz5f+Yg?)?EQlqpo%o3msmr|=|E#26b&#g=&=XKTz$Ex+J^WZPXXgMNnbE=R*|ADQWVCywP|rIN84%(-EU#FOd! z7r&GZV%e&7a zn~}#ZD`c%vp}0!3JegN`?D9SiLZ^=nT3?e<$cOfaJsA&xPN7n9({Ob+e8H(A+y>Ra z%;0~-r*ja)%5fT7v|{Da)`d@221g$en<7BtIxKA8e>iE;+`!<;0BXW1@O3H=B~z$A zmt+C{e*S6NS^w8OsY~HbK=21y1k*4Rc@r0)annc(jQwp7$okSzA6S z^lv|iV~qd;K`7Uqylt8(51Q|@_jWg)n)+b`$O4LB`OO~z&K_}`UQ_V3_?X2DCOuPy zoxb*yHGW&?%eKfP!qPf_Ynn8J(q_QJqHF|1!4A{E2)FjTRHiIc*<=aR?3QVeZK}sR zIi0?9+BP&dI6hP&O4hzn4up|Vv|40UlObS~)P@eg z(->Ys4;r&F9?(bdng_HS@E6S`x zrJ!0!p!Fp5T)$TTc8-Ica&#TtaC|I&L`D!NJ<1TXb}r-T-|>lO3=%2qW&cUI!s35z z)aFYkwMfp^JF-9fLttAD#xWw=ruk{wf?YJHhP=!;tbFMEm*3quU|;!(pwjxg!-IZw z33(i`r6x5o-6UY^0v!NJ3WVJ=_+8_AB)EXTN>sXZM9idn;T_c?Z-`=kIJ{NB@B3|A{6Q!Yyj7)ss>X6zA%s)$=O{^+gTjsh{mzB05+z%w^=a7Av@&a({= z#l=ZI&}Pc&9l>3*$Zp)Q2<~ZV*U8h(NjB<-B5t@S^2fk%cQgusLDFXcq79FCB{<3+ zx}$JX2TW}0-%Z14(Lh%3GcREs{4LSXZ;V`MIPnJ95iD@sG`oJDa`MzQe`Xxo`m8Ku zp952|cBP2-5*VKS`?-b9{ZXMekzH#+5P9th=Zh%}tQCD))z^6OnM(dWn-zg$#m~aG zj{-;#nCmxf#1*RXg_6fCoA>6sK`G;Xhh;@3|iJwo+HAk{uoTyMFYy~X+(XYBB zNUdR@2>Gm%aRWEFNJHc>g&V>~v&@8sv%?fTC3+wk!G{<-NI*QoMY zYvRq_wF7U883nY$Siwkl0RsfU?emhCHeoJtx3Jj5esVNhUdKrAFKv^X3B2M0#-Ems z4}N&1NEQ7C0mSfFxwK??05+>+S#)3kpXDT&fWb zHG7O>Xt5_x$0KJKrsWx*`C!C#HYPSSt+%ay;ql2;2$PkSTMS@jeoSN2uTDP$r=4$M3N>UH@J7dt&as+RuCcqar|F z9Ii6CFT-fDVAfq61MGTiOWcMFxLdfv*)6~3)EwZPXQFUPgR!2hf*A`^M0WCYpHi`% zoyuOF{VGqBOe2P)c!EwtiH-CkAbSBT2E+Xh6+3C0HhMr?awmT&B-@FqE$Pd>w1N$G zV#N|MRjLLJ-1>G`sjTelWC^#Y%2|9%(CeEqO$iWTLJ^aY^xoGSV%>-0$2J7hT1U}Z zk5b8J@PQsqOq3UcS2=3QpB;wr0N_Mpxh;gK2t-aQTN6<7;LUfm2xRYjID3~5=im-B zt%?cdj=-22BJ9>u@Q89gjo7L6bi-g?8kTSbpk;!dwHz?vqExao;+IUjK4a|w8YXhP zc2z{=i0jRs^00_i*-nwacIA9oJP_)E{K6X^czQD$<%yxfu;bbr*B*4kd$tPoM^Z9x zX9;^DkBB*$e_mkF+TZJp)Nq8k8gm~J;JHc%BER5jz%%G@e$T?4#_C>;en{-{h4=8c zcw9A~4l;BUU>&j}PT~x41N5-zZ7@Dm6RI+|3dPa$%6I7x0gsv%GDuu(j9W-4%`rlm z@^DE%d_YsuT1F)s*+e)k4~NY;T{hPmV)NUqk;}0}0TuO%n=K zRDrjUird&%_Qs%DKS@T(c_U3v+pERuawy4NcTaq z-d8u@?u*nHwzo-XDp0rM4noRF)2v->@)*%Q<1U&N4OV`(Qjv0F0dX{ z!dDR$LD8m*x>ZIMSeRhb=Kn*34tReb!OnC}!JkI5DiWx?xl6O_=6IYwn_MG%^c`>5 zEA=z;#xcHl{|7!oJx5H(wF9ehF8g)M301%>T94?CHHyQ8;lwO|O&7wx3bY(RO{!4+ zV_(`8;+jT}nnq#D+b%CAWzg7qADXtgmEz&^v31Av>PoxcNbDQ+c1<3eFYs`Q}Px(sgO`B`XTH?sXxy$s8?tJFn0nG z%@&$2;pf~QFbDyPvl$#LI{ZOunHq_ym1wKXX_S)j@3z7Bjztf-9 zrcRcw<%mh?xo$1S8x+h~+$P5!-nOb5w8Ai;u0w-@qIs6K_Fc)Y zmur>1iz3-|Db zlLRa`=q$Y1tmE~v{FNzVIDZa`BT8)6Zki@->`6|L-rKMfDwQAdL}dH>RY;|Uc7a(B z-`r{UQ|@&W^&bINb;rBLTYvZ$=#)rTCE!h~eSvhNm$tHn;U3uO*C9oJW*%~WHvzYA zJA53=-kn~`Zb56=gUH9i;PZzQQ1Gkqlpmb)YgBLAuY*)uh&!lH9q7hx9260p)4_9u z=NRwrSoOpzb|!Gw`tiu>Jp*)z$c?%Ua6Z|;Bd4G^b)nXL}cZD)oH zkoa%g-CV|Cm^imI$=h&)*%DF*j*+Si8b+z$Dv)&tU5-HN$uetYOh2M}LBuYATP74x z5b(;OQPzMOzPPfY89NQ zOw|UrBxu%fCjV{q zD)Mp{koz@leEq0O3bW8GyzZ7+c7!%EQ|Cv8QG2rGtXmmoe6iIRO!Ml}Y+$hk$=|t# zHKKTqo3bVW*9gPAA%|qae8WSW|NIOLVI}|{i0?J{QUo@pg6bcDJm2%$3oKBDUouKZt2eu!%d1h#1ApW>(# z6sBU=oiYkTta({7zB6OWpZ*xd2c}Tlb&rpkNmuq`9?;p|v!xZPaW)I8luFY!Oz1v) zi4rHX{Lp&*n7G@J(XTe6SGl%A_v0S(4QyM+fuN4-9!TJ~cl)#YJ7J*-0&O(K3m@^A>fe%#z?onkyG%Vo;l>)H8fqvk0cNw!=(8r4teotj1tL zN@IVbJtlI8SvAm6#vBJF(|*Bd!wew>h?dx0nG!9sYxaK0WrJ`gQ>^2 zOZliecZj&IPa0fsk8kal2t zq#G8cp>PKYMq$L+gcZ3B)-``*+g1zA8-Vi4?rfok`MV-#U0p&AQ|{U2y=C)|J%<5e zl4mN4)P$+0IV&=LVGicRE3cIcSe1xg+fDqC&E#NMh_TCl4hwVP9 z2?{;`ug?92z>7F|2V>B>%Ag>VaUz*0Tw-7UW7KWLo4-||)EoI`?0-Yw@ri?T*t@qa zS>n5srkO6X7Oieb9oB$Bb6PRg%vi%SMmFwMjp?jiHZ@IVWXnftDl6DiF1)=c_E>Y% zt+WKhReP`4K?S%M=ub*i41n5x&)xl{-Yo|H!UOewZZXG&E!E-b8Uh#BVuOcG?g@#G z%#$rG3b}hCsT8r;R6QLLDEYtKs*%OcZ^9^@O>4FIiB*jmvGdm#3cr`tocvN`L5Nwb z*|axfS;Q&%ED=@o2k#n73=AS}^vtm5VwM4N11?V{>n;p+f+O|ILg-fUS#)6y>wzRW zfap-&N-#;MIQ>X4-Bpr`vE=YT^M3tW4I1$bpbZWhcfxal=t5vcO1x`0MMGsJ%yrzz zm*u@5i4spf$&YLW_zQ%^EDL%?94IO_VTWEpVa#HAP0b|Uj|d*+pE4)4VgPEj1`qj& zx9EgIv&T;s>#Eo4Xzdq~#kNDR^u*%~y?X$ci|ofyDwrf(YKS)Dp~o=xNlP7`tX`zV z9{1Q~9KrFn#qYehbomlNHUv`uAneC)XEOaJxKp4Wy1k@fD{(kdD-O(0=fS$Ab(_dj z@1uKq#Lhp6W0H7$K)6&|zt^1_=_ec^>^dL#PM~$)pTHGPHiluN7Wy80D#K~Y0&mfN zb1{NT1{%^Y77HSN8}|NR4Jo{he#t6K!U2i9&9Y?Y_fMB-!jefFq3W6xSmC*zp5Ewj zU!%s)B!IW{HEk)SsS!q2Liy--aw$)#<7WkVb*9@u(jfT|af{h3&PJ8W&}Fh27Aw&t znqP@U!^BXH1sXyNfQF29AFV_tPag(UF<79Ow(CFt2$EHV#*O>m`sB)R<8d{6cayAHHmS^fF=@J?s z%U7nJE1}-STGeM!?K1%cp*#dM7)TWt%0guFBBGyUu_T1oUPL3cZ&7D*JJ7hv!D)V{|!FB61d!l)}Bn_Z3T4u4b2)s77Rmd zX2R4G>qpkyW~z5;%BZid2|5rbAC~!(Xop_KjV9Ov11nZ-Ikl+-{slYt3t_r0TG~&N z5t`tyx*P%z#ZCXWiN3r*TDHS_DBJnzD)$K$mP@L^v1d*I(IBvOqsiV-T!>#UBAEp) z2anDOvAPOkHWO@3i{Qj;9Vt#Z$n4kHaRlYw{*>Pbnr%wo`?cdoR~tjM z=Q8k{ql6ur(1QxoD|-u3NyY(D#v&#l;qtC6tIk@aixaT6$}jnSp%?%0?OU$}zqxG? z4~W^#Lb+QzLp?`m4x84p_d%xlgI|&Aro;SbXL{V4xPArJsYxS=G*V%Pi|S^{c?rI* zbh+M1%sP?})VbG|3jl!F-5|*h6ik^(^g@U{x;lpM>(!(rIukeH6GbA2nD{N>!fDdk z7d3ikuGKUJ18gOc2js`HeJuM(a_S_K%4}J_)2!(|tbUfsOmgD}yMMs(4G0P2P*z|` z6Mk|P9-?DCd7rj=RSc2Yg7Nx3{wC7@Z@DAfZstEC8Bu8?!a6%S*~uW_B@^1@x)d+u z4Q{}ZV~C6ri|KN3n&uT@bn9(QvMUO3jO`$4CYw;-jmDk$|`PADf=an4Q@-e2HEf9c6Xo+d(Q!S2MB0-0Esa8 zCDWMuDz28TzOHWjqh#=S@MT*)=e|~#olt)Q!sx8C-H6)EE-JVEHS9qMoA1O}6Kr&J zZxkP{q9M$HJ%6%@+yrbyg>K+5_K$#dUg?lqcd+oCm>dA8`!X~XVo`jN3x3N@ z8AXD=R9JgfIH=lZ4$a_14q1o2yy5?liz3z#TZ|G;HpwF^OhOwMPE>w2*2b`Ws89Ke zswj#uyUous){S@nFNMENgT_mW{>M$TjRFd@m7fL#EGI!V=i2GBpZmOcQ{zM4@fCw@ zzn+&o3JQpreV%;V?~AYiO!yGnRKe;Hz;X*Ud* z7qN{g3Zhl|0pdbv}O%9?nnZ1smIno7pnVIOcT?>}X?H!v)G5}ERF#FXi_^1y|Lqcnnn zP`w>`4Z;8grqCsu(Lc|ZKkR*dDShw1p&W!9m=kf6PcBr>hjG*W{n*#fAIifAMr)gj zy60$c4z7z3Tzrab72G_qAI5PxJuIOhuj;4}5a+b&YiHJJ5rF2x@yEyFC?JN$Gc~Rr zh)B!gPjL8cp$9hkRPl^=|Chw`7UcEx6#|iRjEaV*2@!B}`%-3n2P4 zv3*v$5s;`cJNx`&+hhwygR`!A+US%R#iCxO-5*?^=hT05HP8Y2*)XBs zslQC&+xiQziKsFc#>IFOZ)X-(nThGc59?pkk!r@~CA~bC(sV1pj3ujC-Bk#A=O%ie zEC_SHRUG^I=cf=PWUSDzvg9J>OzDCNIE1sLrre}b*bu2?UaBS)S$TqGsV{^x9*H^0 zH_AU8X>o2`?;ge!(O)_Ct=aC8Wbywq{Qb9+d&Pf1q$a58NnxXnO|omHP&&@@Mg=Rz zwT`sF?$rVYF}O<;jZN7XaXmyrsC~f)LFb;1275P`TkDtlJUtGU{WHP+9QdqKqf`9-+V;#j=Ka1)#0j_9Ta`o{V)qQ%@jS6yHJ z$d96{4ORqADZj*C8-5;L9dlB-e3z1UnH9$CPr~|p*h&v2D4!ZIJ0byS^6qmZk zK&MI4+hI6*gB%#JNZ1{jNsc&fTQT6t`obVDM~e?XMXxhO;l z`o|7t`AId$E&dp$RJYsI^D^ifX-N+V+I9cg#~&a4J2CX5oI9DTdu^-Ccc1^HcZ0s5 zGA_svgxD4YuY?^ygjT2~cC3m}c7ynyP@JpE2~_P1U%d=a!t5KeOLpv+5s6Nii{@TD zM?$113UslLHgS67c4+u5OtsKCypL@23JJ$-TO|HS|X z@x_h--?mF00QwK&t_5!$R+z4YMOU;5WxuSO(*SDpgsHc#u zLHx#71`X>c)u$R7fuJ`xEi@4m0Bf?J-U*=;(hxE+#tQa#oYIznWj9w6HcEH5+LG6y z(vQMea< zlyB_Ns#|lWS0Wzn4NjFLzE1q^KuBOm+6jy46C=z)EK&@37lh{m?n83h<*?$0xs0a< zOJFzBpv?(H>%IQh^g8VHIt%y$WnCL zBC-fM+j~%&vyKFUFYKoTY^S^gtELd5h5a9K4T<9Lr;3A+H~2UZpy1il3B-ol52$-` z+!b$^Z4IHw5@USPtrfyf$z*e3Mia*nNp?ld(aS>?Fr3`z=Cqb{SMZqZkdHy@W&M1beCuuMT>1Gk$%g#$BlTH94VbI6wmDgBMl9py1SAMywbE@leo}eQK3qNaxdqB%pps1fkE?~ z>p==VT3n;e818X?R{X$uS1)KiK!s-Ani4X+LNxsq*C|~Ik%Xf*lyY*Zm<_)xD6U?O zOIAW`B?iap&#~KmCNT#YWCH zB7WqNbvaE58TQggMX_R`W`&K*3G;$-&(gT(&$NY-Urf3lk^i&58$-_!VP9V$rP1&3 zSP4-tu-$%xC9%abxxbI2gJpN`ar2JuEG@%9{3)hb^&D4#j7CGh%yQpToo%IYXM6b_ zXUnOoWbHBvVAw?n2fAmf%X%??Br`GNEeiJMdf!7!Q(GPYvrlyjekPEbQA#~Ijxec=IacmxQTB06I;ErP>df<%5(~_awP=Z*)HD}u zo3POO)WmzRcX7e48|ALg-0JiCjH_NAYSP*0=kV6>{##ps^?#7=qV+@E8e=x`{PuK0 zP;YF56njkajD0&!O5r`LSaPf!{TFDTmye9O)O!`QP|0edplwu@uM_w57nr;AtiibYY$LhkowD zdra+*{|&X`0-ynQMH?>|ERKk{jLHtpxrq3rrY|xE1kex3ftl8YpOC2k9()H5NIT*yXr~-N99(Ib2s5b%CrleAPkp-V6{7KjLhxK9l#Wc`#J?-#l$SuG zPu|f(A|vi!L=m?F zFz+L_q9BbjN;pcRo#~r200nl?Rvi8pGPQ{YLbFGv)jMHKswEgydv5!wNc<2vkh7x| z;faP2m$(4`36K+O@MD&?%GZ-<_2dG!%)q+?WdLODKLN;7Vv@1DFfa$GiN5HP~;kmV>=c1&@=-7p6&=*&rD&{8$FGRdxYWv`x0wZ_$ zVZw-_eQ|fN1rP7Uy|%-16ndeEXC2f+(GPHgK=@2bwoW*krHFG3+ENGG{U1V)x zT}9|&P3pL)UvG33!RNUx|4Cos=ZqIXn{X^rG&3{Gig~lpU?PZ7K;^acR>;8!j;J+T zP)|}38x7or;0l?=nJzz`|1s~gD0pvl?xhtdBN5_N7(1V5A|5ZI-cs;@EFm2a`i5#n z;%Zz*zG0_-@hRWXfI6Pf#ZI*ktcP>?%0s^(rCM+pNZIv= zM63|H?oRpM%+6o-+c@fXMY;$%wJQy26v%bwzG*}cMBSsJ^YM_f3KaTcKwM)y&i^f= zcLC)p0lPK`FY<_GqjHyUfVLH^7~nX&nM+7|mmU;|(f*qCF=#6?r9@K}GR-*uC3gCaX7cg!^W~VTYP<-V*Zu3A@;{ znq)H_;K(*(VI7ZgF;W99GcO$dIQDPGWOto2AZnLZZXpwOe;-IgO{{)cVaW~sJoyJZs-<3I9{Ygm7BBc0x5RCC7^Pmc+u1>8MYrSLa?SPZh0WA==?`nODh+B* z6*3}fZ2((!xMSUnr1WpM&_B}9)O+Zo04PzVrk~yo{$l#Y1P@QrvZxGW`jx8W9-Tc$ zLpg2m>fwU?hE$Gy1Mj1i^zzLegB<|DC5ZF3Mc}wQzg(RXZ(QWHz(X8y4)~8i%=7SX zO_>J2(8HPpQCd5BngOb=rOFoh=yk8OCOvw7B7 z&lrxYi~@va)`N_z+6(hO$k;~=j@Igh)ru6qSs-{>FW*FA-B{KyWEI9{Fyt77CLR<) zEoP^#lG@*F151bA(FNB`1Se%{Wfe61P22=TdeY$Y3Jr875-KVr=GkPfxEZD~fg1$+lz6xbubhHEsNa9h-#- zg;WI=zec*mBPQzn*uVYIzEtFOk)(!UAA`>yhzM~m6{4q`DIRsbKmG75InqOOo@F5w z|80jQZ2mzGrRr1vk<~wgyn}ytI)c71Pz6j7D#byy=2yrcmws`~NMz-d2~+ySoFM^W z&FUi2>Vm88pLxDt3y}SQ>}=Z~Cv_%a6VW)_j~c&sg*3PT>$uj-fu$Hv7VBNX2#rmI zhj8@tY(sx#Rk@2fujGcBK8lP8g9H#bcU0KO%I2~-+@aSwwUq#H``D&5ZeC?)v1Cdp z_LnUj88OBbM86|Gx|+A}j}p*E5y17c`~0{z_U0Zb#$7?nxM5Jv-=HW@wOxxf3DkPX zAxut`ir-R9!4zhI%a>T-#HFZzyt;0^Q)<$~BO0AF0 zL&4QM*)YtUhH3=*>VPm43Li-S4Qkg%|5yZ*sKF*0iq<4usUh~l>{`d)J_*8;H-Q^= zhK&Wkt4#UnBukI!ujV`>I#J{|4DYa={`bSHhSOzK;ZLg2X?@M$BwS#R+7&yyh z(}pnV|4HZy{}|WbkmKg|R(B^v;y7Rp?f0BG-B^$aimKzbV6c2tq~4IAvej6QF-Y^K zHiy`VoLN6@sLlLr)#U5^E}p_p31-9S&Oy`H_w(|g{|PNn@QhF?1M}M5yHsU_K4v|I z5&c+PymlrC;p<|-_mw%jp8y}DpjV@kP(5OJpw%3QG|{uC;$eu{PnH_434|!z1c05O z56WC8v%)0G{0>=3A#vvqHJvp?oh8&P))xW9p6p-qr1cdAo*kv<;4y>Lqs=F?xato2 zR<%LGJKJR=O;?9U&Y8>iv$W+4I3sxi3p*PzOgPS+WPWdF+5axf1GtlUIO%9_4k0_3 z73|W7g-%z_goVme_HDL2_$~7Sx>&VK)7=X$cu}(e40#6(Ko}XZsI=-P50{yyg>Pvt zA?{_UFsfex>U^R^4ps@ORKTkGpH~Ll9pqMD8bTzAJ0fD_Zzog85SV?te+qi<-YfGu zS%{W|n!7~=-svWlO!z#1`2`C1M^UC;Gm95e+A9QoY75E}x~{eN{peUH2_*(8pjVYf z1w#U*3UwJ^&{1bXx|(;l2Ze`@iMLiPjfUy=9mNH+x0l!v-s6SrnqtlrokUKl{kCus z6Iz^5&7=8UU%DwhSGe-j0ozduewB$L9vjGUhB-{{FGAL8G8AK8XOFEA4M2I__=%{?i8Rdwtmfg@K=6D0)b#&jp^_$UX5rf4-joYnO=;z4+a#g##^>Z-`Z#0=b|5 z67z2uUECTWQ~06q zizN36K{f$_Ud6N`-%yW_jAZLNq&Jy>oAW9pzORu!90(v${P%39tz_){d?689(rC&n z&Goy5zY*WkTcD&VG>7OU7&#ohprZ7MJpq=8RA`A+cxF<`g9>0A6Y|p8 z95}g-VezeGH)M?&TIxSCmN#YCR43cYtdSU-*=ob}z?hoF@xd!`MORygYxe!x{CH#+ zQyKEL90AUh-$nTvS+xyDDL>}OhBuJpEDFu3v@9CYVS<0bJ)&XbQx-lSj6W%0_GF~t zDh~8j<7O=M?ys3BKnN3Izj5v0lbcnb=(T0>-iqk!+bkYmFkx5-pgk$a&Mel6q@IAO z4%2s8$b@2;W_S&;09#GeoOCx)RL}Ngp{48Y4(Dp!WKtd-lvO-Sp^QKgq4_<8BuVir zg}Qi_Gq&q0`Sp<;g{()7NrNRB8qf+IYlCl3KLxp`3EsAM+0~b|-6voz-CHPi(Y4ih z==S3f8_%fpnViV&UxE#g)m5gtVbg+puDZcK`_RX{7&MAzco)QoiJMJ|*@x14duRCz z$nfBWCmLH|-jg;$0JO27Dno%b!!lZX988oTpO)nmi+-(tFsu0SpyXHZM!EVxze3!@ zsLh2TIZCZ%!P7BB@YB$2C}z^ePJ9uvF#-h;4`&J}kGzzrj%r?|_DIx}3KXD(jh6GX z$u}J|o98uZl@q(e2slh-m~3iV!1E`B9Sr)0{b@O0eOp!X2kXKXC5#`@`!Gf~`LDU2 z)$?KOd2nBI@~*JV8XswTh!7jz34Q7G=@}Oga>GjkO$@ZltDsV5vCAgeJn!vsQ??h_b4$Se(8gZ0w9rgS*>!gjck=;Ozgy>_hj=_W$;nOfP&!nzMhj3@=h{@#jr z%dOUsw{SLG@4)!T zeqOvc!B0Rq7@HTX9UQmQ?fO1QH0a+DK=np_esQyc25S#~Ber^ySCK#gA?1(>rc8Kc zj;0szYfc-14dGcH-OY`d&Uh)I39YN&+zE&J}%Ys&t3H5PT?T;$2Avn2sjg`lN zh%%PAY@QEd)-`qj1CWK*M0lz-v2We<+ObC!gidV|s&@%lhPxrA-azUb_iS)~zY_<=!wfRZv!xYuB0utEt@0pU52e42VCXHB~SK?CW-C6Ah=(jZjIWksUGVrfDDF2xrpBsCRNM%tO;oTj|a#Kg0dcy2kle2+g{2!hh-7ItICL3_IJU zN48ayyUfIjbhk81BPAUIvUHb#bfT%*?rSXU;t5dBpCk3=R(&E;U32xTb0u z3Gy+F3=OR}x`oaPTde(FHXa(w`WM4^+&w~C;Rm1@v|um^;)W&J$B4XA%e>wwPv_!4;h=+}OsY`1Br1GS ztf`~f^-qXcy}r9YpNQ90(D>aA<0O)Z$HUhrRgf#P-zt-QvsY}alX*{fse`TlVVovE z$y4*RillJ>5ojCxb;C$Pr`+qbdC2jgEAe^|ZrqkJ{;LQ4vhP5C}SZ=Z>{{-i&44itOa3vM2$ut8b}bV` zK8H@VeE4Uc3!~5Zihp9Frfu4V8%(YSrV+G{X1vrQ}@W4{F5j zS2aXec@MKbm-U@lG36v@!Bx7!>d=v8mqpw$E_0}SWx=3 z{d#5C1N_A?`gaBj_HA@rW{tjC_d^NTg7DW6B67i*R`@lu7!OK(5TIin)E7^x-K^TN zD$Q$DK!|~#ZWJ2?oWiYB6arLoe67M&mvIIJgjA3?d~0Rh1`ioj5>4hPqYDlrVJtQ; zHhG2A-2)Z|`|v5vm8zTRW})`!NiwH@y;awnUweNW04B@FD8ozQFdg01%Y6Hj94^-~)vZY}ls{Va)-$ep zGp!cS>)WU}T;H8}Jouz8lq1cujXg62#WfY1VoNRuS6YId#CW~uFZ+=)mM{AP;n~TZ z!(;KKH50EXoQdias*iJd1BnTU^u;X;la30!v;{S{PuTR0cFfatr&#Fxv6O^#UJieL z*d8MdD8l=XBPfL8WgJY8JYmc((qOka8_f_ebebj(hFJySoh!vMYIoeTX_SLv4>T{0 zZ0cM48r?7ZdDto9$;<$fJ!^+atoI_s-41Zkr>etnUD`PO4VffYxo(D$6^ie#j|URI zg1S`ibeF_d?h|6L;U8Z&3RF{Y^hYN5Un@yd?*+Hdk{(g9UeZVRO0e1HN=vt|PG|v6 zFbrE-x=(kPf(^Q3i3d^`6O5>&FP26w0eqe)28bcivz6WJs&y+<`Y>~pRHSeci(Z6d zgx%hDwO_yW>q5Gwg}kinJGE#=wn9whpArKH7<3zkbiNPpfyX%34=jk5{yyLyfA5+& z+v|>#eB$!`3$XA+x8<@LK{)F_NsS5qVke4HKwa{J2a}BNL$NJ?Z#JSC&3AjtIG2jU zZ^wILrgIY|PICof+NAf-$2d5LE`m6qOV;ZgHNQ&Od)~i4__+0Nct3tgDRErmcEuO^ z1bJ}ekAa$t#K)H|RSOleBh58%F6h_66CR(Q%t}dITh`)OaipaA0g@2ZJcMpEA$=TB z`F*sMf*N&;l2vrmhR-`3U&CqEDpMQX^XM+U1}ysKRFTl1Ak*UlS?CEwgLDnS?Nw^V zp)yy7d>_KDEJ zGb!FXIC)qIpyT%MV}fLmN`W`N!WWMe7nv@^e77=!Ozu)y+}n>4Kr}oR^SEudz&e3U8`!CMH8RXZJ9+PF`DUvOBMEYs{Y+2yH$Wul*AmRlhW#YR|mD{2h)XErr`* z-xmR95YJL#dfz|>y%OfbJzspX<@sf;`k@z9O@8&I`~WhS@+3jqXH9^b&P!Ms6R5Ga zJ>tU8yhQ<48b7W4yHG=WEo+w|Zj}B#Y|gnc9XU>UCHIwioPHTFkE&0`Y-Y~+Q=|&c zL#F@g4xzk!i|Dan&q8F0Of&3W<|u|JFMWEX%RYOM@ygdhONEkFgx+F@+S;Qe z+!`)HBH8@yuKI_y{h@cLTuOi%d5a*PXG?g!s6bxh;@$*6NdF-XL*gg(L?iztF`7n~ zLqrU;vWM7doRY@xW!833qc*cOi;-xX`9hqJ5vza|5q#(F;$K~`38&TipPuM?=gva+ zI7(VFHXD@!&h;#Z_Ze+;gED`v1(Nvs-;ODP6&w{M4IY(v9UPakWto7MSV^a0X^*++)HN#ZAxd?u(S+Np2D(2{7u%@(_V* zPNQ+j_E)!@sG;Q1A=p{b*KzXS{VT@r$_6-k>~gzHzASu<-|pgZ6y+aiVCJ3Y65OYD ztaxvgicP1(6LLj?M)ZC1bi0vJpdn(l*{Y18&M!i$!&Sxy#3LMA{Njnh1zu?5D>m%^p zPeTyjjLA#m|2gFP>$^1U-lyfKEne0wskrc60`WHe1YXAln5WdnI9gZRFh^){S|Y1P zB<|E-SiX!5Ny4H-V0}sCXtj}5bcZe}wR)rMqTO?o>PLD7FB>gD?x^B$t#D<;hFNR4 z$;$lecRInD$Yyh2WVlpdQBkq@(Z_+1ENk9J8IIl-Kdg6W{qJ;x(P`9Lsb^ggXX*%k z!7vmg;K|@Rglgx-dUF*2_vCPtBiTZvGPr;03f%k+*z78f#5)=QZte3#r(F+2B}WLU z#*wA=4f)WQfj~=58Y3ct_#0#NP11^Kwc8>Kp~X`_|7kBr71AAn6}A$VZ&o7lq9%%L zus3NnCS37x4W1fB9Z-W|_+g$JB9nTj1*2M7HV`QdaW}o{QGvJ}_auBN{=S$PY@fJW zQK2k{9-9aK2&7f%cH*@${ooIYpbktz9Bth-{4+JisS0~xMZC`3wX=My0>x5uD9Q;@ z)-PwNK5j^Wylb>}C|k|m%@n|KBolfcxrdB=W$oPfM*wu78n5i<`C8{W3&;e3Yv(jQ z;n(oTCU27HgeDSPdh9aLGNb0U>85@UdNXEw?U(rUQ4le$f@Czt6-{Sy={-`e=v@!s zGcS7Qt3M{=!4eFpN}+o!Lz~%@pwa!d(iaaTDMJ_EX+AsgH&pA{rIwF_JZRsN)bMRh zSwKzl40Wuu?hm^cS{A<>y}rr9de(^hPXMXiX@6pZ0yz>an&!*Qn-m)wDuH=q)hG=4 z{^jiU^qf4qRw?$&-Q4YX<$(xKn=LtpNALL%mY!=N>mYAfy&oSPidk=ObkUc-a5epH zd8GVX?nI=iKb&l^feiwfN7Rnb6O8M^eHHn`jE#03bGrmC&EGQyfmr*#%JGfguOuM*hJ|iHjT|A$TNgp za=9S~&S;QZw~RF=QcD+_D7CVJ%U*aRud9*t+^um(+kinhgguG^g=U25VQ8xpiMQXFn-?=LWn}f~b@ZWHpLKA)u2|i? zhpfK|>al=-S4pejA$Mwq< zeBwkf`Ax$H6&Ko>=T%V$2u3X0cxnvl{A7s@lJrh6 z@e{z&#obrb@VcTbAv$n7y<+1n5W4cqn7b1OY-1+z74%B!EO{@~9@o2FTSSsfk;y1F z37gqD*q3mSmP|oYM}(~N<%|Iuixw#}IDTa$NNV)`FJ4zZD7miP{&MQg>+>3sfzwUq z_n`xDaiv~84&mHcP!9`>IJlyJwl^F=K!C1X>ecb8ozKi#hpu&!?iCZ>gAkvDcA z0KzVsVNn^RYO@#vTX|xEbX>(WpjWZt`&S;{XqjokU(x+~1_?%WiWyIMkY zyH)bwtm`7;xvcnqgg?|qEmKQ$IoG)7@>qxcFkqeDN+{Iol_e?(;qadVc*w z89H=Id;Tu@%w2R9gF?IbavPUk%^XpJBw-u&$$>egev~S3HYiATSB-Uwz!^}GDYvf& zNb4%V(um|6Na(Kx-xQMJRf_{wvN|y~~**DJ8$FL7}G4Umc53GeI^RefCxnO0$b#_J%%tGxpnBTepqtX-$f za8x*wV?1ggY>OeMQ~16FCF4WFiIqoH7KJH9Yp}xn!K^X| zTp@0ifJ}g(6s>Q^nc;G@2mHgEc`S&a68+%~7u}SBcTFt%h}>HO&SLqmqmL(n*_&D( ziU|184l08#nojP7jEkyMBP)UZMq%IXQcym9^gwAez7{PnF-{ z*+f_6c!+3wN4^M^OI9&qb2g6)8lq9LUZ3%{Y1ntupbRL&Ci}}3QOh-qXk{P{Q2(m8 z84IKVWE111iXkIvsp>owc|M@tS9MYI8#K;?!js4!sZZ)hosF#)4+?GU^l;tDTi?Wzm6bre3| zQ`xmS4MC6U#1uQsUx`z(94@XF+FcsVJ4|`V7=3qAV*)e;0RM8{4#D1E!dJBe+mTwR z=A~YH$TOwlzarky7eQIFw+KO5QDcNCuDB&{M@vHrVrbubO6L5a_$n4W#>(tk6F@v4 z(T~^IRnb)0j}2hw8DSG;^siIZMyhrqnKJi61G_C*jfs2lN!FSv;^7Z0*o&-5W=uBf zy+^0!agY(qppVC-^q|7P?cd2+c*wuwrATP z(!mZdz!dg-2H(VaoYlQBWWf={bK^E4BH3o>TY}lncQbxN5Tx z#F;LNRo{HC(wr$yM)EUy-v)HGqQ}}iZ)RmZEdm1#tDw;d8R>}yy{qSb7o+$t4Q2dA z;MWTw3(3y|)$OvCOkSslnQ@{?7;$=85&_7%s=9vdj@))({NZvWliT)!7KBWhlI?Gs zysinGah7Qu$(hPpG~%izM|^37FrCOI)-hS;9GrRvpOY}~J1kTw;4FDPkdMwnjNc^L z{WB?pkDRf@%hbqzrWq5AaLXs*^(P7@KvV7E`Fqu%vKznio|95$uPe|QEb8H?%h)`Q zArnNFpl(}TJsVoCVGJOK$b^J=uh@Cg=U~fc`jS904$Y_9(}-xTwh=TSalC09s3H4r z2FbV79A95JWB1Otp|0!Nr};XrHY+|{1-?OPI|u@*Qzs9O6FF^8F4IxdF! za99;7WiH$39oy*M5Ar9_emD~W2{SyqDB$-lDvn*_^1W2dP{$6aJe$sA4CQS633(pS z^x6cBkrYyU$7NzG>@l_Ent?8#@}u>U$8xz8EV5grIYsfEddcs6-qLRu>Xt-saxd`c-uN$k+eUYIs+oiel?o-BgHqY*>k>gKmX zTddx+45w$3R-C!G!se2j4E&MII&6FOtzTYUnm)XxSotyddt@YwXy+|41ViJSO*IxY zgKt4kmXUb{k-4pF7{LgN>fQe_>x%cIG8=&PMe5o;z={FWy;UvIYiv`Cr+IUI@E!GXeX~Jn;fTvwla++|#m9u-+%vn2E?>Y9j?w$F&)k zDMlV1;esEDJ$*+F;yxD!mfX+ymSo1=YpB)+r9Z1#e{P49Z=Sy3mUa) zF(`9ELlwMWeBon55}fw?Gw|}L!1pQMWvOzv)^sTk)8xo(Y*Lk{M%Hmmq}bqGW*HU@ zc2%2NIubvvY3``fP;h}-VF-M}%b{LpEKKN*{8Y`y8i=KH@kU?$xj3gDy%&rrMfpc^ zD`#e`ueQl}W5k2~l{1689TQ3fcBz^~(nVX|SiSSdsV?hB_JgK+93J}@xFDFbz~vgH z$ee+kFV8xV3jG6sUs|x80ideG{~I;6F%k2=97-_KG(Q-&fpuxsc-VchHuqP zK1?aoUWz>NuX%iOo@-n4DD1ir^_71CMGo%2EfT%kYpLv5Th^POJW}8(oXabrQu`j+|ltcGTXV2B!{7;aKc5B z&6yXX|^h%98%wGZzR{=6r7;d99+f$B^j7` z_3Y%=f@5-7I_Gl&v{@A7CMqrP!}Z8q11^e)lWUwh3#iY2JroA`1WznUtu|u&Gxici z(>EuotN4(;3Gt_+HRl{2oyXy#oxu}uq)!s8z}HT(K?^OMyPs{~`O(m+?UIJW?3!R;DwM?sMOOkQIE$b`euS4`1;4d(AVPcT@*VqEu7!!xtqQ`+QeGKs`upr@NM@u% z{NvY`07_Ryh1-HDdTew0xj3DZ{lBrEhk^FCi|#tF^Mz6$Mn$NWzc7L?q>o*O-CgIn zb=r99Pvgg!XtS~}&R3d}d9UY!e!~k<;9Dz_@DS+w5lZ;OH;rzXQ@Z>YTqzqoJ!a;e z4e7H6M}G2)DBB^UDICRjGiUD)UEbFnn$gY4gdv|fTjJg(@L3Q6oT`zau)0ukVA3Xq zyA@o857{p!P>|lXTHOZGeYTWom}w*mB9qb9IUU#HWxdmg*yh80Lb**j#1=M{7=a8M zcdC9;AsiK!ld!;Fr6!KQ?2{a&v$WdeRIhJ3<)Dba&^zMWYE4i4R6JP)$JYG%`K&?Q zUze_v%uqtTGOr5HPM}b~h+y+ZM<&wce^TNPN>2R{c@bE>z1|Ti&|s0FM>=N!zFuRx z6SH`=VH)PyZ&=W;>*3|$T_tL8VM@XuCd9kT2I&;u+M&$1&h(1|7D?04a!u_|>pM5P zf#APaJe_E2TuaLurTNI-S(NjWEXd_VHLwE34b%DY{-qJbF$8b(MK%vWxCLJCZjIbM zpEV|Dvc65j{NNfZtq}M6HD&Y&_o?3Z8o*a!qd!!P3Z{| zp!A9Uh^N&ikPN=oF9Nw>w;qVE{*Ao>3k4?8w`A*LWwnsabIhns(|cs^_qYg$Dwr<`9B*ed=Bw+iqk^0zM8Vl?Fl|&Hr{5x@o5@i zwAM@+Eosglx!QF;I}zFw77HJy87_FMkh)gn&1K71hV#Z)qB4-3(UqEq^7g+JED3VR zMy$V+ajN#EXaqM6XseXU7j4ikLgM97N5`1s0=(V>VQtU&9y=Hd3N6h@KIj1PnvU92 z;gYaAkNa351F*`Ij^4>gDgDUaYsW>cx`WXFaI2GFn+{GkrDG$zwofjP)83#%8Lq)A zo$yDR{uNxWe>NM>W3$Yqqh>PUuU$&ju$snv`2?_^y9)qqj7MHexMna$M$@+NO`C)`B102A)E2OM;Pq}sC`A= zmF1<&stN-sMGygwvmeAOJ@t{bIvTs&cY5D&Ae|{oOgyeWew!2{bBDZ2f>_YB{NWs3 zLf%yBG_x*es9TXxUY4%8`>=c-!5V%t8tbz`t*5CQ`dh7;;uy4%!Yi^^GGlC&c>O3u zW?fS%G7TVz13geI#p7|~VZ0PQPGa|QXpH*bKKdEq6iF$X-RgC$ED{_jxugDK=ratG z%o0j`7oePKr3v9#DSMe+%6 zXOaVBG7xAY?WpN#R$ImDxWu)YhbB0@ilf$2=GP{8Ol>B@eO_v8lYc#NUFo1LEE5p& z%)<(6R0PICOL^$kC)J zcoHl;4v0obBkFu@;xR=Fagw8gyyw{Y5Wz^h!Tq^ zmsZzO0VeA;>f(;)fv;rnRMfog0F7&nl$`pB&$VU2t0tw~7AS*vc3$HB@BRB!conl* z!tu&(Ci{?Get?vxYGS@634*(5EuAf172`)u#w{h?xQR-(kFnbvPX3}sPCNb&e-iVa zgG3Mz%1HpJ7YXJ_kVzRHistlRUVr?Z-W^qropNURhhbBI6BNGl z1CtZz*ct+`Dxhd4*9*&H$g>4}y7~yj*o;v#6y>dj-FM^oi@H>i-DbX>!hf^*h2AoU zLmHZLCUz0gy}^E@A5Z+b+34!Kko&Sn{Bq^_MaVzZ$$g zm{CB=$zoLe3fo;5%xtUfgPz3y%<16d;;eMnWf?xl34Gm%25xLWR8e10zm9_FuzA0W zShH>ZxWxCq(TTgv(%%eijf3Xyk3Kp@wC~;GmkwUexnQi+!dwTfzhJtTjeq3h&z zDAXkwL#@wYq6zppGHln=8Yx;SCu{T*ZRkg??UPk4y)CDZ7hVDIvIfnJ#8@~JD&q2_ z+wZB12j_7D)YI}5;!}K!Z>?B~w5Yp@fUlcAxN=Aok27fefAGneIqPElm&|*usF~?1&ml9JwoBmRO>kCg%9<{?Y_w3gajKU{_j0*F~Km52deaW2GW4DmwgZe zp&jx;-V()dnLQ*)-0JqE z58*s+W`>DD{*f1NzN=C`2gg6P?nvX7)1HoTCMpVPX^J^E;^mj4>pRPgP7egLCpy=1 ze^Om#dz6mey}dBio6iQtat*&j$>GSCWZ^~?T@p3IV~_r>F5NLa52_RrU`N=848Pb9 z>7rSxuEx){!gMUbue4ame zsM5Ew@Vq%q#l23Wg1k#rWNd2)+qCm|Ke}ADB3TscuJX1##_ndt3{`K+i|7`>hRdSh z!L7zA2Gy2+WjI#n=#6(K!{B7h=7oasPnRD8NOSXgC`rn&r|ava!;gr$omw)b9-_5U z87?t#u6Ex#O1pow`Lj^G7_{K;Wr zML1DzPNw|3kt0NlH0os*_a$v}gT&O~(lLI1@ED!;2#!WQlwy@U_=RH0#XdgoS26>! z^x@T4JRzlTKbVav88MP411u?TRD9POa%y=e3lqE9r%weQmpy|2As-3gv|Z63OCktU z!^pHUKhub$hM01_>`mwupwZ=jFszj=9>HqLsC`vZ=*8;R)N^JZaCV3Y;htCwXEZMv zU-YAfA@S()e$HZK{k7~$y)f&_pUbl!vRw;=L6BUz-wrDWa_9I}dyrrQzcln2jD$Dc zAt9Tzv;dYF0KCxnOutjEsm|h0F~uO`8%2JKd#!1Sb!Oc(zFV8h^}R~Q(&WaQGnC8e z3}xn1)>psbgiF@;aF#w$UmcQpUC>uKQb7JjNoK73dpQxn+Z;L(>w6uk$euTHg_XTa zj!k)dc}K-8Hu#4gNy!3^4W@*`y~9dq!4=c7WU~D1P}%hAHLICJUlD>V*J8~d6E=*M z2>N0DB$7OXJf&p2i~L>p>zcplvWNQeKcX=B zl^Jt|*SXZ%6X)+)XkAPihM4 zXpe`nRDwD`+gf&e5!!ETO7Fc&B<_7dwdQm#rZ8U$Gaga277Xf!C*@u0JJ|3}PVF)M zfO>BwhX9jRAI$<91r66fbM#ZgYUh8pvwsuyhwsDT<)-j`xTbIm33+{tgQD?P7>(?C z1{dX!9?258`9%yuNR zZrJ3V*3oEfE|)oLwfx+R0kyq8XP>s6sB%l>`1JsZ!aS?_TQB5(tLmCLrl3BruFz+K zl;t+f#Y?r&*{ACAW}*J7Wk6%_e`pNc0X4$Y{h7`hFwO&Kd7JAVVMjeTSdRI9s%~KU zP3xSgs&D?&y#TKQsq>qY-xWanfj2e2{F3y}Jh(~<*loa~i(rd2svk;@%$d0b*nCA% zdT3Jl*)N*CfVOMjAbPS#OQYWtZ@}|I?*@!VzJk^b{>ltlrm6D|@yYnyt;DRy=^rz3 zItAUIJ)f?a;a8lIK;|!3*v*m&H+ZPrh)bV{rAlH@@rxICmj!7s0tW7n{|3!h@hkbJ z*^CQx+tAyBOsmL7fx?f>!R8z448V_zj564HbHf1rHvyBB#!~O^q5JrNUz*Tr;4M*7 z3jCH}+b|$>ey?I1rh?BhePLx7Q4!(OH*%D937h%g%<7Eli}X-qPG z1`5T7bQ5E=H)E_cqkQqhZK=fZWW}gT$6`G*VYjkJqNpLl8*I7$ppK*8fkMtLZqyLn z*&jjdnP>v&_=xU)wv?Gng$n@k>OtrLo&SvTCs-#D*sx_z7#Et13}NN%AO%jeYEY zqf4a&#u}W1h2}Usdk99TEke3ri=5eppkV%MUQ{rc;;p!-@7z2yi5x&L8>lypsTacA zac&#@+&(cZ41*cLg%X$Pd3vBcfUmK^{QAlkB>8ltyZ~^p490#R8iZ9;Aw)34)P3Ka z5Jub?*^(iPu`7=HU;C?oCIT*$mAdigx&oBasS_tv% zwVKFsN7*X?<&h8Wvcek5&%{u?|4lPeo8AIcf~<*j7+(PnF`7k!n#OLcVJ^=J_@X{C z_dW-s9wZULEQCX^Nc1(m1X&xh18Eq#1x)aF@eG(0Dg60$f9C%%0AsP2$CHA;kclI; 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 szEXg#@i$LL?j?htz)Z@n+a literal 0 HcmV?d00001 diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index c76b209..5e745f4 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -12,6 +12,7 @@ PRECOMPILED_HEADER = src/precompiled.h QT += widgets QT += websockets +QT += qml quick TARGET = SilentDragonLite @@ -33,6 +34,7 @@ mac: LIBS+= -Wl,-bind_at_load RESOURCES = application.qrc + MOC_DIR = bin OBJECTS_DIR = bin UI_DIR = src @@ -105,6 +107,7 @@ HEADERS += \ src/contactmodel.h FORMS += \ + src/contactrequest.ui \ src/encryption.ui \ src/mainwindow.ui \ src/migration.ui \ diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 1a2bad3..70df68e 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -8,7 +8,7 @@ AddressBookModel::AddressBookModel(QTableView *parent) : QAbstractTableModel(parent) { - headers << tr("Label") << tr("Address") << tr("HushChatAddress") << tr("cid"); + headers << tr("Avatar")<< tr("Label") << tr("Address") << tr("HushChatAddress") << tr("CID"); this->parent = parent; loadData(); } @@ -38,10 +38,10 @@ void AddressBookModel::loadData() ); } -void AddressBookModel::addNewLabel(QString label, QString addr, QString myAddr, QString cid) +void AddressBookModel::addNewLabel(QString label, QString addr, QString myAddr, QString cid, QString avatar) { //labels.push_back(QPair(label, addr)); - AddressBook::getInstance()->addAddressLabel(label, addr, myAddr, cid); + AddressBook::getInstance()->addAddressLabel(label, addr, myAddr, cid, avatar); updateUi(); } @@ -59,7 +59,7 @@ void AddressBookModel::removeItemAt(int row) if (row >= labels.size()) return; - AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress(), labels[row].getMyAddress(),labels[row].getCid()); + AddressBook::getInstance()->removeAddressLabel(labels[row].getName(), labels[row].getPartnerAddress(), labels[row].getMyAddress(),labels[row].getCid(),labels[row].getAvatar()); labels.clear(); labels = AddressBook::getInstance()->getAllAddressLabels(); dataChanged(index(0, 0), index(labels.size()-1, columnCount(index(0,0))-1)); @@ -70,7 +70,7 @@ ContactItem AddressBookModel::itemAt(int row) { if (row >= labels.size()) { - ContactItem item = ContactItem("", "", "", ""); + ContactItem item = ContactItem("", "", "", "",""); return item; } @@ -97,10 +97,11 @@ QVariant AddressBookModel::data(const QModelIndex &index, int role) const { switch(index.column()) { - case 0: return labels.at(index.row()).getName(); - case 1: return labels.at(index.row()).getPartnerAddress(); - case 2: return labels.at(index.row()).getMyAddress(); - case 3: return labels.at(index.row()).getCid(); + case 0: return labels.at(index.row()).getAvatar(); + case 1: return labels.at(index.row()).getName(); + case 2: return labels.at(index.row()).getPartnerAddress(); + case 3: return labels.at(index.row()).getMyAddress(); + case 4: return labels.at(index.row()).getCid(); } } @@ -168,6 +169,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) auto myAddr = ab.addr_chat->text().trimmed(); QString newLabel = ab.label->text(); QString cid = ab.cid->text(); + QString avatar = "res/yoda.png"; if (addr.isEmpty() || newLabel.isEmpty()) { @@ -204,7 +206,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) } ////// We need a better popup here. - AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid); + AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid,avatar); QMessageBox::critical( parent, QObject::tr("Add Successfully"), @@ -256,7 +258,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) continue; // Add label, address. - model.addNewLabel(items.at(1), items.at(0), "", ""); + model.addNewLabel(items.at(1), items.at(0), "", "", ""); numImported++; } @@ -267,7 +269,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) ); }); - auto fnSetTargetLabelAddr = [=] (QLineEdit* target, QString label, QString addr, QString myAddr, QString cid) { + auto fnSetTargetLabelAddr = [=] (QLineEdit* target, QString label, QString addr, QString myAddr, QString cid, QString avatar) { target->setText(label % "/" % addr % myAddr); }; @@ -284,8 +286,9 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString addr = model.itemAt(index.row()).getPartnerAddress(); QString myAddr = model.itemAt(index.row()).getMyAddress(); QString cid = model.itemAt(index.row()).getCid(); + QString avatar = model.itemAt(index.row()).getCid(); d.accept(); - fnSetTargetLabelAddr(target, lbl, addr, myAddr, cid); + fnSetTargetLabelAddr(target, lbl, addr, myAddr, cid, avatar); }); // Right-Click @@ -299,13 +302,14 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString addr = model.itemAt(index.row()).getPartnerAddress(); QString myAddr = model.itemAt(index.row()).getMyAddress(); QString cid = model.itemAt(index.row()).getCid(); + QString avatar = model.itemAt(index.row()).getAvatar(); QMenu menu(parent); if (target != nullptr) menu.addAction("Pick", [&] () { d.accept(); - fnSetTargetLabelAddr(target, lbl, addr, myAddr, cid); + fnSetTargetLabelAddr(target, lbl, addr, myAddr, cid, avatar); }); menu.addAction(QObject::tr("Copy address"), [&] () { @@ -324,7 +328,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) auto selection = ab.addresses->selectionModel(); if (selection && selection->hasSelection() && selection->selectedRows().size() > 0) { auto item = model.itemAt(selection->selectedRows().at(0).row()); - fnSetTargetLabelAddr(target, item.getName(), item.getMyAddress(), item.getPartnerAddress(), item.getCid()); + fnSetTargetLabelAddr(target, item.getName(), item.getMyAddress(), item.getPartnerAddress(), item.getCid(), item.getAvatar()); } }; @@ -370,7 +374,7 @@ void AddressBook::readFromStorage() //qDebug() << "0:" << stuff[i][0]; //qDebug() << "1:" << stuff[i][1]; //qDebug() << "2:" << stuff[i][2]; - ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3]); + ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); //qDebug() << "contact=" << contact.toQTString(); allLabels.push_back(contact); } @@ -406,6 +410,7 @@ void AddressBook::writeToStorage() c.push_back(item.getPartnerAddress()); c.push_back(item.getMyAddress()); c.push_back(item.getCid()); + c.push_back(item.getAvatar()); contacts.push_back(c); } out << QString("v1") << contacts; @@ -428,22 +433,22 @@ QString AddressBook::writeableFile() // Add a new address/label to the database -void AddressBook::addAddressLabel(QString label, QString address, QString myAddr, QString cid) +void AddressBook::addAddressLabel(QString label, QString address, QString myAddr, QString cid, QString avatar) { Q_ASSERT(Settings::isValidAddress(address)); // getName(), remove any existing label // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) if (allLabels[i].getName() == label) - removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress(),allLabels[i].getMyAddress(), allLabels[i].getCid()); + removeAddressLabel(allLabels[i].getName(), allLabels[i].getPartnerAddress(),allLabels[i].getMyAddress(), allLabels[i].getCid(), allLabels[i].getAvatar()); - ContactItem item = ContactItem(label, address, myAddr, cid); + ContactItem item = ContactItem(label, address, myAddr, cid, avatar); allLabels.push_back(item); writeToStorage(); } // Remove a new address/label from the database -void AddressBook::removeAddressLabel(QString label, QString address, QString myAddr, QString cid) +void AddressBook::removeAddressLabel(QString label, QString address, QString myAddr, QString cid, QString avatar) { // Iterate over the list and remove the label/address for (int i=0; i < allLabels.size(); i++) diff --git a/src/addressbook.h b/src/addressbook.h index 6f8308b..6c7a450 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -12,7 +12,7 @@ public: AddressBookModel(QTableView* parent); ~AddressBookModel(); - void addNewLabel(QString label, QString address, QString myAddr, QString cid); + void addNewLabel(QString label, QString address, QString myAddr, QString cid, QString avatar); void updateUi(); void removeItemAt(int row); //QPair itemAt(int row); @@ -43,10 +43,10 @@ public: static QString addressFromAddressLabel(const QString& lblAddr); // Add a new address/label to the database - void addAddressLabel(QString label, QString address, QString myAddr, QString cid); + void addAddressLabel(QString label, QString address, QString myAddr, QString cid, QString avatar); // Remove a new address/label from the database - void removeAddressLabel(QString label, QString address, QString myAddr, QString cid); + void removeAddressLabel(QString label, QString address, QString myAddr, QString cid, QString avatar); // Update a label/address void updateLabel(QString oldlabel, QString address, QString newlabel); diff --git a/src/addressbook.ui b/src/addressbook.ui index c2d255d..6f3015d 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -30,7 +30,7 @@ - Nickname + <html><head/><body><p align="right">Nickname :</p></body></html> @@ -51,9 +51,130 @@ + + + + <html><head/><body><p align="right">Avatar :</p></body></html> + + + + + + + + Stag + + + + :/icons/res/hirsch.png + + + + + + Denio + + + + :/icons/res/denio.png + + + + + + Duke + + + + :/icons/res/duke.png + + + + + + Yoda + + + + :/icons/res/yoda.png + + + + + + Berg + + + + :/icons/res/Berg.png + + + + + + Sharpee + + + + :/icons/res/sharpee.png + + + + + + Garflied + + + + :/icons/res/garfield.png + + + + + + Snoopy + + + + :/icons/res/snoopy.png + + + + + + Popey + + + + :/icons/res/popey.png + + + + + + Pinguin + + + + :/icons/res/pinguin.png + + + + + + SDLogo + + + + :/icons/res/sdlogo2.png + + + + + diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 956bd63..6131485 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -3,32 +3,27 @@ #include "mainwindow.h" void ContactModel::renderContactList(QListView* view) -{ // QStandardItem(const QIcon & icon, const QString & text) +{ QStandardItemModel* contact = new QStandardItemModel(); - //} + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { - //QStandardItem* Items = new QStandardItem(); auto theme = Settings::getInstance()->get_theme_name(); - if ((theme == "dark" || theme == "midnight")) { - QStandardItem* Items1 = new QStandardItem(QIcon("res/sdlogo.png"),c.getName()); - contact->appendRow(Items1); - view->setModel(contact); - view->setIconSize(QSize(60,70)); - view->setUniformItemSizes(true); - view->setDragDropMode(QAbstractItemView::DropOnly);; - } - if (theme == "default" || theme == "blue"){ + if ((theme == "dark" || theme == "midnight")) { + + // QIcon avatar = c.getAvatar(); + QString avatar = "res/yoda.png"; - QStandardItem* Items1 = new QStandardItem(QIcon("res/sdlogo2.png"),c.getName()); - contact->appendRow(Items1); - view->setModel(contact); - view->setIconSize(QSize(60,70)); - view->setUniformItemSizes(true); - view->setDragDropMode(QAbstractItemView::DropOnly);; + QStandardItem* Items1 = new QStandardItem(QIcon(avatar) ,c.getName()); + contact->appendRow(Items1); + view->setModel(contact); + view->setIconSize(QSize(60,70)); + view->setUniformItemSizes(true); + view->setDragDropMode(QAbstractItemView::DropOnly); } + diff --git a/src/contactmodel.h b/src/contactmodel.h index 2bf3fe3..b643bdb 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -14,15 +14,17 @@ class ContactItem QString _partnerAddress; QString _name; QString _cid; + QString _avatar; public: ContactItem(); - ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid) + ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid, QString avatar) { _name = name; _myAddress = myAddress; _partnerAddress = partnerAddress; _cid = cid; + _avatar = avatar; } QString getName() const @@ -45,6 +47,11 @@ class ContactItem return _cid; } + QString getAvatar() const + { + return _avatar; + } + void setName(QString name) { _name = name; @@ -64,10 +71,14 @@ class ContactItem { _cid = cid; } + void setAvatar(QString avatar) + { + _avatar = avatar; + } QString toQTString() { - return _name + "|" + _partnerAddress + "|" + _myAddress + "|" + _cid; + return _name + "|" + _partnerAddress + "|" + _myAddress + "|" + _cid + "|"+ _avatar; } }; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index d685005..05126f8 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1319,6 +1319,7 @@ void MainWindow::setupReceiveTab() { // Receive tab add/update label QObject::connect(ui->rcvUpdateLabel, &QPushButton::clicked, [=]() { QString addr = ui->listReceiveAddresses->currentText(); + if (addr.isEmpty()) return; @@ -1332,7 +1333,7 @@ void MainWindow::setupReceiveTab() { if (!curLabel.isEmpty() && label.isEmpty()) { info = "Removed Label '" % curLabel % "'"; - AddressBook::getInstance()->removeAddressLabel(curLabel, addr, "", ""); + AddressBook::getInstance()->removeAddressLabel(curLabel, addr, "", "","" ); } else if (!curLabel.isEmpty() && !label.isEmpty()) { info = "Updated Label '" % curLabel % "' to '" % label % "'"; @@ -1340,7 +1341,7 @@ void MainWindow::setupReceiveTab() { } else if (curLabel.isEmpty() && !label.isEmpty()) { info = "Added Label '" % label % "'"; - AddressBook::getInstance()->addAddressLabel(label, addr, "", ""); + AddressBook::getInstance()->addAddressLabel(label, addr, "", "", ""); } // Update labels everywhere on the UI From 5dbfe1e4adbd5f6e2a127447061e90866e3b99d0 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 4 May 2020 16:06:08 +0200 Subject: [PATCH 067/251] choose a avatar when create a contact --- application.qrc | 20 +++++++++---------- res/{denio.png => Denio.png} | Bin res/{duke.png => Duke.png} | Bin res/{garfield.png => Garfield.png} | Bin res/{hirsch.png => Hirsch.png} | Bin res/{mickey.png => Mickey.png} | Bin res/{pinguin.png => Pinguin.png} | Bin res/{popey.png => Popey.png} | Bin res/{sharpee.png => Sharpee.png} | Bin res/{snoopy.png => Snoopy.png} | Bin res/Unbenannt-4 Kopie.png | Bin 88464 -> 0 bytes res/{yoda.png => Yoda.png} | Bin src/addressbook.cpp | 30 ++++++++++++++++++++++++++++- src/addressbook.h | 9 +++++++++ src/addressbook.ui | 28 ++++++++++++++++++--------- src/contactmodel.cpp | 2 +- src/mainwindow.cpp | 26 +++++++++++++++++++++++-- src/mainwindow.h | 1 + src/settings.cpp | 9 ++++----- src/settings.h | 2 ++ 20 files changed, 99 insertions(+), 28 deletions(-) rename res/{denio.png => Denio.png} (100%) rename res/{duke.png => Duke.png} (100%) rename res/{garfield.png => Garfield.png} (100%) rename res/{hirsch.png => Hirsch.png} (100%) rename res/{mickey.png => Mickey.png} (100%) rename res/{pinguin.png => Pinguin.png} (100%) rename res/{popey.png => Popey.png} (100%) rename res/{sharpee.png => Sharpee.png} (100%) rename res/{snoopy.png => Snoopy.png} (100%) delete mode 100644 res/Unbenannt-4 Kopie.png rename res/{yoda.png => Yoda.png} (100%) diff --git a/application.qrc b/application.qrc index 42f093b..62ceb1d 100644 --- a/application.qrc +++ b/application.qrc @@ -12,16 +12,16 @@ res/sdlogo.png res/sdlogo2.png res/Berg.png - res/denio.png - res/duke.png - res/sharpee.png - res/yoda.png - res/mickey.png - res/snoopy.png - res/popey.png - res/garfield.png - res/pinguin.png - res/hirsch.png + res/Denio.png + res/Duke.png + res/Sharpee.png + res/Yoda.png + res/Mickey.png + res/Snoopy.png + res/Popey.png + res/Garfield.png + res/Pinguin.png + res/Hirsch.png res/hushdlogo.gif diff --git a/res/denio.png b/res/Denio.png similarity index 100% rename from res/denio.png rename to res/Denio.png diff --git a/res/duke.png b/res/Duke.png similarity index 100% rename from res/duke.png rename to res/Duke.png diff --git a/res/garfield.png b/res/Garfield.png similarity index 100% rename from res/garfield.png rename to res/Garfield.png diff --git a/res/hirsch.png b/res/Hirsch.png similarity index 100% rename from res/hirsch.png rename to res/Hirsch.png diff --git a/res/mickey.png b/res/Mickey.png similarity index 100% rename from res/mickey.png rename to res/Mickey.png diff --git a/res/pinguin.png b/res/Pinguin.png similarity index 100% rename from res/pinguin.png rename to res/Pinguin.png diff --git a/res/popey.png b/res/Popey.png similarity index 100% rename from res/popey.png rename to res/Popey.png diff --git a/res/sharpee.png b/res/Sharpee.png similarity index 100% rename from res/sharpee.png rename to res/Sharpee.png diff --git a/res/snoopy.png b/res/Snoopy.png similarity index 100% rename from res/snoopy.png rename to res/Snoopy.png diff --git a/res/Unbenannt-4 Kopie.png b/res/Unbenannt-4 Kopie.png deleted file mode 100644 index e9d0d54e65200d11b447666bfe67509719442df2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88464 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%0ALx8KyW@??b$Thi56L| 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.trimmed(); QString newLabel = ab.label->text(); QString cid = ab.cid->text(); - QString avatar = "res/yoda.png"; + + + QString avatar = QString("res/") + ab.comboBoxAvatar->currentText() + QString(".png"); + qDebug()<<"AVATAR NAME : " << avatar; if (addr.isEmpty() || newLabel.isEmpty()) { @@ -332,11 +335,34 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) } }; + // Get Avatar Data + + + // int avatar_index = ab.comboBoxAvatar->findText(AddressBook::getInstance()->get_avatar_name(), Qt::MatchExactly); + // ab.comboBoxAvatar->setCurrentIndex(avatar_index); + + // QObject::connect(ab.comboBoxAvatar, &QComboBox::currentTextChanged, [=] (QString avatar_name) { + // parent->slot_change_avatar(avatar_name); + // rpc->refresh(true); + // }); + // Refresh after the dialog is closed to update the labels everywhere. parent->getRPC()->refresh(true); model.updateUi(); //todo fix updating gui after adding } +QString AddressBook::get_avatar_name() { + // Load from the QT Settings. + // QString avatar = ab.comboBoxAvatar.text(); + // return QString() +} + +void AddressBook::set_avatar_name(QString avatar_name) { + avatar_name = "abs.comboBoxAvatar.text()"; +} + + + //============= // AddressBook singleton class //============= @@ -515,6 +541,8 @@ QString AddressBook::addLabelToAddress(QString addr) return addr; } + + QString AddressBook::addressFromAddressLabel(const QString& lblAddr) { return lblAddr.trimmed().split("/").last(); diff --git a/src/addressbook.h b/src/addressbook.h index 6c7a450..fee3ac6 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -22,6 +22,7 @@ public: int columnCount(const QModelIndex &parent) const; QVariant data(const QModelIndex &index, int role) const; QVariant headerData(int section, Qt::Orientation orientation, int role) const; + private: void loadData(); @@ -58,6 +59,14 @@ public: QString getLabelForAddress(QString address); // Get a Label's address QString getAddressForLabel(QString label); + + QString get_avatar_name(); + void set_avatar_name(QString avatar_name); + + + + + private: AddressBook(); diff --git a/src/addressbook.ui b/src/addressbook.ui index 6f3015d..4cec4b1 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -69,7 +69,7 @@ - :/icons/res/hirsch.png + :/icons/res/Hirsch.png @@ -79,7 +79,7 @@ - :/icons/res/denio.png + :/icons/res/Denio.png @@ -89,7 +89,7 @@ - :/icons/res/duke.png + :/icons/res/Duke.png @@ -99,7 +99,7 @@ - :/icons/res/yoda.png + :/icons/res/Yoda.png @@ -119,7 +119,7 @@ - :/icons/res/sharpee.png + :/icons/res/Sharpee.png @@ -129,7 +129,7 @@ - :/icons/res/garfield.png + :/icons/res/Garfield.png @@ -139,7 +139,7 @@ - :/icons/res/snoopy.png + :/icons/res/Snoopy.png @@ -149,7 +149,7 @@ - :/icons/res/popey.png + :/icons/res/Popey.png @@ -159,7 +159,17 @@ - :/icons/res/pinguin.png + :/icons/res/Pinguin.png + + + + + + Mickey + + + + :/icons/res/Mickey.png diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 6131485..0475e6e 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -13,7 +13,7 @@ void ContactModel::renderContactList(QListView* view) if ((theme == "dark" || theme == "midnight")) { // QIcon avatar = c.getAvatar(); - QString avatar = "res/yoda.png"; + QString avatar = c.getAvatar(); QStandardItem* Items1 = new QStandardItem(QIcon(avatar) ,c.getName()); contact->appendRow(Items1); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 05126f8..5e166e4 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -436,7 +436,9 @@ void MainWindow::setupSettingsModal() { this->slot_change_currency(currency_name); - ; + // Include Avatar + + // Setup theme combo @@ -461,7 +463,7 @@ void MainWindow::setupSettingsModal() { // Tell the user to restart QMessageBox::information(this, tr("Currency Change"), tr("This change can take a few seconds."), QMessageBox::Ok); }); - + // Check for updates settings.chkCheckUpdates->setChecked(Settings::getInstance()->getCheckForUpdates()); @@ -1468,6 +1470,26 @@ void MainWindow::slot_change_currency(const QString& currency_name) } } +void MainWindow::slot_change_avatar(const QString& avatar_name) + +{ + + AddressBook::getInstance()->set_avatar_name(avatar_name); + + // Include currency + + QString saved_avatar_name; + try + { + saved_avatar_name = AddressBook::getInstance()->get_avatar_name(); + + } + catch (...) + { + saved_avatar_name = "Yoda"; + + } +} void MainWindow::slot_change_theme(const QString& theme_name) diff --git a/src/mainwindow.h b/src/mainwindow.h index c767128..0441de3 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -83,6 +83,7 @@ public: public slots: void slot_change_theme(const QString& themeName); void slot_change_currency(const QString& currencyName); + void slot_change_avatar(const QString& avatarName); private: void closeEvent(QCloseEvent* event); diff --git a/src/settings.cpp b/src/settings.cpp index fbfb1cb..2d99ff7 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -225,13 +225,9 @@ QString Settings::get_currency_name() { } void Settings::set_currency_name(QString currency_name) { - QSettings().setValue("options/currency_name", currency_name); - - - + QSettings().setValue("options/currency_name", currency_name); } - QString Settings::get_theme_name() { // Load from the QT Settings. return QSettings().value("options/theme_name", false).toString(); @@ -242,6 +238,9 @@ void Settings::set_theme_name(QString theme_name) { } + + + //================================= // Static Stuff //================================= diff --git a/src/settings.h b/src/settings.h index a917d67..c598369 100644 --- a/src/settings.h +++ b/src/settings.h @@ -67,6 +67,8 @@ public: void set_currency_name(QString currency_name); + + bool isSaplingActive(); void setZECPrice(double p) { ZECPrice = p; } From dc61bb38c7e8751a5f035a673014a9050f11af1e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 4 May 2020 20:17:20 +0200 Subject: [PATCH 068/251] add contact on Chattab --- application.qrc | 2 +- res/{Hirsch.png => Stag.png} | Bin src/addressbook.cpp | 23 --- src/addressbook.ui | 2 +- src/chatmodel.cpp | 137 ++++++++------ src/chatmodel.h | 1 + src/contactmodel.cpp | 1 - src/contactrequest.ui | 338 +++++++++++++++++++++++------------ src/mainwindow.cpp | 46 ++--- src/mainwindow.h | 2 +- src/mainwindow.ui | 54 ++++-- 11 files changed, 362 insertions(+), 244 deletions(-) rename res/{Hirsch.png => Stag.png} (100%) diff --git a/application.qrc b/application.qrc index 62ceb1d..09ec74c 100644 --- a/application.qrc +++ b/application.qrc @@ -21,7 +21,7 @@ res/Popey.png res/Garfield.png res/Pinguin.png - res/Hirsch.png + res/Stag.png res/hushdlogo.gif diff --git a/res/Hirsch.png b/res/Stag.png similarity index 100% rename from res/Hirsch.png rename to res/Stag.png diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 6f209d1..d318f35 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -335,34 +335,11 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) } }; - // Get Avatar Data - - - // int avatar_index = ab.comboBoxAvatar->findText(AddressBook::getInstance()->get_avatar_name(), Qt::MatchExactly); - // ab.comboBoxAvatar->setCurrentIndex(avatar_index); - - // QObject::connect(ab.comboBoxAvatar, &QComboBox::currentTextChanged, [=] (QString avatar_name) { - // parent->slot_change_avatar(avatar_name); - // rpc->refresh(true); - // }); - // Refresh after the dialog is closed to update the labels everywhere. parent->getRPC()->refresh(true); model.updateUi(); //todo fix updating gui after adding } -QString AddressBook::get_avatar_name() { - // Load from the QT Settings. - // QString avatar = ab.comboBoxAvatar.text(); - // return QString() -} - -void AddressBook::set_avatar_name(QString avatar_name) { - avatar_name = "abs.comboBoxAvatar.text()"; -} - - - //============= // AddressBook singleton class //============= diff --git a/src/addressbook.ui b/src/addressbook.ui index 4cec4b1..b6d8d0a 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -69,7 +69,7 @@ - :/icons/res/Hirsch.png + :/icons/res/Stag.png diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 550081c..e80c436 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -164,7 +164,7 @@ QString ChatModel::getCidByTx(QString tx) { for(auto& pair : this->cidMap) { - // qDebug() << "TXID=" << pair.first << " CID=" << pair.second; + } if(this->cidMap.count(tx) > 0) @@ -247,9 +247,7 @@ Tx MainWindow::createTxFromChatPage() { void MainWindow::sendChatButton() { - - - ////////////////////////////Todo: Check if a Contact is selected////////// +////////////////////////////Todo: Check if a Contact is selected////////// // Create a Tx from the values on the send tab. Note that this Tx object // might not be valid yet. @@ -377,25 +375,80 @@ QString MainWindow::doSendChatTxValidations(Tx tx) { return ""; } +void::MainWindow::addContact() { -// Create a Tx from the current state of the Chat page. -Tx MainWindow::createTxForSafeContactRequest() { - - Ui_Dialog request; + Ui_Dialog request; QDialog dialog(this); request.setupUi(&dialog); Settings::saveRestore(&dialog); -dialog.exec(); - - Tx tx; - QObject::connect(request.cancel, &QPushButton::clicked, [&] () { + bool sapling = true; + rpc->createNewZaddr(sapling, [=] (json reply) { + QString myAddr = QString::fromStdString(reply.get()[0]); + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + ui->listReceiveAddresses->insertItem(0, myAddr); + ui->listReceiveAddresses->setCurrentIndex(0); + + qDebug() << "new generated myAddr" << myAddr; + request.myzaddr->setText(myAddr); + request.cid->setText(cid); + + }); + + + QObject::connect(request.sendRequestButton, &QPushButton::clicked, [&] () { + + QString cid = request.cid->text(); + auto addr = request.zaddr->text().trimmed(); + QString newLabel = request.labelRequest->text().trimmed(); + auto myAddr = request.myzaddr->text().trimmed(); + + QString avatar = QString("res/") + request.comboBoxAvatar->currentText() + QString(".png"); + + if (addr.isEmpty() || newLabel.isEmpty()) + { + QMessageBox::critical( + this, + QObject::tr("Address or Label Error"), + QObject::tr("Address or Label cannot be empty"), + QMessageBox::Ok + ); + return; + } + + // Test if address is valid. + if (!Settings::isValidAddress(addr)) + { + QMessageBox::critical( + this, + QObject::tr("Address Format Error"), + QObject::tr("%1 doesn't seem to be a valid hush address.").arg(addr), + QMessageBox::Ok + ); + return; + } + + ////// We need a better popup here. + AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); + QMessageBox::critical( + this, + QObject::tr("Add Successfully"), + QObject::tr("juhu").arg(newLabel), + QMessageBox::Ok + ); + return; - dialog.close(); }); + + dialog.exec(); +} - QObject::connect(request.sendRequestButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); +// Create a Tx for a contact Request +Tx MainWindow::createTxForSafeContactRequest() { + + Tx tx; + // For each addr/amt in the Chat tab { CAmount totalAmt; @@ -408,71 +461,41 @@ dialog.exec(); for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - if (request.zaddr->text().trimmed() != c.getPartnerAddress()) { + if (ui->contactNameMemo->text().trimmed() == c.getName()) { QString cid = c.getCid(); QString myAddr = c.getMyAddress(); QString type = "cont"; - QString addr = request.zaddr->text(); - - + QString addr = c.getPartnerAddress(); - QString hmemo= createHeaderMemo(type,cid,myAddr,0,0); - QString memo = request.requestmemo->toPlainText().trimmed(); + QString hmemo= createHeaderMemo(type,cid,myAddr); + QString memo = ui->memoTxtChat->toPlainText().trimmed(); tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); tx.toAddrs.push_back(ToFields{addr, amt, memo}); qDebug() << "pushback chattx"; - tx.fee = Settings::getMinerFee(); + + } + + tx.fee = Settings::getMinerFee(); return tx; - qDebug() << "ChatTx created"; - } if (request.zaddr->text().trimmed().isEmpty() == false){ + qDebug() << "RequestTx created"; - QMessageBox msg(QMessageBox::Critical, tr("Please insert a contact Address"), request.zaddr->text(), - QMessageBox::Ok, this); - - msg.exec(); - - } } - + } -void MainWindow::ContactRequest() { - - - - ////////////////////////////Todo: Check if a Contact is selected////////// - - // Create a Tx from the values on the send tab. Note that this Tx object - // might not be valid yet. - // Memos can only be used with zAddrs. So check that first - // for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - - // if (ui->contactNameMemo->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { - - // auto addr = ""; - // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { - // QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), - // tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"), - // QMessageBox::Ok, this); - - // msg.exec(); - // return; - // } - - -//}; +void MainWindow::ContactRequest() { Tx tx = createTxForSafeContactRequest(); - QString error = doSendChatTxValidations(tx); + QString error = doSendRequestTxValidations(tx); if (!error.isEmpty()) { // Something went wrong, so show an error and exit @@ -504,7 +527,7 @@ void MainWindow::ContactRequest() { } connD->status->setText(tr("Please wait...")); - connD->statusDetail->setText(tr("Your Message will be send")); + connD->statusDetail->setText(tr("Your Contact will be send")); d->show(); ui->memoTxtChat->clear(); diff --git a/src/chatmodel.h b/src/chatmodel.h index 490f336..cde16cb 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -310,6 +310,7 @@ class ChatModel void addCid(QString tx, QString cid); QString getCidByTx(QString tx); void killCidCache(); + }; #endif \ No newline at end of file diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 0475e6e..d6a7e25 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -12,7 +12,6 @@ void ContactModel::renderContactList(QListView* view) auto theme = Settings::getInstance()->get_theme_name(); if ((theme == "dark" || theme == "midnight")) { - // QIcon avatar = c.getAvatar(); QString avatar = c.getAvatar(); QStandardItem* Items1 = new QStandardItem(QIcon(avatar) ,c.getName()); diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 1bd758f..cee434f 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -13,130 +13,230 @@ Dialog - - - - 0 - 100 - 351 - 17 - - - - <html><head/><body><p>Please insert the Address of your contact :</p></body></html> - - - - - - 10 - 190 - 461 - 17 - - - - <html><head/><body><p>Insert a Message, and ask your friend for the contact request : </p><p><br/></p></body></html> - - - - - - 0 - 240 - 591 - 101 - - - - - - - 0 - 140 - 591 - 25 - - - - - - - 490 - 360 - 114 - 25 - - - - - 100 - 0 - - - - Send - - - false - - - - - - 320 - 360 - 114 - 25 - - - - - 100 - 0 - - - - Cancel - - - false - - - - - - 0 - 10 - 351 - 17 - - - - <html><head/><body><p>Please insert a Nickname for your contact :</p></body></html> - - - - - - 0 - 50 - 591 - 25 - - - + + + + + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + + + + + + + <html><head/><body><p>Please insert a Nickname for your contact :</p></body></html> + + + + + + + + Stag + + + + :/icons/res/Hirsch.png + + + + + + Denio + + + + :/icons/res/Denio.png + + + + + + Duke + + + + :/icons/res/Duke.png + + + + + + Yoda + + + + :/icons/res/Yoda.png + + + + + + Berg + + + + :/icons/res/Berg.png + + + + + + Sharpee + + + + :/icons/res/Sharpee.png + + + + + + Garfield + + + + :/icons/res/Garfield.png + + + + + + Snoopy + + + + :/icons/res/Snoopy.png + + + + + + Popey + + + + :/icons/res/Popey.png + + + + + + Pinguin + + + + :/icons/res/Pinguin.png + + + + + + Mickey + + + + :/icons/res/Mickey.png + + + + + + SDLogo + + + + :/icons/res/sdlogo2.png + + + + + + + + + + + + <html><head/><body><p>Please insert the Address of your contact :</p></body></html> + + + + + + + + + + Your HushChat Address + + + + + + + + + + + + + + The Conversation ID + + + + + + + + + + + + + + + 100 + 0 + + + + Cancel + + + false + + + + + + + + 100 + 0 + + + + Add Contact + + + false + + + + - sendRequestButton + cancel clicked() Dialog - accept() + reject() - 536 + 396 262 @@ -146,13 +246,13 @@ - cancel + sendRequestButton clicked() Dialog - reject() + accept() - 396 + 536 262 diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 5e166e4..c2b1403 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -40,10 +40,9 @@ MainWindow::MainWindow(QWidget *parent) : ui->setupUi(this); - // ui->checkBox->setChecked(true); + ui->request->setChecked(true); logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite-wallet.log")); ui->memoTxtChat->setAutoFillBackground(false); - // ui->memoTxtChat->setStyleSheet(QString::fromUtf8("background-color: rgb(224, 224, 224);")); ui->memoTxtChat->setPlaceholderText("Send Message"); ui->memoTxtChat->setTextColor(Qt::white); @@ -436,11 +435,6 @@ void MainWindow::setupSettingsModal() { this->slot_change_currency(currency_name); - // Include Avatar - - - - // Setup theme combo int theme_index = settings.comboBoxTheme->findText(Settings::getInstance()->get_theme_name(), Qt::MatchExactly); settings.comboBoxTheme->setCurrentIndex(theme_index); @@ -1008,8 +1002,22 @@ void MainWindow::setupTransactionsTab() { void MainWindow::setupchatTab() { // Send button - QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); - QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::ContactRequest); + + // Is request Contact checked? + + if (ui->request->isChecked()) { + + + QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); + + // qDebug() <request->isChecked()->text(); + }else{ + + QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); + + } + + QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); ///////// Set selected Zaddr for Chat with Doubleklick @@ -1470,26 +1478,6 @@ void MainWindow::slot_change_currency(const QString& currency_name) } } -void MainWindow::slot_change_avatar(const QString& avatar_name) - -{ - - AddressBook::getInstance()->set_avatar_name(avatar_name); - - // Include currency - - QString saved_avatar_name; - try - { - saved_avatar_name = AddressBook::getInstance()->get_avatar_name(); - - } - catch (...) - { - saved_avatar_name = "Yoda"; - - } -} void MainWindow::slot_change_theme(const QString& theme_name) diff --git a/src/mainwindow.h b/src/mainwindow.h index 0441de3..a98e622 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -83,7 +83,6 @@ public: public slots: void slot_change_theme(const QString& themeName); void slot_change_currency(const QString& currencyName); - void slot_change_avatar(const QString& avatarName); private: void closeEvent(QCloseEvent* event); @@ -116,6 +115,7 @@ private: void cancelButton(); void sendButton(); void sendChatButton(); + void addContact(); void ContactRequest(); void addAddressSection(); void maxAmountChecked(int checked); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index e58e4ad..4c958a3 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1334,7 +1334,7 @@ 0 40 341 - 551 + 601 @@ -1342,8 +1342,8 @@ 0 - 0 - 311 + 20 + 341 20 @@ -1355,9 +1355,9 @@ 340 - 460 + 560 921 - 131 + 81 @@ -1368,7 +1368,7 @@ 1190 - 610 + 650 47 17 @@ -1396,8 +1396,8 @@ - 710 - 610 + 720 + 640 114 25 @@ -1418,8 +1418,8 @@ - 50 - 600 + 30 + 640 211 25 @@ -1456,7 +1456,7 @@ 340 40 921 - 421 + 521 @@ -1484,6 +1484,19 @@ true + + + + 340 + 650 + 261 + 23 + + + + Is this message a contact request? + + @@ -1694,5 +1707,22 @@ - + + + request + stateChanged(int) + MainWindow + update() + + + 481 + 721 + + + 636 + 389 + + + + From 5a8d8c7421ef899157e11f47a8c4c9a3cf3d68df Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 4 May 2020 20:23:08 +0200 Subject: [PATCH 069/251] fix stag png --- src/contactrequest.ui | 2 +- src/mainwindow.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/contactrequest.ui b/src/contactrequest.ui index cee434f..5edcfa6 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -36,7 +36,7 @@ - :/icons/res/Hirsch.png + :/icons/res/Stag.png diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index c2b1403..a4bee22 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -40,7 +40,7 @@ MainWindow::MainWindow(QWidget *parent) : ui->setupUi(this); - ui->request->setChecked(true); + ui->request->setChecked(false); logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite-wallet.log")); ui->memoTxtChat->setAutoFillBackground(false); ui->memoTxtChat->setPlaceholderText("Send Message"); From b8a14438329a6c98f7abf26004e737a78e8406c5 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 4 May 2020 23:40:28 +0200 Subject: [PATCH 070/251] show outgoing memos correctly --- application.qrc | 2 +- res/Elsa.png | Bin 0 -> 93888 bytes src/addressbook.ui | 10 ++++++++++ src/chatmodel.cpp | 13 +++++++------ src/contactrequest.ui | 22 ++++++++++++++-------- src/controller.cpp | 12 ++++++------ src/mainwindow.cpp | 4 ---- src/mainwindow.h | 3 ++- src/mainwindow.ui | 28 ++++++++++++---------------- 9 files changed, 52 insertions(+), 42 deletions(-) create mode 100644 res/Elsa.png diff --git a/application.qrc b/application.qrc index 09ec74c..51a4cc4 100644 --- a/application.qrc +++ b/application.qrc @@ -22,10 +22,10 @@ res/Garfield.png res/Pinguin.png res/Stag.png + res/Elsa.png res/hushdlogo.gif - res/logobig.gif res/silentdragonlite-animated.gif res/silentdragonlite-animated-dark.gif res/silentdragonlite-animated-startup.gif diff --git a/res/Elsa.png b/res/Elsa.png new file mode 100644 index 0000000000000000000000000000000000000000..b9d1341501a88c8fa2dca612b7509453301402df GIT binary patch literal 93888 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 XQyn;mUG!Vl00000NkvXXu0mjf8pK|s literal 0 HcmV?d00001 diff --git a/src/addressbook.ui b/src/addressbook.ui index b6d8d0a..f7877bf 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -73,6 +73,16 @@ + + + Elsa + + + + :/icons/res/Elsa.png + + + Denio diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index e80c436..034500f 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -228,12 +228,13 @@ Tx MainWindow::createTxFromChatPage() { QString hmemo= createHeaderMemo(type,cid,myAddr); QString memo = ui->memoTxtChat->toPlainText().trimmed(); + - // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat - - tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; - + // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat tx.toAddrs.push_back(ToFields{addr, amt, memo}); + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); + + qDebug() << "pushback chattx"; } } @@ -472,9 +473,9 @@ Tx MainWindow::createTxForSafeContactRequest() { QString hmemo= createHeaderMemo(type,cid,myAddr); QString memo = ui->memoTxtChat->toPlainText().trimmed(); - - tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); tx.toAddrs.push_back(ToFields{addr, amt, memo}); + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); + qDebug() << "pushback chattx"; diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 5edcfa6..e2939ee 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -28,7 +28,7 @@ - + @@ -40,6 +40,16 @@ + + + Elsa + + + + :/icons/res/Elsa.png + + + Denio @@ -162,7 +172,7 @@ - + @@ -172,12 +182,8 @@ - - - - - - + + diff --git a/src/controller.cpp b/src/controller.cpp index 81676e6..5fdb7e6 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -882,7 +882,7 @@ void Controller::refreshTransactions() { QString cid; QString contact; - + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { if (ui->contactNameMemo->text().trimmed() == c.getName()) { @@ -894,7 +894,7 @@ void Controller::refreshTransactions() { contact = c.getName(); }else{ contact = "";} - + ChatItem item = ChatItem( datetime, address, @@ -906,6 +906,7 @@ void Controller::refreshTransactions() { ); chatModel->addMessage(item); + } } @@ -918,11 +919,9 @@ void Controller::refreshTransactions() { QList addresses; for (auto item : items) { // Concat all the addresses - if (item.amount == 0) { - - }else{ + - addresses.push_back(item.address); } + addresses.push_back(item.address); } @@ -932,6 +931,7 @@ void Controller::refreshTransactions() { txdata.push_back(TransactionItem{ "send", datetime, address, txid,confirmations, items }); + } else { // Incoming Transaction address = (it["address"].is_null() ? "" : QString::fromStdString(it["address"])); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index a4bee22..325f076 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1077,10 +1077,6 @@ void ChatMemoEdit::setMaxLen(int len) { updateDisplay(); } -void ChatMemoEdit::setLenDisplayLabel(QLabel* label_40) { - this->lenDisplayLabel = label_40; -} - void ChatMemoEdit::setSendChatButton(QPushButton* button) { this->sendChatButton = button; } diff --git a/src/mainwindow.h b/src/mainwindow.h index a98e622..ee2e5ee 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -93,6 +93,7 @@ private: void setupBalancesTab(); void setuphushdTab(); void setupchatTab(); + void setLenDisplayLabel(QLabel* label); void updateContacts(); void updateChat(); @@ -168,7 +169,7 @@ public: ChatMemoEdit(QWidget* parent); void setMaxLen(int len); - void setLenDisplayLabel(QLabel* label_40); + void setSendChatButton(QPushButton* button); void includeReplyTo(QString replyToAddress); void updateDisplay(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 4c958a3..b5f3539 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1337,6 +1337,18 @@ 601 + + true + + + QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked + + + false + + + QAbstractItemView::SingleSelection + @@ -1364,22 +1376,6 @@ font: 11pt "Noto Color Emoji"; - - - - 1190 - 650 - 47 - 17 - - - - 0 / 512 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - From 492ebbf1c5ee0de3c8b6b82c49f31f0520c97932 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 5 May 2020 17:15:05 +0200 Subject: [PATCH 071/251] some changes --- src/addressbook.cpp | 2 +- src/chatmodel.cpp | 54 ++++++++++++++++---------------------------- src/contactmodel.cpp | 1 + src/controller.cpp | 41 ++++++--------------------------- src/mainwindow.cpp | 1 + 5 files changed, 30 insertions(+), 69 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index d318f35..1dd1a8f 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -8,7 +8,7 @@ AddressBookModel::AddressBookModel(QTableView *parent) : QAbstractTableModel(parent) { - headers << tr("Avatar")<< tr("Label") << tr("Address") << tr("HushChatAddress") << tr("CID"); + headers << tr("Label") << tr("Address") << tr("HushChatAddress") << tr("CID"); this->parent = parent; loadData(); } diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 034500f..b55dd5c 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -10,13 +10,10 @@ #include "ui_memodialog.h" #include "ui_contactrequest.h" #include "addressbook.h" -#include -#include -#include #include +#include using namespace std; -using namespace boost; ChatModel::ChatModel(std::map chatItems) { @@ -108,52 +105,40 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) for (auto &c : this->chatItems) for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) { - - - //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid - if ( - (ui->contactNameMemo->text().trimmed() == c.second.getContact()) && - (c.second.getMemo().startsWith("{") == false) && - (c.second.getMemo().isEmpty() == false) && - (p.getPartnerAddress() == c.second.getAddress()) - - ) - { - + + if ((c.second.getContact() == ui->contactNameMemo->text().trimmed()) && (p.getPartnerAddress() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false) && (c.second.isOutgoing() == true)) + { + QStandardItem* Items = new QStandardItem(c.second.toChatLine()); Items->setData("Outgoing", Qt::UserRole +1); chat->appendRow(Items); - - ui->listChat->setModel(chat); - ui->listChat->setItemDelegate(new ListViewDelegate()); - - } - + ui->listChat->setModel(chat); - if ( - (ui->contactNameMemo->text().trimmed() == c.second.getContact()) && - (c.second.getMemo().startsWith("{") == false) && - (c.second.getMemo().isEmpty() == false) && - (p.getMyAddress() == c.second.getAddress()) + } + else{ + ui->listChat->setModel(chat); - ) + } + + if ((c.second.getContact() == ui->contactNameMemo->text().trimmed()) && ((p.getMyAddress() == c.second.getAddress()) && c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false) && (c.second.isOutgoing() == false)) { QStandardItem* Items1 = new QStandardItem(c.second.toChatLine()); Items1->setData("Incoming", Qt::UserRole +1); chat->appendRow(Items1); + ui->listChat->setModel(chat); + } + else{ - ui->listChat->setModel(chat); - ui->listChat->setItemDelegate(new ListViewDelegate()); - + ui->listChat->setModel(chat); + } - } } - +} void ChatModel::addCid(QString tx, QString cid) { @@ -231,8 +216,9 @@ Tx MainWindow::createTxFromChatPage() { // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat - tx.toAddrs.push_back(ToFields{addr, amt, memo}); + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); + tx.toAddrs.push_back(ToFields{addr, amt, memo}); diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index d6a7e25..17d3fd4 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -20,6 +20,7 @@ void ContactModel::renderContactList(QListView* view) view->setIconSize(QSize(60,70)); view->setUniformItemSizes(true); view->setDragDropMode(QAbstractItemView::DropOnly); + view->show(); } diff --git a/src/controller.cpp b/src/controller.cpp index 5fdb7e6..fd1189f 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -149,10 +149,6 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) allRecepients.push_back(rec) ; } - int decider = qrand() % ((100 + 1)-1)+ 1;// random int between 1 and 100 - //50% chance of adding another zdust, shuffle. - - if(decider % 4 == 3) allRecepients.insert(std::begin(allRecepients), { dust.at(0), dust.at(1), @@ -164,21 +160,6 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) dust.at(7), dust.at(8) }) ; - // std::shuffle(allRecepients.begin(),allRecepients.end(),std::random_device()); - else - allRecepients.insert(std::begin(allRecepients), { - dust.at(0), - dust.at(1), - dust.at(2), - dust.at(3), - dust.at(4), - dust.at(5), - dust.at(6), - dust.at(7), - dust.at(8), - dust.at(9) - }); - // std::shuffle(allRecepients.begin(),allRecepients.end(),std::random_device()); } void Controller::noConnection() @@ -879,22 +860,17 @@ void Controller::refreshTransactions() { QString memo; if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); - +} QString cid; QString contact; for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { - if (ui->contactNameMemo->text().trimmed() == c.getName()) { - - cid = c.getCid(); - }else {cid = "";} - - if (address == c.getPartnerAddress()){ + if (address == c.getPartnerAddress()){ contact = c.getName(); - }else{ contact = "";} - - + }else{ contact = "";} + } + ChatItem item = ChatItem( datetime, address, @@ -906,10 +882,7 @@ void Controller::refreshTransactions() { ); chatModel->addMessage(item); - - } - - } + items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; @@ -922,7 +895,7 @@ void Controller::refreshTransactions() { addresses.push_back(item.address); - + address = addresses.join(","); } } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 325f076..5b71245 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -914,6 +914,7 @@ void MainWindow::setupTransactionsTab() { ui->listChat->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); ui->listChat->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); ui->listChat->setMinimumSize(200,350); + ui->listChat->setItemDelegate(new ListViewDelegate()); ui->listChat->show(); ui->transactionsTable->setContextMenuPolicy(Qt::CustomContextMenu); // Table right click From 6a3b644a0a436a8d90d1105714c840f3ef325216 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 6 May 2020 15:40:55 +0200 Subject: [PATCH 072/251] first implementation of automated contact request detection - work in progress --- reuqestDialog.ui | 72 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 reuqestDialog.ui diff --git a/reuqestDialog.ui b/reuqestDialog.ui new file mode 100644 index 0000000..fb923db --- /dev/null +++ b/reuqestDialog.ui @@ -0,0 +1,72 @@ + + + + + Dialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + + From 5ff2d1ba47261e37100f15be70a7faa4e2397f78 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 6 May 2020 15:41:40 +0200 Subject: [PATCH 073/251] first implementation of automated contact request detection - work in progress --- res/css/dark.css | 2 +- reuqestDialog.ui | 72 -------- silentdragon-lite.pro | 1 + src/addressbook.cpp | 2 + src/chatmodel.cpp | 113 +++++++++++- src/chatmodel.h | 44 ++++- src/connection.h | 1 + src/contactmodel.cpp | 11 +- src/contactrequest.ui | 2 +- src/controller.cpp | 48 +++-- src/mainwindow.cpp | 28 ++- src/mainwindow.h | 14 ++ src/mainwindow.ui | 21 ++- src/requestContactDialog.ui | 355 ++++++++++++++++++++++++++++++++++++ 14 files changed, 599 insertions(+), 115 deletions(-) delete mode 100644 reuqestDialog.ui create mode 100644 src/requestContactDialog.ui diff --git a/res/css/dark.css b/res/css/dark.css index 7846b25..6dc6cfe 100644 --- a/res/css/dark.css +++ b/res/css/dark.css @@ -1,5 +1,5 @@ -QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel, MainWindow +QWidget, QMainWindow, QMenuBar, QMenu, QDialog, QTabWidget, QTableView, QTableView::item, QScrollArea, QGroupBox, QPlainTextEdit, QLineEdit, QLabel, MainWindow, ChatModel, requestDialog { background-color: #303335; color: #ffffff; diff --git a/reuqestDialog.ui b/reuqestDialog.ui deleted file mode 100644 index fb923db..0000000 --- a/reuqestDialog.ui +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Dialog - - - - 0 - 0 - 400 - 300 - - - - Dialog - - - - - 30 - 240 - 341 - 32 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - - - buttonBox - accepted() - Dialog - accept() - - - 248 - 254 - - - 157 - 274 - - - - - buttonBox - rejected() - Dialog - reject() - - - 316 - 260 - - - 286 - 274 - - - - - - diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 5e745f4..a3364d2 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -126,6 +126,7 @@ FORMS += \ src/mobileappconnector.ui \ src/createhushconfdialog.ui \ src/recurringdialog.ui \ + src/requestContactDialog.ui \ src/newrecurring.ui \ src/requestdialog.ui \ src/recurringmultiple.ui \ diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 1dd1a8f..a16d7c8 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -1,3 +1,5 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 #include "addressbook.h" #include "ui_addressbook.h" #include "ui_mainwindow.h" diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index b55dd5c..b9133b8 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -6,6 +6,7 @@ #include "controller.h" #include "mainwindow.h" #include "ui_mainwindow.h" +#include "ui_requestContactDialog.h" #include "addressbook.h" #include "ui_memodialog.h" #include "ui_contactrequest.h" @@ -83,6 +84,7 @@ void ChatModel::showMessages() { qDebug() << c.second.toChatLine(); } + } void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView &view) @@ -97,7 +99,10 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView &view) void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) { - + QObject::connect(ui->pushContact, &QPushButton::clicked,[&] () + { + renderContactRequest(); + }); QStandardItemModel* chat = new QStandardItemModel(); @@ -136,15 +141,98 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setModel(chat); } - + + } + } + +void ChatModel::renderContactRequest(){ + + Ui_requestDialog requestContact; + QDialog dialog(main); + requestContact.setupUi(&dialog); + Settings::saveRestore(&dialog); + + { + QStandardItemModel* contactRequest = new QStandardItemModel(); + + + for (auto &c : this->chatItems) { + if ((c.second.getType() == "cont") && (c.second.isOutgoing() == false) && (c.second.getMemo().startsWith("{"))) { + + + + QStandardItem* Items = new QStandardItem(c.second.getAddress()); + contactRequest->appendRow(Items); + requestContact.requestContact->setModel(contactRequest); + // requestContact.requestContact->show(); + + + + } + } + } + // } + + + QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { + + for (auto &c : this->chatItems){ + QModelIndex index = requestContact.requestContact->currentIndex(); + QString label_contact = index.data(Qt::DisplayRole).toString(); + QStandardItemModel* contactMemo = new QStandardItemModel(); + + if (c.second.isOutgoing() == false) { + if (label_contact == c.second.getAddress()) { + if(c.second.getMemo().startsWith("{")){ + + }else{ + QStandardItem* Items = new QStandardItem(c.second.getMemo()); + contactMemo->appendRow(Items); + requestContact.requestMemo->setModel(contactMemo); + requestContact.requestMemo->show(); + + requestContact.requestZaddr->setText(c.second.getRequestZaddr()); + requestContact.requestCID->setText(c.second.getCid()); + requestContact.requestMyAddr->setText(c.second.getAddress()); + } + } + } + + } + }); + + + + QObject::connect(requestContact.pushButton, &QPushButton::clicked, [&] () { + + QString cid = requestContact.requestCID->text(); + auto addr = requestContact.requestZaddr->text().trimmed(); + QString newLabel = requestContact.requestLabel->text().trimmed(); + auto myAddr = requestContact.requestMyAddr->text().trimmed(); + + QString avatar = QString("res/") + requestContact.comboBoxAvatar->currentText() + QString(".png"); + + qDebug()<<"Beginn kopiert" <addAddressLabel(newLabel, addr, myAddr, cid, avatar); + }); + + + dialog.exec(); } + + void ChatModel::addCid(QString tx, QString cid) { this->cidMap[tx] = cid; } +void ChatModel::addrequestZaddr(QString tx, QString requestZaddr) +{ + this->requestZaddrMap[tx] = requestZaddr; +} + QString ChatModel::getCidByTx(QString tx) { for(auto& pair : this->cidMap) @@ -160,11 +248,31 @@ QString ChatModel::getCidByTx(QString tx) return QString("0xdeadbeef"); } +QString ChatModel::getrequestZaddrByTx(QString tx) +{ + for(auto& pair : this->requestZaddrMap) + { + + } + + if(this->requestZaddrMap.count(tx) > 0) + { + return this->requestZaddrMap[tx]; + } + + return QString("0xdeadbeef"); +} + void ChatModel::killCidCache() { this->cidMap.clear(); } +void ChatModel::killrequestZaddrCache() +{ + this->requestZaddrMap.clear(); +} + QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, int version=0, int headerNumber=1) { @@ -183,6 +291,7 @@ QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, header = j.toJson(); qDebug() << "made header=" << header; return header; + } diff --git a/src/chatmodel.h b/src/chatmodel.h index cde16cb..945c27c 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -14,6 +14,7 @@ #include "camount.h" + class ListViewDelegate : public QAbstractItemDelegate { int d_radius; @@ -163,7 +164,9 @@ class ChatItem long _timestamp; QString _address; QString _contact; - QString _memo; + QString _memo; + QString _requestZaddr; + QString _type; QString _cid; QString _txid; bool _outgoing = false; @@ -171,24 +174,28 @@ class ChatItem public: ChatItem() {} - ChatItem(long timestamp, QString address, QString contact, QString memo, QString cid, QString txid) + ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid) { _timestamp = timestamp; _address = address; _contact = contact; _memo = memo; + _requestZaddr = requestZaddr; + _type = type; _cid = cid; _txid = txid; _outgoing = false; } - ChatItem(long timestamp, QString address, QString contact, QString memo, QString cid, QString txid, bool outgoing) + ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, bool outgoing) { _timestamp = timestamp; _address = address; _contact = contact; _memo = memo; + _requestZaddr = requestZaddr; + _type = type; _cid = cid; _txid = txid; _outgoing = outgoing; @@ -215,6 +222,15 @@ class ChatItem return _memo; } + QString getRequestZaddr() + { + return _requestZaddr; + } + QString getType() + { + return _type; + } + QString getCid() { return _cid; @@ -224,6 +240,7 @@ class ChatItem { return _txid; } + bool isOutgoing() { @@ -244,12 +261,22 @@ class ChatItem { _contact = contact; } - + void setMemo(QString memo) { _memo = memo; } + void setRequestZaddr(QString requestZaddr) + { + _requestZaddr = requestZaddr; + } + + void setType(QString type) + { + _type = type; + } + void setCid(QString cid) { _cid = cid; @@ -258,7 +285,7 @@ class ChatItem { _txid = txid; } - + void toggleOutgo() { _outgoing = true; @@ -291,6 +318,7 @@ class ChatModel Ui::MainWindow* ui; MainWindow* main; std::map cidMap; + std::map requestZaddrMap; public: ChatModel() {}; @@ -303,13 +331,19 @@ class ChatModel void setItems(std::vector items); void renderChatBox(Ui::MainWindow* ui, QListView &view); void renderChatBox(Ui::MainWindow* ui, QListView *view); + void renderContactRequest(); + void triggerRequest(); void showMessages(); void clear(); + //void renderContactRequest(Ui::MainWindow* ui, QListView *view); void addMessage(ChatItem item); void addMessage(QString timestamp, ChatItem item); void addCid(QString tx, QString cid); + void addrequestZaddr(QString tx, QString requestZaddr); QString getCidByTx(QString tx); + QString getrequestZaddrByTx(QString tx); void killCidCache(); + void killrequestZaddrCache(); }; diff --git a/src/connection.h b/src/connection.h index 5ed3a09..7130710 100644 --- a/src/connection.h +++ b/src/connection.h @@ -5,6 +5,7 @@ #include "ui_connection.h" #include "precompiled.h" + using json = nlohmann::json; class Controller; diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 17d3fd4..adeeb45 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -1,6 +1,9 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 #include "contactmodel.h" #include "addressbook.h" #include "mainwindow.h" +#include "chatmodel.h" void ContactModel::renderContactList(QListView* view) { @@ -12,7 +15,7 @@ void ContactModel::renderContactList(QListView* view) auto theme = Settings::getInstance()->get_theme_name(); if ((theme == "dark" || theme == "midnight")) { - QString avatar = c.getAvatar(); + QString avatar = c.getAvatar(); QStandardItem* Items1 = new QStandardItem(QIcon(avatar) ,c.getName()); contact->appendRow(Items1); @@ -22,10 +25,8 @@ void ContactModel::renderContactList(QListView* view) view->setDragDropMode(QAbstractItemView::DropOnly); view->show(); - } - - - + } } + } \ No newline at end of file diff --git a/src/contactrequest.ui b/src/contactrequest.ui index e2939ee..d2ae8ef 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -11,7 +11,7 @@ - Dialog + Send a contact request diff --git a/src/controller.cpp b/src/controller.cpp index fd1189f..4566827 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1,3 +1,6 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + #include "controller.h" #include "mainwindow.h" #include "addressbook.h" @@ -6,6 +9,7 @@ #include "camount.h" #include "websockets.h" #include "DataStore.h" + template<> DataStore* DataStore::instance = nullptr; template<> @@ -860,7 +864,8 @@ void Controller::refreshTransactions() { QString memo; if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); -} + } + QString cid; QString contact; @@ -876,6 +881,8 @@ void Controller::refreshTransactions() { address, contact, memo, + QString(""), + QString(""), cid, // we have to set the cid here, its included in our Addressbook for this contact txid, true // is an outgoing message @@ -930,37 +937,40 @@ void Controller::refreshTransactions() { QString type; QString cid; + QString requestZaddr1; + QString requestZaddr; + if (memo.startsWith("{")) { type = memo.mid(75,4); cid = memo.mid(14,36); + requestZaddr1 = memo.right(82); + requestZaddr = requestZaddr1.left(78); - qDebug()<addCid(txid, cid); + chatModel->addrequestZaddr(txid, requestZaddr); } - if (type == "cont") - - { - - qDebug()<< "Als Request erkannt"; - - - } - - + if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ cid = chatModel->getCidByTx(txid); } - - else{ cid = ""; } + + if (chatModel->getrequestZaddrByTx(txid) != QString("0xdeadbeef")){ + + requestZaddr = chatModel->getrequestZaddrByTx(txid); + + } + + else{ + requestZaddr = ""; + } QString contact; for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) @@ -968,23 +978,23 @@ void Controller::refreshTransactions() { if (address == c.getMyAddress()){ contact = c.getName(); - qDebug()<< "Addressbuch Addresse: " << c.getMyAddress(); - qDebug()<< "Addresse: " << address; }else{ contact = "";} - + } ChatItem item = ChatItem( datetime, address, contact, memo, + requestZaddr, + type, cid, // we have to set the cid here, its included in the headermemo txid, false ); chatModel->addMessage(item); -} + } } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 5b71245..eb7b244 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1,3 +1,5 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 #include "mainwindow.h" #include "addressbook.h" #include "viewalladdresses.h" @@ -15,6 +17,8 @@ #include "version.h" #include "connection.h" #include "ui_contactrequest.h" +#include "ui_requestContactDialog.h" +#include "chatmodel.h" #include "requestdialog.h" #include "websockets.h" #include @@ -1006,22 +1010,21 @@ void MainWindow::setupchatTab() { // Is request Contact checked? - if (ui->request->isChecked()) { + // if (ui->request->isChecked()) { QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); // qDebug() <request->isChecked()->text(); - }else{ + // }else{ - QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); + // QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); - } + // } QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); - -///////// Set selected Zaddr for Chat with Doubleklick +///////// Set selected Zaddr for Chat with Klick QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { @@ -1046,6 +1049,19 @@ void MainWindow::setupchatTab() { } + +/* +void MainWindow::setChatItem(ChatItem * item) +{ + this->currentChatItem = item; +} + +ChatItem* MainWindow::getChatItem() +{ + return this->currentChatItem; +}*/ + + ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { QObject::connect(this, &QPlainTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); } diff --git a/src/mainwindow.h b/src/mainwindow.h index ee2e5ee..b077593 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -6,6 +6,7 @@ #include "logger.h" #include "recurring.h" + // Forward declare to break circular dependency. class Controller; class Settings; @@ -61,6 +62,10 @@ public: void updateLabels(); void updateTAddrCombo(bool checked); + // void setChatItem(ChatItem* item); + //void ChatItem* getChatItem(); + + // Disable recurring on mainnet void disableRecurring(); @@ -74,6 +79,8 @@ public: QLabel* statusIcon; QLabel* loadingLabel; QWidget* hushdtab; + //ChatItem* currentChatItem; + Logger* logger; @@ -83,8 +90,10 @@ public: public slots: void slot_change_theme(const QString& themeName); void slot_change_currency(const QString& currencyName); + private: + void closeEvent(QCloseEvent* event); void setupSendTab(); @@ -93,6 +102,7 @@ private: void setupBalancesTab(); void setuphushdTab(); void setupchatTab(); + void renderContactRequest(); void setLenDisplayLabel(QLabel* label); void updateContacts(); @@ -147,6 +157,9 @@ private: void restoreSavedStates(); bool eventFilter(QObject *object, QEvent *event); + + + bool uiPaymentsReady = false; QString pendingURIPayment; @@ -154,6 +167,7 @@ private: WormholeClient* wormhole = nullptr; Controller* rpc = nullptr; + QCompleter* labelCompleter = nullptr; QRegExpValidator* amtValidator = nullptr; QRegExpValidator* feesValidator = nullptr; diff --git a/src/mainwindow.ui b/src/mainwindow.ui index b5f3539..74739f7 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1414,9 +1414,9 @@ - 30 + 0 640 - 211 + 91 25 @@ -1427,7 +1427,7 @@ - Add conversation contact + Add contact false @@ -1493,6 +1493,19 @@ Is this message a contact request? + + + + 110 + 640 + 191 + 25 + + + + Incoming contact request + + @@ -1667,7 +1680,7 @@ AddressCombo QComboBox -
addresscombo.h
+
addresscombo.h
QRCodeLabel diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui new file mode 100644 index 0000000..b862cda --- /dev/null +++ b/src/requestContactDialog.ui @@ -0,0 +1,355 @@ + + + requestDialog + + + + 0 + 0 + 1011 + 503 + + + + Incoming contact request + + + + + 9 + 9 + 256 + 461 + + + + true + + + QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked + + + false + + + QAbstractItemView::SingleSelection + + + + + + 263 + 9 + 741 + 271 + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + QAbstractScrollArea::AdjustToContents + + + QAbstractItemView::NoEditTriggers + + + QListView::Adjust + + + 0 + + + false + + + true + + + + + + 276 + 296 + 101 + 17 + + + + Request from : + + + + + + 393 + 296 + 601 + 25 + + + + + + + 276 + 327 + 30 + 17 + + + + Cid : + + + + + + 393 + 327 + 601 + 25 + + + + + + + 276 + 358 + 71 + 17 + + + + My Zaddr : + + + + + + 393 + 358 + 601 + 25 + + + + + + + 276 + 389 + 68 + 17 + + + + Nickname + + + + + + 393 + 389 + 221 + 25 + + + + + + + 276 + 420 + 228 + 17 + + + + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + + + + + + 510 + 420 + 106 + 25 + + + + + Stag + + + + :/icons/res/Stag.png + + + + + + Elsa + + + + :/icons/res/Elsa.png + + + + + + Denio + + + + :/icons/res/Denio.png + + + + + + Duke + + + + :/icons/res/Duke.png + + + + + + Yoda + + + + :/icons/res/Yoda.png + + + + + + Berg + + + + :/icons/res/Berg.png + + + + + + Sharpee + + + + :/icons/res/Sharpee.png + + + + + + Garfield + + + + :/icons/res/Garfield.png + + + + + + Snoopy + + + + :/icons/res/Snoopy.png + + + + + + Popey + + + + :/icons/res/Popey.png + + + + + + Pinguin + + + + :/icons/res/Pinguin.png + + + + + + Mickey + + + + :/icons/res/Mickey.png + + + + + + SDLogo + + + + :/icons/res/sdlogo2.png + + + + + + + + 300 + 470 + 80 + 25 + + + + + 100 + 0 + + + + Cancel + + + false + + + + + + 400 + 470 + 101 + 25 + + + + Add Contact + + + + + + From 6991743b5f41fb2107a684c2847083e18f923bb7 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 6 May 2020 16:54:15 +0200 Subject: [PATCH 074/251] new Button Design, only for darkmode atm --- application.qrc | 9 ++++ res/add_contact.png | Bin 0 -> 1889 bytes res/add_contact.svg | 9 ++++ res/addcontact.svg | 7 +++ res/notification.png | Bin 0 -> 1479 bytes res/notification.svg | 10 ++++ res/send-new-white.png | Bin 0 -> 1714 bytes res/send-new.svg | 19 +++++++ res/send.png | Bin 0 -> 4178 bytes res/send.svg | 6 +++ src/controller.cpp | 8 +-- src/mainwindow.cpp | 18 +------ src/mainwindow.ui | 113 +++++++++++++++++++++++++++++------------ 13 files changed, 147 insertions(+), 52 deletions(-) create mode 100644 res/add_contact.png create mode 100644 res/add_contact.svg create mode 100644 res/addcontact.svg create mode 100644 res/notification.png create mode 100644 res/notification.svg create mode 100644 res/send-new-white.png create mode 100644 res/send-new.svg create mode 100644 res/send.png create mode 100644 res/send.svg diff --git a/application.qrc b/application.qrc index 51a4cc4..c93d249 100644 --- a/application.qrc +++ b/application.qrc @@ -23,6 +23,15 @@ res/Pinguin.png res/Stag.png res/Elsa.png + res/send.png + res/send.svg + res/addcontact.svg + res/send-new.svg + res/add_contact.svg + res/notification.svg + res/send-new-white.png + res/add_contact.png + res/notification.png res/hushdlogo.gif diff --git a/res/add_contact.png b/res/add_contact.png new file mode 100644 index 0000000000000000000000000000000000000000..c00a055a21402dca0832a1bf5b8553ba5dde3601 GIT binary patch literal 1889 zcmZ9M3s4hx9>+J2C7T5ygf$@LkLoAg?QkXa%1U1d^DP zKx6=W?IDetpdKwgn%H_wtJr{HK&d#)X&DP@q^JkB#Vbw^5#|0XICs5dGQa+u6;o@$gQZX|C)IK}zj)`4{K9STLy)kc zykV8<3K7wjwZ2H%YSM5@ddQ<9YmH><{2CI!iJo22sGGu<7pm6jBH#hj!Dw4LE3_ap zQU@nJVR*0htNWG7(^>1b1V8R5k>0&iHq_2AZ*3^l42C&I|9<39w|95GGT^enuy^-~ z==Qh2Jd~kMc08E;rmF6XeQC#TO${ACk#c=wz>{ik{C9ENhxZJBzGl#OX>CM4oUv&2 z;wbT`$y=w}u(IMu`@Rg{k(~IC?SBXiu|12?G&RouW3B$Mq3y5*7jlo> z8o!zqc5SRTMc49p$ao{MVjS^+k+B5fj3sgFj7m z%=q@TX+FpuNDsLkmwGM15k8TMfYQ9Mxf>>1^)v@yf8!ufv z@pW6}jhoM()6jW4%eUlASAu)-%T0Mt0nJcfM|;ahKw%fFGIoJ09H4$QnebCR5Lvs` zYm}@J*e`GabH)BVz`>bnMbe-2Km2?rGxd!mjwP+F>t)-}O8oj2#Q$%Vt*tjQpuP5y z-m^IOXQjIR-*i>|VoOr83ZXpyLG>sEvmW7!aPL7{hF7(pwb5L*6ax=YzGtWsx zFoBNr6F~3aphhCjEaP(mfW(vwne_jWUJn<(a=o%yw}BAN1=x}}-l<9>-I$G7RD7Nc z=UOc!!ZhKSfVL+$Z8-FmU}fgw*epX#X-}425g4_v`TAwNH}9UD%POB}%@w<5UE;9T zd|>_D_`KF!8ZV$N%L{&3Yh`+CmDU8D%Sq%7-ZQ9(Y3;W1k_JPBTmO90=(2S-8CIUo z?X}e~M{2r$4aL|!p|(>?W4QJ4yr_J73C|*??cdOKI5e2u6KNY=%IDTgdB@VAvQS`% zHC-VMywsrV8_lj5$M>yaFJUEptgCaBb|w@1o_SL@|H|ch6>&!^S!EDY-F`Sd z+}r)npz2CdV@2sCgYK@KOdMMP$0Y#T?v53q*_(xD*ph;DEym~VlI5&1{Da|&J!a`_ zf^2kO2IWmmyM%@krz^%cl%A6Y*Xj9=3`(k3Y#1J z|1$#r-lssoPk(wG)4WK~_pg;sJnEtL=aUPkvp0L1p{T;MVkaa*396r&-V=h}6To2G zSrzY^Nr>v`xkl<8Y%S(FuIoNHCyi0k&;^jUM|sSoL<-Jy^41-2YCwvybnZfn_i8b4 z;#v%S#F8Y6P|qk$gjyyT_DCKa_wcDJ79{ME(cNIZc|4%^WrhIbgEZ}Yu%|Ecbiy+z zID#UX(4e$+KBEex&jsdq^0m#q3jrmZ7x(y6j{IKom-HUbH zt>>z9oE-np-l)b~SU%9s_e8wxK$_mg7QeH~)1)mcl_WVfF9i8}&8}ESUsGc^$cHyj z@6rE~eQ)MX^m*YIE;?hh3 z_M3EdH7p439%T8Q%)~x{KQV)*3pd^ + + + + + + diff --git a/res/addcontact.svg b/res/addcontact.svg new file mode 100644 index 0000000..1a71008 --- /dev/null +++ b/res/addcontact.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + \ No newline at end of file diff --git a/res/notification.png b/res/notification.png new file mode 100644 index 0000000000000000000000000000000000000000..f746609c5cffa2681e15dfee53173638f8cf0848 GIT binary patch literal 1479 zcmeAS@N?(olHy`uVBq!ia0vp^j~EyjWjNS?tXuyxfD(+Yna<7up3cq+1x5L3nK`Kp z3>p(_C)#=(c91z5ADr#FswqsM@I=5|osKSxEYYq2#VcHEt!BjhQZ&i*2#S$mz24L; z-yO;>o*pY3!|M2f`N+wOo)=xc{=^4m2);g8Xn*f+^_{)UEm;#Y!){9~c)4w6&+#KA zX|6o`lp4xP7R&E7+T0WA>9yeLk6rEk>&pY@UHx@u{$lU5Q9K_yj~JgZ$bD4$Xr=G% z2YdWw(pV!^?bPK=Up5`-j|sP_dpxH+^1;kRK}G(Q~#Y&Aj^lWW2Ky#7;k0bRgOd|{Z%+MV(i+28VZS*46hrNHhv%!VN7u?P z=XdDZ<#mUFz5Rg4yiM1m_UvA~b9?>yE5Cm;a`6_`W+eWp2gVCqlDE4H!+#K5uy^@n zpa^GyM`STD3a^7Oqm#z$3ZNi+iKnkC`x90+J_+5#3#axmFfbqXba4!+xb^m~V_uS@ zfQzI0_x;7c8R8;tJW4MuKT@@1qJ(`qW6}xn+Y#Ao%m39(s<`s)f&8lj46K?iY^)j{ zibfg^j$9KH1-k+}csc`moKieml0=l8l|&W`ND3{KNUx~mIG_}D*wdaTEU*J8dRat3 z$-=jAnw7t4lHr@c&wbs-^c#;brv-;ULA*omk9{Y*J#zSbL0|a>q3Sq>Ih01`0d3T#mVO1pMQ=<^0PG>I(Y5PW=Bu?y%p5rw8b<}M)RN-jO+ z?HW!XwH+Vd3Ak#wDRv1M-jiL#aa6-aQ0driXAwp9BNBp2VDWcSi#RNGk97zbe*0PH zvZ3Re!0H{L9ZFB0NX%W9Ah=dBtgu_a^#re>mG90&U*ccr^UGQIx^@U(&EyihD3v6t zs}$jq-4QwmXv$7gx8<5(-jI+RLr17;NiE+S0cMUUr}mu-O?7} z+Rd?;L$HP8$~@(&x{l|aVuEv)9cU1kyEH*C@ks=SpbjtuB_3V;?!71Aa9E+ukGe&! zEXy?!AuI80<9E+J?I)%++I)#alfxDIv=n#fP;kMG4Pxj0@V*vx+WG9Zi7GekKrvAS zimRuf*gOr2qG`a0NzwsE-H`}BVBBq#0mg2!rHkO9|H(ZZ3+0ntIQ~i~JH0qAA?Rce zjIdvZZY>x34V7BzdIS}}5TWF!{&&ZY1_4}{5txghz)Y0?VEUY2bCvejirdsbzAO&& zm_bMQ0lODl!u|FpWeI`|I#}#t4#YF;3h1~ayO^WZ!_b3~YhqE4l8Dk$jic%=UV&ZwF#Dmj#c}hs(n}}r Sf1{rb67h8Pb6Mw<&;$U?F(3#4 literal 0 HcmV?d00001 diff --git a/res/notification.svg b/res/notification.svg new file mode 100644 index 0000000..3db8333 --- /dev/null +++ b/res/notification.svg @@ -0,0 +1,10 @@ + + + + + + + diff --git a/res/send-new-white.png b/res/send-new-white.png new file mode 100644 index 0000000000000000000000000000000000000000..4c7461c389fb00f80909fa9d0a79bbcfeb5d3d95 GIT binary patch literal 1714 zcmeAS@N?(olHy`uVBq!ia0y~yVAKI(84fm}NG*Hk4IrmA)7d$|)7e>}peR2rGbfdS zL1SX=L|c!;4l+mMgR@;%HH8Tjo(Pz$)6r#-CE69Bc!g`N)r^>5iYA#JK`}C{*PEK< zyF=N<(_>|0SRFqwA31r^^P;QQpZK5*!Pf^1?eE>KzO$FPC2L}4*lmdgFSpI?Iew%h z&6Q`LQbSqEV)?yBn|mTXy%s$Ev8%m*eR<%#tH18dU+jH0iswV;5#uukxsOU8t@OS9 zV2{5{8f&Dgow}Uq%cdj!G2u3KkLQ#}KA4$kJavvTpK$k2wXj(;M16WICRr@XvUa=&va?2JAu?-xYN+MG>HY(+~WM1{$IAO`(2=4z2UQa)< zbV4?BkIZKc$L2S`4*q{ozCA22>5ezo(S`%vk860C55_JCE1dH_`S{AY4FA#}c;)}_ z4o&zq`HPoxw+y50?E^^aB_n0&8dG(T4VSs>=);sVyNBj@O;(v=vw*Z z{0?2ayzVftw;%ABx9NJ+p52RgZm&Oo<@aw!F5aTrjKn|nz<6Ox@^*J&_z!{$_AZ|c z6yYrJh%5$1;dKyZbkdkz0Tg5}@$_|Nf5OVfC&9ien>mAlfn}Yii(^Q|t+%%f^NuQr zxE@qU{U2R6Ysv4_uIdjyuCLWgSPngZef_h|`TM`-6z^j=Hpl;&m)qL`|23K54u8X6N6!OSLAAit@# zqA`I}oMRe@5PQT5HjD#<*;=3&0Tm^RsSpD;45Sv!Y)#-4JJg!c2;_H&11;tdZ(;@V z72`O>pv=Y!PLh}kF<=uw+R&M*5lyU*R3jP+fF@2)kYwiwSBjY5A<+@87LmkusMK`> z3-6KFvl2QbIj)Ny6fzN5m))eArVtm-;(g)4-iK9JxtnJ=TF3lbAZl_%`!eG}A>$J* z-atJ@4~29Ln|<~Gl_?18A%s7Ig?B)Ooz9#%;=Mt@1f=>%kIxPkZbxNd{ewVZpdoPK zJz!zIgG`2}fx-?KjDUs+Z1&sI!{Fkz!C}IWcM*sR^AzDoVgWU|AW!IZeY+4J-^aq*DlF z$RZY?A=4BbfrhAhP2jo;^t{If{;Qz}g;aN#2klJY6xw4QQViq?teOerbX*D9;KJFG zr3N(5$y8J)kZIy9{%HY?0c(G6<8@fV!Y!b6kZGZi4jQwC3oeSu6wqYhhKfR&PAhyI zH#jU2&=JsL;a=#3&IBulh+;AYGzD~^qEM#O3Wp82nG2Z?!W3XKUATbuLli)nLRtB)Jtzcp=0YYG?-dQJn^l7j)NE+sngI+*#>+sN z1iJ_))-&utxtBma2J%3K&zga{N`N+l6@3QUl3*2~1X1)efm0M%K;Z}ZpP6l!m!Am} RyPO76=;`X`vd$@?2>?mlX@UR% literal 0 HcmV?d00001 diff --git a/res/send-new.svg b/res/send-new.svg new file mode 100644 index 0000000..ce2df0a --- /dev/null +++ b/res/send-new.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + diff --git a/res/send.png b/res/send.png new file mode 100644 index 0000000000000000000000000000000000000000..f0fce109a66c1332bbafc5c1abcb952c4d3f4ad2 GIT binary patch literal 4178 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 \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 4566827..0a0913a 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -874,7 +874,7 @@ void Controller::refreshTransactions() { if (address == c.getPartnerAddress()){ contact = c.getName(); }else{ contact = "";} - } + ChatItem item = ChatItem( datetime, @@ -889,7 +889,7 @@ void Controller::refreshTransactions() { ); chatModel->addMessage(item); - + } items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; @@ -980,7 +980,7 @@ void Controller::refreshTransactions() { contact = c.getName(); }else{ contact = "";} - } + ChatItem item = ChatItem( datetime, address, @@ -994,7 +994,7 @@ void Controller::refreshTransactions() { ); chatModel->addMessage(item); - + } } } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index eb7b244..8385b7a 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1013,12 +1013,12 @@ void MainWindow::setupchatTab() { // if (ui->request->isChecked()) { - QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); + // QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); // qDebug() <request->isChecked()->text(); // }else{ - // QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); + QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); // } @@ -1048,20 +1048,6 @@ void MainWindow::setupchatTab() { } - - -/* -void MainWindow::setChatItem(ChatItem * item) -{ - this->currentChatItem = item; -} - -ChatItem* MainWindow::getChatItem() -{ - return this->currentChatItem; -}*/ - - ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { QObject::connect(this, &QPlainTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); } diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 74739f7..045d7e0 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1332,9 +1332,9 @@ 0 - 40 + 90 341 - 601 + 551 @@ -1354,7 +1354,7 @@ 0 - 20 + 60 341 20 @@ -1392,10 +1392,10 @@ - 720 - 640 - 114 - 25 + 1170 + 560 + 91 + 81 @@ -1404,33 +1404,28 @@ 0 - - Send - - + false - - - - - 0 - 640 - 91 - 25 - + + - + + + :/icons/res/send-new-white.png + + + - 100 - 0 + 61 + 62 - - Add contact + + false - false + true @@ -1484,7 +1479,7 @@ 340 - 650 + 640 261 23 @@ -1493,17 +1488,71 @@ Is this message a contact request? + + + + 90 + 0 + 71 + 61 + + + + + 100 + 0 + + + + + + + + :/icons/res/add_contact.png:/icons/res/add_contact.png + + + + 43 + 49 + + + + true + + - 110 - 640 - 191 - 25 + 170 + 0 + 71 + 61 + + + 100 + 0 + + + + false + - Incoming contact request + + + + + :/icons/res/notification.png:/icons/res/notification.png + + + + 43 + 49 + + + + true From 494198995d1d84eb7befcdd92e4f8b6e6492ae76 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 6 May 2020 20:49:48 +0200 Subject: [PATCH 075/251] add notification and different themes to buttons --- src/chatmodel.cpp | 32 +++++++++++++++-------- src/mainwindow.cpp | 29 +++++++++++++++++++++ src/mainwindow.ui | 64 +++++++++++++++++++++++++++++++++++----------- 3 files changed, 100 insertions(+), 25 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index b9133b8..d800f95 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -105,8 +105,10 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) }); QStandardItemModel* chat = new QStandardItemModel(); - - + ui->lcdNumber->setStyleSheet("background-color: red"); + ui->lcdNumber->setPalette(Qt::red); + ui->lcdNumber->display("1"); + for (auto &c : this->chatItems) for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) { @@ -157,23 +159,32 @@ void ChatModel::renderContactRequest(){ QStandardItemModel* contactRequest = new QStandardItemModel(); - for (auto &c : this->chatItems) { + for (auto &c : this->chatItems) + for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) { + if ((c.second.getType() == "cont") && (c.second.isOutgoing() == false) && (c.second.getMemo().startsWith("{"))) { - + + + + QStandardItem* Items = new QStandardItem(c.second.getAddress()); contactRequest->appendRow(Items); requestContact.requestContact->setModel(contactRequest); - // requestContact.requestContact->show(); + requestContact.requestContact->show(); - + } + + } + + } - } - // } - + + + // } QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { @@ -187,10 +198,11 @@ void ChatModel::renderContactRequest(){ if(c.second.getMemo().startsWith("{")){ }else{ - QStandardItem* Items = new QStandardItem(c.second.getMemo()); + QStandardItem* Items = new QStandardItem(c.second.getMemo()); contactMemo->appendRow(Items); requestContact.requestMemo->setModel(contactMemo); requestContact.requestMemo->show(); + requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestCID->setText(c.second.getCid()); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 8385b7a..884a6a7 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1018,6 +1018,35 @@ void MainWindow::setupchatTab() { // qDebug() <request->isChecked()->text(); // }else{ + /////////////Setting Icons for Chattab and different themes + + auto theme = Settings::getInstance()->get_theme_name(); + if (theme == "dark" || theme == "midnight") { + QPixmap send(":/icons/res/send-new-white.png"); + QIcon sendIcon(send); + ui->sendChatButton->setIcon(sendIcon); + + QPixmap notification(":/icons/res/notification.png"); + QIcon notificationIcon(notification); + ui->pushContact->setIcon(notificationIcon); + + QPixmap addContact(":/icons/res/add_contact.png"); + QIcon addContactIcon(addContact); + ui->safeContactRequest->setIcon(addContact); + + }else{ + QPixmap pixmap(":/icons/res/send-new.svg"); + QIcon sendIcon(pixmap); + ui->sendChatButton->setIcon(sendIcon); + + QPixmap notification(":/icons/res/notification.svg"); + QIcon notificationIcon(notification); + ui->pushContact->setIcon(notificationIcon); + + QPixmap addContact(":/icons/res/add_contact.svg"); + QIcon addContactIcon(addContact); + ui->safeContactRequest->setIcon(addContact); + } QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); // } diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 045d7e0..85cefa3 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1417,8 +1417,8 @@ - 61 - 62 + 41 + 49 @@ -1479,7 +1479,7 @@ 340 - 640 + 650 261 23 @@ -1491,10 +1491,10 @@ - 90 - 0 - 71 - 61 + 270 + 580 + 51 + 51 @@ -1507,8 +1507,9 @@ - - :/icons/res/add_contact.png:/icons/res/add_contact.png + + :/icons/res/add_contact.png + @@ -1523,10 +1524,10 @@ - 170 - 0 - 71 - 61 + 10 + 30 + 41 + 41 @@ -1547,14 +1548,47 @@ - 43 - 49 + 33 + 35 true + + + + 30 + 20 + 31 + 21 + + + + QFrame::NoFrame + + + 1 + + + QLCDNumber::Flat + + + 0.000000000000000 + + + lcdNumber + listContactWidget + label_39 + memoTxtChat + contactNameMemo + sendChatButton + contactNameMemo_3 + listChat + request + safeContactRequest + pushContact
From 310504285bc605b7276d808f472e98b58d9630d9 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 6 May 2020 22:55:23 +0200 Subject: [PATCH 076/251] add a new button to send contact request, some ui tweaks --- application.qrc | 4 +++ res/message-icon.svg | 9 ++++++ res/rahmen-message.png | Bin 0 -> 2541 bytes res/upload.png | Bin 0 -> 1369 bytes res/upload.svg | 8 +++++ src/chatmodel.cpp | 22 ++++++++++--- src/mainwindow.cpp | 49 +++++++++++++++------------- src/mainwindow.h | 6 +++- src/mainwindow.ui | 71 +++++++++++++++++++++-------------------- 9 files changed, 107 insertions(+), 62 deletions(-) create mode 100644 res/message-icon.svg create mode 100644 res/rahmen-message.png create mode 100644 res/upload.png create mode 100644 res/upload.svg diff --git a/application.qrc b/application.qrc index c93d249..29a1765 100644 --- a/application.qrc +++ b/application.qrc @@ -32,6 +32,10 @@ res/send-new-white.png res/add_contact.png res/notification.png + res/rahmen-message.png + res/upload.png + res/upload.svg + res/message-icon.svg res/hushdlogo.gif diff --git a/res/message-icon.svg b/res/message-icon.svg new file mode 100644 index 0000000..fe61e44 --- /dev/null +++ b/res/message-icon.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/res/rahmen-message.png b/res/rahmen-message.png new file mode 100644 index 0000000000000000000000000000000000000000..3b486a4b1103542e6c20d7d879a5503405ceaf92 GIT binary patch literal 2541 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&zE~)R&4YzZe)8TQZ%U13aCb6$*;-(=u~X z85lGs)=sqbIP4&EG(I@nRg14opzuUM=|%;uM=L@#oLU34x4cRydf9$qiK1s=p-2oj zU!6{vY|Na}(gIPIgZu*O?&_}Mnjh;u7rOSaAOBlX{=V=#pTMisWs$PU4a;t)SCwL0T;)q z2Y$!zd~#y4bK`^Mo0a%Bu%(xMUU~D-zBr(E(m}z>SMR<_FeFUd?hZ~y0t^fdKvP&4 z7!-gMBLf2m1A_yQ1x#Vsq#hhE`@+9s)h7wY2T^zL`k`wf)))*M@Y{-^Tmfz|Hb>%7 zj*vnafe>q8AR;74RE`>^qXC2~WkG{=G=PR{0IgpAF0a2axc=m-Q^7mt?|qE%Y`l-9OLu ztbm=NXaB?Y#yw07kMsW=~4kZ3{A)Ge_-|lInaW!;mSkve_*!*BdW(9=z+)lAD;3t=$QR$lP_Qb zY6BXugm3>x_BkN!0w9xFfF?G`0xe_j+y4+E4ph1Fa6ZUVs65z42auK@)4dxC4*!s@ z1M>X;GED!>1@ZzT&_(w_A=Cpj8f4&O{*(ev0g&q%8QOp{!WFCyAAwE-ItWd*(GHf5 zkLG`XGC&&}IrlIf_#s^nvI<$Xyh5{ggGBvdU_==FIVL~jfHsm%K(T*d?>eweXD|eM zRDj_@u>Ap+I7STDpLigokPHeh4u+an>=I{z#y|o|0Tg~i?+8;PquW!pV z@6*b=KbT{VYcm*mT?47;u?Jf9n7;v}{y{W@L>&W`KthD;@lU1>JoacYg0O7$2VDj- srGXB?p&J+)V0Q{E+zopr0NXbpzW@LL literal 0 HcmV?d00001 diff --git a/res/upload.png b/res/upload.png new file mode 100644 index 0000000000000000000000000000000000000000..b6f3c1fc0fe0d3f6b4bef72ec66a3bcd4d3dc2b7 GIT binary patch literal 1369 zcmeAS@N?(olHy`uVBq!ia0vp^w;321WjNS?EI-MEKY*N;OlRi+PiJR^f};Gi%$!sP z291fe6Ky>XJIEZ356*Vg;wuv|5lX0FZ|9Y@G5m#q-=7-vfF7^GX*y9 z6gB+QC154!%A;(wxhK-o>tK1!UF8GUcUzqQWdHs7i@?uf%uGrjd5nE#SIn)*x@>0g zUf4a-GpzG`r@QYig^$YDMf>kth{uXmq+L0)03F=@2AtX zvGzaY|Gc}V<mW zgs+r-@IXL9FX-E>^SgK7s{Z}mXY+pfqN7F2cV#rC0HcL1$=lt9;Xep2*t>i(P=vF< zBeED6gV#Zr(Me-=1yGQ^#M9T6{Ru0Zh#KGI!)@XW49sDkE{-7;x8B~}$jfZV!{Rvi z_xs4cn5Oe}MQTA>T-;3aYxw$$-tV1XJZZ*>;)*rxZE6-919^N4k`_zMdT_+e(Bxoe zZ&F5+u=LRjEb3-m3pxFAM4W}^+|a#23w$Lv5^yGzEqPiL;$4K z8DgQD3DgN-t!)pWW^v?&Lrgz*>46ehiJ{gG4zQ^`TzX*5Qj43qF9-k~aBKyBC3hYH z)f@q-*=}IA(9jZOj&7H4Mh*waAa0<$W`j(+^8l#q7)Y5pP}xSXvQnVL0^yhzwz)v@ z7cAln9o2!ltq!_oT;SAmYW6D-lq#XF5?OuahD&9)s|uz6+S^Ip$Z5FY0LBVt4ml7k zAgy2q!5zE;(hz)vt%DbWlbDaNLGVV#BxW#fyuq*$f+0qMjHIz~z+{gDJfBkxOxed6 r?mzzzbOh8NXE|UlBE@s4HvF*8f8(*Ycx^~XAV|W~)z4*}Q$iB}e1!gF literal 0 HcmV?d00001 diff --git a/res/upload.svg b/res/upload.svg new file mode 100644 index 0000000..9f31b60 --- /dev/null +++ b/res/upload.svg @@ -0,0 +1,8 @@ + + + + + + + diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index d800f95..6c426be 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -155,7 +155,7 @@ void ChatModel::renderContactRequest(){ requestContact.setupUi(&dialog); Settings::saveRestore(&dialog); - { + /* { QStandardItemModel* contactRequest = new QStandardItemModel(); @@ -183,8 +183,7 @@ void ChatModel::renderContactRequest(){ } - - // } + QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { @@ -228,7 +227,7 @@ void ChatModel::renderContactRequest(){ qDebug()<<"Beginn kopiert" <addAddressLabel(newLabel, addr, myAddr, cid, avatar); }); - + */ dialog.exec(); } @@ -476,7 +475,7 @@ QString MainWindow::doSendChatTxValidations(Tx tx) { auto available = rpc->getModel()->getAvailableBalance(); if (available < total) { - return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 5 confirmations before they can be spent") + return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 3 confirmations before they can be spent") .arg(available.toDecimalhushString(), total.toDecimalhushString()); } @@ -601,6 +600,18 @@ Tx MainWindow::createTxForSafeContactRequest() { void MainWindow::ContactRequest() { + if (ui->contactNameMemo->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { + + // auto addr = ""; + // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { + QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), + tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"), + QMessageBox::Ok, this); + + msg.exec(); + return; + } + Tx tx = createTxForSafeContactRequest(); QString error = doSendRequestTxValidations(tx); @@ -659,6 +670,7 @@ void MainWindow::ContactRequest() { // Force a UI update so we get the unconfirmed Tx // rpc->refresh(true); ui->memoTxtChat->clear(); + rpc->refresh(true); }, // Errored out diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 884a6a7..a691a56 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1,4 +1,4 @@ -// Copyright 2019-2020 The Hush developers +// Copyright 2019-2020 The Hush developers // GPLv3 #include "mainwindow.h" #include "addressbook.h" @@ -44,7 +44,7 @@ MainWindow::MainWindow(QWidget *parent) : ui->setupUi(this); - ui->request->setChecked(false); + logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite-wallet.log")); ui->memoTxtChat->setAutoFillBackground(false); ui->memoTxtChat->setPlaceholderText("Send Message"); @@ -1005,22 +1005,10 @@ void MainWindow::setupTransactionsTab() { } void MainWindow::setupchatTab() { - -// Send button - - // Is request Contact checked? - - // if (ui->request->isChecked()) { - - // QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); - - // qDebug() <request->isChecked()->text(); - // }else{ - - /////////////Setting Icons for Chattab and different themes - - auto theme = Settings::getInstance()->get_theme_name(); + /////////////Setting Icons for Chattab and different themes + + auto theme = Settings::getInstance()->get_theme_name(); if (theme == "dark" || theme == "midnight") { QPixmap send(":/icons/res/send-new-white.png"); QIcon sendIcon(send); @@ -1032,8 +1020,15 @@ void MainWindow::setupchatTab() { QPixmap addContact(":/icons/res/add_contact.png"); QIcon addContactIcon(addContact); - ui->safeContactRequest->setIcon(addContact); + ui->safeContactRequest->setIcon(addContactIcon); + + /*QPixmap rahmen(":/icons/res/rahmen-message.png"); + QIcon addRahmenIcon(rahmen); + ui->lcdNumber->setIcon(addRahmenIcon);*/ + QPixmap sendContact(":/icons/res/upload.png"); + QIcon addSendContactIcon(sendContact); + ui->sendContact->setIcon(addSendContactIcon); }else{ QPixmap pixmap(":/icons/res/send-new.svg"); QIcon sendIcon(pixmap); @@ -1046,11 +1041,21 @@ void MainWindow::setupchatTab() { QPixmap addContact(":/icons/res/add_contact.svg"); QIcon addContactIcon(addContact); ui->safeContactRequest->setIcon(addContact); + + /*QPixmap rahmen(":/icons/res/message-icon.svg"); + QIcon addRahmenIcon(rahmen); + ui->lcdNumber->setIcon(addRahmenIcon);*/ + + QPixmap sendContact(":/icons/res/upload.svg"); + QIcon addSendContactIcon(sendContact); + ui->sendContact->setIcon(addSendContactIcon); } - QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); - // } - + + + + QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); + QObject::connect(ui->sendContact, &QPushButton::clicked, this, &MainWindow::ContactRequest); QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); ///////// Set selected Zaddr for Chat with Klick @@ -1549,4 +1554,4 @@ MainWindow::~MainWindow() delete wsserver; delete wormhole; -} +} \ No newline at end of file diff --git a/src/mainwindow.h b/src/mainwindow.h index b077593..54f9dc8 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -92,10 +92,14 @@ public slots: void slot_change_currency(const QString& currencyName); -private: +private slots: + + +private: void closeEvent(QCloseEvent* event); + void setupSendTab(); void setupTransactionsTab(); void setupReceiveTab(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 85cefa3..6be3969 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1360,7 +1360,7 @@ - <html><head/><body><p align="center">Hushchat Contactlist</p></body></html> + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> @@ -1438,7 +1438,7 @@ - <html><head/><body><p align="center">Contact Name:</p></body></html> + <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> @@ -1475,19 +1475,6 @@ true - - - - 340 - 650 - 261 - 23 - - - - Is this message a contact request? - - @@ -1578,6 +1565,39 @@ 0.000000000000000 + + + + 270 + 510 + 51 + 51 + + + + + 100 + 0 + + + + + + + + :/icons/res/add_contact.png + + + + + 43 + 49 + + + + true + + lcdNumber listContactWidget label_39 @@ -1586,9 +1606,9 @@ sendChatButton contactNameMemo_3 listChat - request safeContactRequest pushContact + sendContact
@@ -1799,22 +1819,5 @@ - - - request - stateChanged(int) - MainWindow - update() - - - 481 - 721 - - - 636 - 389 - - - - + From 9600242e7055542713c0441419037f96e91b338e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 7 May 2020 21:24:51 +0200 Subject: [PATCH 077/251] fix icon and background problem on mac/win --- silentdragon-lite.pro | 2 +- src/addressbook.cpp | 2 +- src/chatmodel.cpp | 2 +- src/contactmodel.cpp | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index a3364d2..5e32f1e 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -12,7 +12,7 @@ PRECOMPILED_HEADER = src/precompiled.h QT += widgets QT += websockets -QT += qml quick + TARGET = SilentDragonLite diff --git a/src/addressbook.cpp b/src/addressbook.cpp index a16d7c8..298b057 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -173,7 +173,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString cid = ab.cid->text(); - QString avatar = QString("res/") + ab.comboBoxAvatar->currentText() + QString(".png"); + QString avatar = QString(":/icons/res/") + ab.comboBoxAvatar->currentText() + QString(".png"); qDebug()<<"AVATAR NAME : " << avatar; if (addr.isEmpty() || newLabel.isEmpty()) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 6c426be..c8ab957 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -510,7 +510,7 @@ void::MainWindow::addContact() { QString newLabel = request.labelRequest->text().trimmed(); auto myAddr = request.myzaddr->text().trimmed(); - QString avatar = QString("res/") + request.comboBoxAvatar->currentText() + QString(".png"); + QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); if (addr.isEmpty() || newLabel.isEmpty()) { diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index adeeb45..41b7758 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -17,7 +17,8 @@ void ContactModel::renderContactList(QListView* view) QString avatar = c.getAvatar(); - QStandardItem* Items1 = new QStandardItem(QIcon(avatar) ,c.getName()); + QStandardItem* Items1 = new QStandardItem(c.getName()); + Items1->setData(QIcon(avatar),Qt::DecorationRole); contact->appendRow(Items1); view->setModel(contact); view->setIconSize(QSize(60,70)); From 8183b245c6c53ac9480194e4547ed373bd362b9f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 7 May 2020 21:57:47 +0200 Subject: [PATCH 078/251] add a first Button for a new HushChat Address on chattab --- src/addressbook.cpp | 7 ++++--- src/chatmodel.cpp | 10 ++++++---- src/mainwindow.cpp | 13 ++++++++++++- src/mainwindow.h | 2 ++ src/mainwindow.ui | 27 +++++++++++++++++++++++++++ 5 files changed, 51 insertions(+), 8 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 298b057..ce706d0 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -212,10 +212,11 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) ////// We need a better popup here. AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid,avatar); - QMessageBox::critical( + + QMessageBox::information( parent, - QObject::tr("Add Successfully"), - QObject::tr("juhu").arg(newLabel), + QObject::tr("Added Contact"), + QObject::tr("successfully added your new contact").arg(newLabel), QMessageBox::Ok ); return; diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c8ab957..34be5c0 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -535,12 +535,14 @@ void::MainWindow::addContact() { return; } - ////// We need a better popup here. + ///////Todo: Test if label allready exist! + + ////// Success, so show it AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); - QMessageBox::critical( + QMessageBox::information( this, - QObject::tr("Add Successfully"), - QObject::tr("juhu").arg(newLabel), + QObject::tr("Added Contact"), + QObject::tr("successfully added your new contact").arg(newLabel), QMessageBox::Ok ); return; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index a691a56..ed4bb95 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1554,4 +1554,15 @@ MainWindow::~MainWindow() delete wsserver; delete wormhole; -} \ No newline at end of file +} +void MainWindow::on_givemeZaddr_clicked() +{ + + bool sapling = true; + rpc->createNewZaddr(sapling, [=] (json reply) { + QString hushchataddr = QString::fromStdString(reply.get()[0]); + QMessageBox::information(this, "Your new Hushchataddress",hushchataddr); + // ui->listReceiveAddresses->insertItem(0, hushchataddr); + // ui->listReceiveAddresses->setCurrentIndex(0); + }); +} diff --git a/src/mainwindow.h b/src/mainwindow.h index 54f9dc8..9e91245 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -95,6 +95,8 @@ public slots: private slots: + void on_givemeZaddr_clicked(); + private: void closeEvent(QCloseEvent* event); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 6be3969..2c1adc6 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1598,6 +1598,32 @@ true + + + + 80 + 10 + 211 + 41 + + + + New HushChat Address + + + + :/icons/res/message-icon.svg:/icons/res/message-icon.svg + + + + 33 + 29 + + + + true + + lcdNumber listContactWidget label_39 @@ -1609,6 +1635,7 @@ safeContactRequest pushContact sendContact + givemeZaddr
From 4305980b278f77c9d00608b2f6a7b5615e948f85 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 7 May 2020 22:03:25 +0200 Subject: [PATCH 079/251] add information box for contact request --- src/chatmodel.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 34be5c0..c3503b9 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -155,7 +155,7 @@ void ChatModel::renderContactRequest(){ requestContact.setupUi(&dialog); Settings::saveRestore(&dialog); - /* { + { QStandardItemModel* contactRequest = new QStandardItemModel(); @@ -222,12 +222,17 @@ void ChatModel::renderContactRequest(){ QString newLabel = requestContact.requestLabel->text().trimmed(); auto myAddr = requestContact.requestMyAddr->text().trimmed(); - QString avatar = QString("res/") + requestContact.comboBoxAvatar->currentText() + QString(".png"); + QString avatar = QString(":/icons/res/") + requestContact.comboBoxAvatar->currentText() + QString(".png"); qDebug()<<"Beginn kopiert" <addAddressLabel(newLabel, addr, myAddr, cid, avatar); + + QMessageBox::information(main, "Added Contact","successfully added your new contact. You can now Chat with this contact"); + + + }); - */ + dialog.exec(); } From 4011c3950985355b220f7f17acd2e9534a0a84c9 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 7 May 2020 22:17:20 +0200 Subject: [PATCH 080/251] fix --- src/chatmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c3503b9..65d5c3e 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -160,7 +160,7 @@ void ChatModel::renderContactRequest(){ for (auto &c : this->chatItems) - for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) { + { if ((c.second.getType() == "cont") && (c.second.isOutgoing() == false) && (c.second.getMemo().startsWith("{"))) { From b3d41bbb43783777e683aa98c9c994f369ae3d8b Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 7 May 2020 22:38:19 +0200 Subject: [PATCH 081/251] some ui tweaks --- src/chatmodel.cpp | 6 +- src/mainwindow.cpp | 12 +- src/mainwindow.ui | 283 ++++++++++++++++++++++++++++++++++++++------- 3 files changed, 248 insertions(+), 53 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 65d5c3e..98bb0f8 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -105,9 +105,9 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) }); QStandardItemModel* chat = new QStandardItemModel(); - ui->lcdNumber->setStyleSheet("background-color: red"); - ui->lcdNumber->setPalette(Qt::red); - ui->lcdNumber->display("1"); + // ui->lcdNumber->setStyleSheet("background-color: red"); + // ui->lcdNumber->setPalette(Qt::red); + // ui->lcdNumber->display("1"); for (auto &c : this->chatItems) for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index ed4bb95..694178f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1022,9 +1022,9 @@ void MainWindow::setupchatTab() { QIcon addContactIcon(addContact); ui->safeContactRequest->setIcon(addContactIcon); - /*QPixmap rahmen(":/icons/res/rahmen-message.png"); - QIcon addRahmenIcon(rahmen); - ui->lcdNumber->setIcon(addRahmenIcon);*/ + QPixmap newAddr(":/icons/res/add_contact.png"); + QIcon addnewAddrIcon(newAddr); + ui->givemeZaddr->setIcon(addnewAddrIcon); QPixmap sendContact(":/icons/res/upload.png"); QIcon addSendContactIcon(sendContact); @@ -1042,9 +1042,9 @@ void MainWindow::setupchatTab() { QIcon addContactIcon(addContact); ui->safeContactRequest->setIcon(addContact); - /*QPixmap rahmen(":/icons/res/message-icon.svg"); - QIcon addRahmenIcon(rahmen); - ui->lcdNumber->setIcon(addRahmenIcon);*/ + QPixmap newAddr(":/icons/res/add_contact.svg"); + QIcon addnewAddrIcon(newAddr); + ui->givemeZaddr->setIcon(addnewAddrIcon); QPixmap sendContact(":/icons/res/upload.svg"); QIcon addSendContactIcon(sendContact); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 2c1adc6..08e1d4d 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1332,9 +1332,9 @@ 0 - 90 + 120 341 - 551 + 521 @@ -1354,7 +1354,7 @@ 0 - 60 + 100 341 20 @@ -1379,12 +1379,18 @@ - 450 + 460 20 161 20 + + + 75 + true + + <html><head/><body><p align="center"><br/></p></body></html> @@ -1543,28 +1549,6 @@ true - - - - 30 - 20 - 31 - 21 - - - - QFrame::NoFrame - - - 1 - - - QLCDNumber::Flat - - - 0.000000000000000 - - @@ -1601,41 +1585,252 @@ - 80 - 10 - 211 + 60 + 30 + 111 41 - New HushChat Address + New Addr - :/icons/res/message-icon.svg:/icons/res/message-icon.svg + :/icons/res/add_contact.png:/icons/res/add_contact.png 33 - 29 + 35 true - lcdNumber - listContactWidget - label_39 - memoTxtChat - contactNameMemo - sendChatButton - contactNameMemo_3 - listChat - safeContactRequest - pushContact - sendContact - givemeZaddr + + + + 40 + 20 + 21 + 16 + + + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + 239 + 41 + 41 + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + 239 + 41 + 41 + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + + + 190 + 190 + 190 + + + + + + + 190 + 190 + 190 + + + + + + + 239 + 41 + 41 + + + + + + + 190 + 190 + 190 + + + + + + + 204 + 0 + 0 + + + + + + + 204 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 12 + + + + Qt::LeftToRight + + + 1 + + + Qt::AutoText + + From 203588a59ba9c505342c35726dd306f676a92e09 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 8 May 2020 18:51:16 +0200 Subject: [PATCH 082/251] fix Addressbook --- src/addressbook.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index ce706d0..d00c3ae 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -10,7 +10,7 @@ AddressBookModel::AddressBookModel(QTableView *parent) : QAbstractTableModel(parent) { - headers << tr("Label") << tr("Address") << tr("HushChatAddress") << tr("CID"); + headers << tr("Avatar")<< tr("Label") << tr("Address") << tr("HushChatAddress") << tr("CID"); this->parent = parent; loadData(); } From d599bf91902995441f74f803f0854be53f22a1ca Mon Sep 17 00:00:00 2001 From: maxisman Date: Fri, 8 May 2020 19:10:59 +0200 Subject: [PATCH 083/251] update// moved datastore to DataStore/DataStore.h --- src/{ => DataStore}/DataStore.h | 0 src/controller.cpp | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename src/{ => DataStore}/DataStore.h (100%) diff --git a/src/DataStore.h b/src/DataStore/DataStore.h similarity index 100% rename from src/DataStore.h rename to src/DataStore/DataStore.h diff --git a/src/controller.cpp b/src/controller.cpp index 0a0913a..6ab187d 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -8,7 +8,7 @@ #include "version.h" #include "camount.h" #include "websockets.h" -#include "DataStore.h" +#include "DataStore/DataStore.h" template<> DataStore* DataStore::instance = nullptr; From 2e8b46c863205799ce10180b8e1d58f88d1832a1 Mon Sep 17 00:00:00 2001 From: maxisman Date: Fri, 8 May 2020 19:39:16 +0200 Subject: [PATCH 084/251] update// changed datastore to factory pattern to get only the desired datastores --- src/DataStore/ChatDataStore.h | 64 ++++++++++++++++++++++++++++ src/DataStore/DataStore-deprecated.h | 58 +++++++++++++++++++++++++ src/DataStore/DataStore.h | 61 ++++++-------------------- src/DataStore/SietchDataStore.h | 63 +++++++++++++++++++++++++++ src/controller.cpp | 6 +-- 5 files changed, 200 insertions(+), 52 deletions(-) create mode 100644 src/DataStore/ChatDataStore.h create mode 100644 src/DataStore/DataStore-deprecated.h create mode 100644 src/DataStore/SietchDataStore.h diff --git a/src/DataStore/ChatDataStore.h b/src/DataStore/ChatDataStore.h new file mode 100644 index 0000000..84291fc --- /dev/null +++ b/src/DataStore/ChatDataStore.h @@ -0,0 +1,64 @@ +#ifndef DATASTORE_H +#define DATASTORE_H + +using json = nlohmann::json; + +class ChatDataStore +{ + private: + static bool instanced; + static ChatDataStore* instance; + std::map data; + ChatDataStore() + { + + } + + public: + static ChatDataStore* getInstance() + { + if(!ChatDataStore::instanced) + { + ChatDataStore::instanced = true; + ChatDataStore::instance = new ChatDataStore(); + } + + return ChatDataStore::instance; + } + + void clear(); + void setData(QString key, ChatItem value); + ChatItem getData(QString key); + QString dump(); + + ~ChatDataStore() + { + ChatDataStore::instanced = false; + } +}; + +void ChatDataStore::clear() +{ + this->data.clear(); +} + + +void ChatDataStore:setData(QString key, ChatItem value) +{ + this->data[key] = value; +} + +ChatItem ChatDataStore::getData(QString key) +{ + return this->data[key]; +} + +QString ChatDataStore::dump() +{ + return ""; +} + +ChatDataStore* ChatDataStore::instance = nullptr; +bool ChatDataStore::instanced = false; + +#endif \ No newline at end of file diff --git a/src/DataStore/DataStore-deprecated.h b/src/DataStore/DataStore-deprecated.h new file mode 100644 index 0000000..19daa1b --- /dev/null +++ b/src/DataStore/DataStore-deprecated.h @@ -0,0 +1,58 @@ +#ifndef DATASTORE_H +#define DATASTORE_H + +#include +#include + +template +class DataStore +{ + private: + static bool instanced; + static DataStore* instance; + std::map data; + DataStore() + { + + } + + public: + static DataStore* getInstance() + { + if(!DataStore::instanced) + { + DataStore::instanced = true; + DataStore::instance = new DataStore(); + } + + return DataStore::instance; + } + + void clear(); + void setData(QString key, T value); + QString getData(QString key); + + ~DataStore() + { + DataStore::instanced = false; + } +}; + +template +void DataStore::clear() +{ + this->data.clear(); +} + +template +void DataStore::setData(QString key, T value) +{ + this->data[key] = value; +} + +template +QString DataStore::getData(QString key) +{ + return this->data[key]; +} +#endif \ No newline at end of file diff --git a/src/DataStore/DataStore.h b/src/DataStore/DataStore.h index 19daa1b..0aa8a09 100644 --- a/src/DataStore/DataStore.h +++ b/src/DataStore/DataStore.h @@ -1,58 +1,21 @@ #ifndef DATASTORE_H #define DATASTORE_H -#include -#include +#include "SietchDataStore.h" +#include "ChatDataStore.h" -template class DataStore { - private: - static bool instanced; - static DataStore* instance; - std::map data; - DataStore() - { - - } - - public: - static DataStore* getInstance() - { - if(!DataStore::instanced) - { - DataStore::instanced = true; - DataStore::instance = new DataStore(); - } - - return DataStore::instance; - } - - void clear(); - void setData(QString key, T value); - QString getData(QString key); - - ~DataStore() - { - DataStore::instanced = false; - } -}; - -template -void DataStore::clear() -{ - this->data.clear(); +public: + static SietchDataStore* getSietchDataStore() + { + return SietchDataStore::getInstance(); + } + + static ChatDataStore* getChatDataStore() + { + return ChatDataStore::getInstance(); + } } -template -void DataStore::setData(QString key, T value) -{ - this->data[key] = value; -} - -template -QString DataStore::getData(QString key) -{ - return this->data[key]; -} #endif \ No newline at end of file diff --git a/src/DataStore/SietchDataStore.h b/src/DataStore/SietchDataStore.h new file mode 100644 index 0000000..8739340 --- /dev/null +++ b/src/DataStore/SietchDataStore.h @@ -0,0 +1,63 @@ +#ifndef SietchDataStore_H +#define SietchDataStore_H + +using json = nlohmann::json; + +class SietchDataStore +{ + private: + static bool instanced; + static SietchDataStore* instance; + std::map data; + SietchDataStore() + { + + } + + public: + static SietchDataStore* getInstance() + { + if(!SietchDataStore::instanced) + { + SietchDataStore::instanced = true; + SietchDataStore::instance = new SietchDataStore(); + } + + return SietchDataStore::instance; + } + + void clear(); + void setData(QString key, QString value); + QString getData(QString key); + QString dump(); + + ~ChatDataStore() + { + ChatDataStore::instanced = false; + } +}; + +void SietchDataStore::clear() +{ + this->data.clear(); +} + +void SietchDataStore::setData(QString key, QString value) +{ + this->data[key] = value; +} + +QString SietchDataStore::getData(QString key) +{ + return this->data[key]; +} + +QString ChatDataStore::dump() +{ + return ""; +} + +ChatDataStore* ChatDataStore::instance = nullptr; +bool ChatDataStore::instanced = false; + +#endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 6ab187d..1228e55 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -97,7 +97,7 @@ void Controller::setConnection(Connection* c) { zrpc->createNewSietchZaddr( [=] (json reply) { QString zdust = QString::fromStdString(reply.get()[0]); - DataStore::getInstance()->setData("Sietch" + QString(i), zdust.toUtf8()); + DataStore::getSietchDataStore()->setData("Sietch" + QString(i), zdust.toUtf8()); }); } } @@ -120,7 +120,7 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) { zrpc->createNewSietchZaddr( [=] (json reply) { QString zdust = QString::fromStdString(reply.get()[0]); - DataStore::getInstance()->setData(QString("Sietch") + QString(i), zdust.toUtf8()); + DataStore::getSietchDataStore()->setData(QString("Sietch") + QString(i), zdust.toUtf8()); } ); } @@ -128,7 +128,7 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) // Using DataStore singelton, to store the data into the dusts, bing bada boom :D for(uint8_t i = 0; i < 10; i++) { - dust.at(i)["address"] = DataStore::getInstance()->getData(QString("Sietch" + QString(i))).toStdString(); + dust.at(i)["address"] = DataStore::getSietchDataStore()->getData(QString("Sietch" + QString(i))).toStdString(); } DataStore::getInstance()->clear(); // clears the datastore From d0562d2c652dfad6da658248307685b779e5c879 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Fri, 8 May 2020 20:01:57 +0200 Subject: [PATCH 085/251] update// added ChatDataStore and SietchDataStore with factory-pattern --- src/DataStore/ChatDataStore.h | 19 ++++++++++--------- src/DataStore/DataStore.h | 21 ++++++++++++--------- src/DataStore/SietchDataStore.h | 15 ++++++++------- src/controller.cpp | 6 +++--- 4 files changed, 33 insertions(+), 28 deletions(-) diff --git a/src/DataStore/ChatDataStore.h b/src/DataStore/ChatDataStore.h index 84291fc..82651fd 100644 --- a/src/DataStore/ChatDataStore.h +++ b/src/DataStore/ChatDataStore.h @@ -1,5 +1,5 @@ -#ifndef DATASTORE_H -#define DATASTORE_H +#ifndef CHATDATASTORE_H +#define CHATDATASTORE_H using json = nlohmann::json; @@ -15,15 +15,15 @@ class ChatDataStore } public: - static ChatDataStore* getInstance() + static ChatDataStore* getInstance() { - if(!ChatDataStore::instanced) + if(!ChatDataStore::instanced) { - ChatDataStore::instanced = true; - ChatDataStore::instance = new ChatDataStore(); + ChatDataStore::instanced = true; + ChatDataStore::instance = new ChatDataStore(); } - return ChatDataStore::instance; + return ChatDataStore::instance; } void clear(); @@ -33,7 +33,8 @@ class ChatDataStore ~ChatDataStore() { - ChatDataStore::instanced = false; + ChatDataStore::instanced = false; + ChatDataStore::instance = nullptr; } }; @@ -43,7 +44,7 @@ void ChatDataStore::clear() } -void ChatDataStore:setData(QString key, ChatItem value) +void ChatDataStore::setData(QString key, ChatItem value) { this->data[key] = value; } diff --git a/src/DataStore/DataStore.h b/src/DataStore/DataStore.h index 0aa8a09..6c006b0 100644 --- a/src/DataStore/DataStore.h +++ b/src/DataStore/DataStore.h @@ -6,16 +6,19 @@ class DataStore { -public: - static SietchDataStore* getSietchDataStore() - { - return SietchDataStore::getInstance(); - } + public: + static SietchDataStore* getSietchDataStore(); + static ChatDataStore* getChatDataStore(); +}; - static ChatDataStore* getChatDataStore() - { - return ChatDataStore::getInstance(); - } +SietchDataStore* DataStore::getSietchDataStore() +{ + return SietchDataStore::getInstance(); +} + +ChatDataStore* DataStore::getChatDataStore() +{ + return ChatDataStore::getInstance(); } #endif \ No newline at end of file diff --git a/src/DataStore/SietchDataStore.h b/src/DataStore/SietchDataStore.h index 8739340..c94c76f 100644 --- a/src/DataStore/SietchDataStore.h +++ b/src/DataStore/SietchDataStore.h @@ -1,5 +1,5 @@ -#ifndef SietchDataStore_H -#define SietchDataStore_H +#ifndef SIETCHDATASTORE_H +#define SIETCHDATASTORE_H using json = nlohmann::json; @@ -31,9 +31,10 @@ class SietchDataStore QString getData(QString key); QString dump(); - ~ChatDataStore() + ~SietchDataStore() { - ChatDataStore::instanced = false; + SietchDataStore::instanced = false; + SietchDataStore::instance = nullptr; } }; @@ -52,12 +53,12 @@ QString SietchDataStore::getData(QString key) return this->data[key]; } -QString ChatDataStore::dump() +QString SietchDataStore::dump() { return ""; } -ChatDataStore* ChatDataStore::instance = nullptr; -bool ChatDataStore::instanced = false; +SietchDataStore* SietchDataStore::instance = nullptr; +bool SietchDataStore::instanced = false; #endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 1228e55..ac6b603 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -10,10 +10,10 @@ #include "websockets.h" #include "DataStore/DataStore.h" -template<> +/*template<> DataStore* DataStore::instance = nullptr; template<> -bool DataStore::instanced = false; +bool DataStore::instanced = false;*/ ChatModel *chatModel = new ChatModel(); ContactModel *contactModel = new ContactModel(); @@ -131,7 +131,7 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) dust.at(i)["address"] = DataStore::getSietchDataStore()->getData(QString("Sietch" + QString(i))).toStdString(); } - DataStore::getInstance()->clear(); // clears the datastore + DataStore::getSietchDataStore()->clear(); // clears the datastore // Dust amt/memo, construct the JSON for(uint8_t i = 0; i < 10; i++) From 30ddc479ba80650bebd5147c8d973833bf4d3434 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Fri, 8 May 2020 21:16:40 +0200 Subject: [PATCH 086/251] update// reformated datastore and changed storage chatmodel to store with datastore --- silentdragon-lite.pro | 5 +++- src/DataStore/ChatDataStore.cpp | 42 +++++++++++++++++++++++++++++++ src/DataStore/ChatDataStore.h | 37 +++------------------------ src/DataStore/DataStore.cpp | 11 ++++++++ src/DataStore/DataStore.h | 10 -------- src/DataStore/SietchDataStore.cpp | 35 ++++++++++++++++++++++++++ src/DataStore/SietchDataStore.h | 35 +------------------------- src/chatmodel.cpp | 7 +++--- src/chatmodel.h | 2 -- src/controller.cpp | 7 +++--- src/controller.h | 1 - 11 files changed, 104 insertions(+), 88 deletions(-) create mode 100644 src/DataStore/ChatDataStore.cpp create mode 100644 src/DataStore/DataStore.cpp create mode 100644 src/DataStore/SietchDataStore.cpp diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 5e32f1e..c09eea7 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -71,7 +71,10 @@ SOURCES += \ src/chatbubbleme.cpp \ src/chatbubblepartner.cpp \ src/chatmodel.cpp \ - src/contactmodel.cpp + src/contactmodel.cpp \ + src/DataStore/DataStore.cpp \ + src/DataStore/ChatDataStore.cpp \ + src/DataStore/SietchDataStore.cpp HEADERS += \ src/firsttimewizard.h \ diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp new file mode 100644 index 0000000..d3a79e4 --- /dev/null +++ b/src/DataStore/ChatDataStore.cpp @@ -0,0 +1,42 @@ +#include "ChatDataStore.h" + +ChatDataStore* ChatDataStore::getInstance() +{ + if(!ChatDataStore::instanced) + { + ChatDataStore::instanced = true; + ChatDataStore::instance = new ChatDataStore(); + } + + return ChatDataStore::instance; +} + +void ChatDataStore::clear() +{ + this->data.clear(); +} + + +void ChatDataStore::setData(QString key, ChatItem value) +{ + this->data[key] = value; +} + +ChatItem ChatDataStore::getData(QString key) +{ + return this->data[key]; +} + +QString ChatDataStore::dump() +{ + return ""; +} + +std::map ChatDataStore::getAllRawChatItems() +{ + return this->data; +} + + +ChatDataStore* ChatDataStore::instance = nullptr; +bool ChatDataStore::instanced = false; \ No newline at end of file diff --git a/src/DataStore/ChatDataStore.h b/src/DataStore/ChatDataStore.h index 82651fd..85fd4b9 100644 --- a/src/DataStore/ChatDataStore.h +++ b/src/DataStore/ChatDataStore.h @@ -1,6 +1,6 @@ #ifndef CHATDATASTORE_H #define CHATDATASTORE_H - +#include "../chatmodel.h" using json = nlohmann::json; class ChatDataStore @@ -15,20 +15,11 @@ class ChatDataStore } public: - static ChatDataStore* getInstance() - { - if(!ChatDataStore::instanced) - { - ChatDataStore::instanced = true; - ChatDataStore::instance = new ChatDataStore(); - } - - return ChatDataStore::instance; - } - + static ChatDataStore* getInstance(); void clear(); void setData(QString key, ChatItem value); ChatItem getData(QString key); + std::map getAllRawChatItems(); QString dump(); ~ChatDataStore() @@ -38,28 +29,6 @@ class ChatDataStore } }; -void ChatDataStore::clear() -{ - this->data.clear(); -} - - -void ChatDataStore::setData(QString key, ChatItem value) -{ - this->data[key] = value; -} - -ChatItem ChatDataStore::getData(QString key) -{ - return this->data[key]; -} - -QString ChatDataStore::dump() -{ - return ""; -} -ChatDataStore* ChatDataStore::instance = nullptr; -bool ChatDataStore::instanced = false; #endif \ No newline at end of file diff --git a/src/DataStore/DataStore.cpp b/src/DataStore/DataStore.cpp new file mode 100644 index 0000000..d16c255 --- /dev/null +++ b/src/DataStore/DataStore.cpp @@ -0,0 +1,11 @@ +#include "DataStore.h" + +SietchDataStore* DataStore::getSietchDataStore() +{ + return SietchDataStore::getInstance(); +} + +ChatDataStore* DataStore::getChatDataStore() +{ + return ChatDataStore::getInstance(); +} \ No newline at end of file diff --git a/src/DataStore/DataStore.h b/src/DataStore/DataStore.h index 6c006b0..6715c02 100644 --- a/src/DataStore/DataStore.h +++ b/src/DataStore/DataStore.h @@ -11,14 +11,4 @@ class DataStore static ChatDataStore* getChatDataStore(); }; -SietchDataStore* DataStore::getSietchDataStore() -{ - return SietchDataStore::getInstance(); -} - -ChatDataStore* DataStore::getChatDataStore() -{ - return ChatDataStore::getInstance(); -} - #endif \ No newline at end of file diff --git a/src/DataStore/SietchDataStore.cpp b/src/DataStore/SietchDataStore.cpp new file mode 100644 index 0000000..140ab3f --- /dev/null +++ b/src/DataStore/SietchDataStore.cpp @@ -0,0 +1,35 @@ +#include "SietchDataStore.h" + +SietchDataStore* SietchDataStore::getInstance() +{ + if(!SietchDataStore::instanced) + { + SietchDataStore::instanced = true; + SietchDataStore::instance = new SietchDataStore(); + } + + return SietchDataStore::instance; +} + +void SietchDataStore::clear() +{ + this->data.clear(); +} + +void SietchDataStore::setData(QString key, QString value) +{ + this->data[key] = value; +} + +QString SietchDataStore::getData(QString key) +{ + return this->data[key]; +} + +QString SietchDataStore::dump() +{ + return ""; +} + +SietchDataStore* SietchDataStore::instance = nullptr; +bool SietchDataStore::instanced = false; \ No newline at end of file diff --git a/src/DataStore/SietchDataStore.h b/src/DataStore/SietchDataStore.h index c94c76f..5b5b498 100644 --- a/src/DataStore/SietchDataStore.h +++ b/src/DataStore/SietchDataStore.h @@ -15,17 +15,7 @@ class SietchDataStore } public: - static SietchDataStore* getInstance() - { - if(!SietchDataStore::instanced) - { - SietchDataStore::instanced = true; - SietchDataStore::instance = new SietchDataStore(); - } - - return SietchDataStore::instance; - } - + static SietchDataStore* getInstance(); void clear(); void setData(QString key, QString value); QString getData(QString key); @@ -38,27 +28,4 @@ class SietchDataStore } }; -void SietchDataStore::clear() -{ - this->data.clear(); -} - -void SietchDataStore::setData(QString key, QString value) -{ - this->data[key] = value; -} - -QString SietchDataStore::getData(QString key) -{ - return this->data[key]; -} - -QString SietchDataStore::dump() -{ - return ""; -} - -SietchDataStore* SietchDataStore::instance = nullptr; -bool SietchDataStore::instanced = false; - #endif \ No newline at end of file diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 98bb0f8..078a56f 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -13,6 +13,7 @@ #include "addressbook.h" #include #include +#include "DataStore/DataStore.h" using namespace std; @@ -109,7 +110,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) // ui->lcdNumber->setPalette(Qt::red); // ui->lcdNumber->display("1"); - for (auto &c : this->chatItems) + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems())//this->chatItems) for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) { //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid @@ -159,7 +160,7 @@ void ChatModel::renderContactRequest(){ QStandardItemModel* contactRequest = new QStandardItemModel(); - for (auto &c : this->chatItems) + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems())//this->chatItems) { if ((c.second.getType() == "cont") && (c.second.isOutgoing() == false) && (c.second.getMemo().startsWith("{"))) { @@ -187,7 +188,7 @@ void ChatModel::renderContactRequest(){ QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { - for (auto &c : this->chatItems){ + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){//this->chatItems){ QModelIndex index = requestContact.requestContact->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); QStandardItemModel* contactMemo = new QStandardItemModel(); diff --git a/src/chatmodel.h b/src/chatmodel.h index 945c27c..984ce56 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -13,8 +13,6 @@ #include "settings.h" #include "camount.h" - - class ListViewDelegate : public QAbstractItemDelegate { int d_radius; diff --git a/src/controller.cpp b/src/controller.cpp index ac6b603..b34d519 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -887,7 +887,8 @@ void Controller::refreshTransactions() { txid, true // is an outgoing message ); - chatModel->addMessage(item); + DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); + //chatModel->addMessage(item); } @@ -992,8 +993,8 @@ void Controller::refreshTransactions() { txid, false ); - - chatModel->addMessage(item); + DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); + //chatModel->addMessage(item); } } diff --git a/src/controller.h b/src/controller.h index bc56587..9977427 100644 --- a/src/controller.h +++ b/src/controller.h @@ -13,7 +13,6 @@ #include "connection.h" #include "chatmodel.h" #include "contactmodel.h" - using json = nlohmann::json; struct WatchedTx { From 5006a8c7d7069ccdbd3824ff65d2266606525742 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 8 May 2020 21:25:43 +0200 Subject: [PATCH 087/251] add incoming contact Request windows --- src/chatmodel.cpp | 17 +++++------------ src/chatmodel.h | 2 +- src/mainwindow.cpp | 1 + src/mainwindow.h | 1 + 4 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 078a56f..6f80f37 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -100,10 +100,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView &view) void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) { - QObject::connect(ui->pushContact, &QPushButton::clicked,[&] () - { - renderContactRequest(); - }); + QStandardItemModel* chat = new QStandardItemModel(); // ui->lcdNumber->setStyleSheet("background-color: red"); @@ -149,17 +146,17 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) } -void ChatModel::renderContactRequest(){ +void MainWindow::renderContactRequest(){ Ui_requestDialog requestContact; - QDialog dialog(main); + QDialog dialog(this); requestContact.setupUi(&dialog); Settings::saveRestore(&dialog); { QStandardItemModel* contactRequest = new QStandardItemModel(); - + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems())//this->chatItems) { @@ -214,8 +211,6 @@ void ChatModel::renderContactRequest(){ } }); - - QObject::connect(requestContact.pushButton, &QPushButton::clicked, [&] () { QString cid = requestContact.requestCID->text(); @@ -228,7 +223,7 @@ void ChatModel::renderContactRequest(){ qDebug()<<"Beginn kopiert" <addAddressLabel(newLabel, addr, myAddr, cid, avatar); - QMessageBox::information(main, "Added Contact","successfully added your new contact. You can now Chat with this contact"); + QMessageBox::information(this, "Added Contact","successfully added your new contact. You can now Chat with this contact"); @@ -238,8 +233,6 @@ void ChatModel::renderContactRequest(){ dialog.exec(); } - - void ChatModel::addCid(QString tx, QString cid) { this->cidMap[tx] = cid; diff --git a/src/chatmodel.h b/src/chatmodel.h index 984ce56..493e744 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -329,7 +329,7 @@ class ChatModel void setItems(std::vector items); void renderChatBox(Ui::MainWindow* ui, QListView &view); void renderChatBox(Ui::MainWindow* ui, QListView *view); - void renderContactRequest(); + // void renderContactRequest(); void triggerRequest(); void showMessages(); void clear(); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 694178f..2957dbb 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1057,6 +1057,7 @@ void MainWindow::setupchatTab() { QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); QObject::connect(ui->sendContact, &QPushButton::clicked, this, &MainWindow::ContactRequest); QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); + QObject::connect(ui->pushContact, &QPushButton::clicked, this , &MainWindow::renderContactRequest); ///////// Set selected Zaddr for Chat with Klick diff --git a/src/mainwindow.h b/src/mainwindow.h index 9e91245..ff4b76a 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -62,6 +62,7 @@ public: void updateLabels(); void updateTAddrCombo(bool checked); + // void renderContactRequest(); // void setChatItem(ChatItem* item); //void ChatItem* getChatItem(); From eb263e5e0b87f3f2a618834ff376876984c1f700 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 8 May 2020 22:36:24 +0200 Subject: [PATCH 088/251] switch to datastore --- src/DataStore/ChatDataStore.cpp | 36 +++++++++++++ src/DataStore/ChatDataStore.h | 4 ++ src/chatmodel.cpp | 94 ++++++++++++++++++++------------- 3 files changed, 96 insertions(+), 38 deletions(-) diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index d3a79e4..4dfc605 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -37,6 +37,42 @@ std::map ChatDataStore::getAllRawChatItems() return this->data; } +std::map ChatDataStore::getAllContactRequests() +{ + std::map filteredItems; + for(auto &c: this->data) + { + if ( + (c.second.getType() == "cont") && + (c.second.isOutgoing() == false) && + (c.second.getMemo().startsWith("{")) + ) + { + filteredItems[c.first] = c.second; + } + } + return filteredItems; +} + + +std::map ChatDataStore::getAllMemos() +{ + std::map filteredItems; + for(auto &c: this->data) + { + if ( + + (c.second.getMemo().startsWith("{") == false) && + (c.second.getMemo().isEmpty() == false) + + ) + { + filteredItems[c.first] = c.second; + } + } + return filteredItems; +} + ChatDataStore* ChatDataStore::instance = nullptr; bool ChatDataStore::instanced = false; \ No newline at end of file diff --git a/src/DataStore/ChatDataStore.h b/src/DataStore/ChatDataStore.h index 85fd4b9..444c704 100644 --- a/src/DataStore/ChatDataStore.h +++ b/src/DataStore/ChatDataStore.h @@ -8,6 +8,8 @@ class ChatDataStore private: static bool instanced; static ChatDataStore* instance; + Ui::MainWindow* ui; + MainWindow* main; std::map data; ChatDataStore() { @@ -20,6 +22,8 @@ class ChatDataStore void setData(QString key, ChatItem value); ChatItem getData(QString key); std::map getAllRawChatItems(); + std::map getAllContactRequests(); + std::map getAllMemos(); QString dump(); ~ChatDataStore() diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 6f80f37..41fbb2e 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -107,13 +107,20 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) // ui->lcdNumber->setPalette(Qt::red); // ui->lcdNumber->display("1"); - for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems())//this->chatItems) + + + for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) - { + for (auto &c : DataStore::getChatDataStore()->getAllMemos()) + { //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid - if ((c.second.getContact() == ui->contactNameMemo->text().trimmed()) && (p.getPartnerAddress() == c.second.getAddress()) && (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false) && (c.second.isOutgoing() == true)) + if ( + (c.second.getContact() == ui->contactNameMemo->text().trimmed()) && + (p.getPartnerAddress() == c.second.getAddress()) && + (c.second.isOutgoing() == true) + ) { QStandardItem* Items = new QStandardItem(c.second.toChatLine()); @@ -126,8 +133,13 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setModel(chat); } - - if ((c.second.getContact() == ui->contactNameMemo->text().trimmed()) && ((p.getMyAddress() == c.second.getAddress()) && c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false) && (c.second.isOutgoing() == false)) + + if ( + (c.second.getContact() == ui->contactNameMemo->text().trimmed()) && + (p.getMyAddress() == c.second.getAddress()) && + (c.second.isOutgoing() == false) + ) + { QStandardItem* Items1 = new QStandardItem(c.second.toChatLine()); @@ -140,11 +152,13 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) ui->listChat->setModel(chat); } - - } + } -} + +} + + void MainWindow::renderContactRequest(){ @@ -153,35 +167,18 @@ void MainWindow::renderContactRequest(){ requestContact.setupUi(&dialog); Settings::saveRestore(&dialog); - { - QStandardItemModel* contactRequest = new QStandardItemModel(); + QStandardItemModel* contactRequest = new QStandardItemModel(); - - for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems())//this->chatItems) - { - - if ((c.second.getType() == "cont") && (c.second.isOutgoing() == false) && (c.second.getMemo().startsWith("{"))) { - - - - - - - QStandardItem* Items = new QStandardItem(c.second.getAddress()); - contactRequest->appendRow(Items); - requestContact.requestContact->setModel(contactRequest); - requestContact.requestContact->show(); - - - } - - - } - - - } + { + for (auto &c : DataStore::getChatDataStore()->getAllContactRequests()) + { - + QStandardItem* Items = new QStandardItem(c.second.getAddress()); + contactRequest->appendRow(Items); + requestContact.requestContact->setModel(contactRequest); + requestContact.requestContact->show(); + } + } QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { @@ -220,12 +217,33 @@ void MainWindow::renderContactRequest(){ QString avatar = QString(":/icons/res/") + requestContact.comboBoxAvatar->currentText() + QString(".png"); + if (addr.isEmpty() || newLabel.isEmpty()) + { + QMessageBox::critical( + this, + QObject::tr("Address or Label Error"), + QObject::tr("Address or Label cannot be empty"), + QMessageBox::Ok + ); + return; + } + + // Test if address is valid. + if (!Settings::isValidAddress(addr)) + { + QMessageBox::critical( + this, + QObject::tr("Address Format Error"), + QObject::tr("%1 doesn't seem to be a valid hush address.").arg(addr), + QMessageBox::Ok + ); + return; + } + qDebug()<<"Beginn kopiert" <addAddressLabel(newLabel, addr, myAddr, cid, avatar); - QMessageBox::information(this, "Added Contact","successfully added your new contact. You can now Chat with this contact"); - - + QMessageBox::information(this, "Added Contact","successfully added your new contact. You can now Chat with this contact"); }); From 26f02293797346fc8eddf2af9662b5bc3946a01a Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 9 May 2020 11:40:22 +0200 Subject: [PATCH 089/251] update lib --- lib/Cargo.lock | 7 ++++--- lib/Cargo.toml | 2 +- src/controller.cpp | 6 ++++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 96d8bdf..ea96eb7 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d3a66550ed8c6216b13002ce6e5b425367f30770)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=84b1b75f2c000215aeba7850321b0abe8e8fd58f)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=d3a66550ed8c6216b13002ce6e5b425367f30770#d3a66550ed8c6216b13002ce6e5b425367f30770" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=84b1b75f2c000215aeba7850321b0abe8e8fd58f#84b1b75f2c000215aeba7850321b0abe8e8fd58f" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -1652,6 +1652,7 @@ dependencies = [ "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "json 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libflate 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log4rs 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2630,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d3a66550ed8c6216b13002ce6e5b425367f30770)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=84b1b75f2c000215aeba7850321b0abe8e8fd58f)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index bd615ca..e2987c5 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "d3a66550ed8c6216b13002ce6e5b425367f30770" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "84b1b75f2c000215aeba7850321b0abe8e8fd58f" } diff --git a/src/controller.cpp b/src/controller.cpp index b34d519..1192aff 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -853,9 +853,11 @@ void Controller::refreshTransactions() { for (auto o: it["outgoing_metadata"].get()) { QString address; - + + address = QString::fromStdString(o["address"]); - + + // qDebug()<< "Position :" << position; // Sent items are -ve CAmount amount = CAmount::fromqint64(-1* o["value"].get()); From b99a0b121092d5b9bb91ceacd4ba12af41fc3c7e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 9 May 2020 13:03:46 +0200 Subject: [PATCH 090/251] add position of txs --- src/controller.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 1192aff..2c213a0 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -856,8 +856,7 @@ void Controller::refreshTransactions() { address = QString::fromStdString(o["address"]); - - // qDebug()<< "Position :" << position; + // Sent items are -ve CAmount amount = CAmount::fromqint64(-1* o["value"].get()); @@ -885,9 +884,9 @@ void Controller::refreshTransactions() { memo, QString(""), QString(""), - cid, // we have to set the cid here, its included in our Addressbook for this contact + cid, txid, - true // is an outgoing message + true ); DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); //chatModel->addMessage(item); @@ -910,7 +909,6 @@ void Controller::refreshTransactions() { } - txdata.push_back(TransactionItem{ "send", datetime, address, txid,confirmations, items }); @@ -940,6 +938,7 @@ void Controller::refreshTransactions() { QString type; QString cid; + int position; QString requestZaddr1; QString requestZaddr; @@ -984,6 +983,7 @@ void Controller::refreshTransactions() { }else{ contact = "";} + position = it["position"].get(); ChatItem item = ChatItem( datetime, address, @@ -991,12 +991,13 @@ void Controller::refreshTransactions() { memo, requestZaddr, type, - cid, // we have to set the cid here, its included in the headermemo + cid, txid, false ); DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); - //chatModel->addMessage(item); + + qDebug() << "Position der Message : " << position; } } From 3998e83a1bbdd7d53c365aa82f17fba321bdf189 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 9 May 2020 13:27:32 +0200 Subject: [PATCH 091/251] add new checkpoint --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- src/chatmodel.cpp | 4 ---- src/controller.cpp | 2 +- 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index ea96eb7..416f981 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=84b1b75f2c000215aeba7850321b0abe8e8fd58f)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=37531e4a48fe130f00ed9eeccbba9863e1c8ab59)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=84b1b75f2c000215aeba7850321b0abe8e8fd58f#84b1b75f2c000215aeba7850321b0abe8e8fd58f" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=37531e4a48fe130f00ed9eeccbba9863e1c8ab59#37531e4a48fe130f00ed9eeccbba9863e1c8ab59" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=84b1b75f2c000215aeba7850321b0abe8e8fd58f)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=37531e4a48fe130f00ed9eeccbba9863e1c8ab59)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index e2987c5..27ba106 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "84b1b75f2c000215aeba7850321b0abe8e8fd58f" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "37531e4a48fe130f00ed9eeccbba9863e1c8ab59" } diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 41fbb2e..7ecbe8f 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -158,8 +158,6 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) } - - void MainWindow::renderContactRequest(){ Ui_requestDialog requestContact; @@ -322,7 +320,6 @@ QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, } - // Create a Tx from the current state of the Chat page. Tx MainWindow::createTxFromChatPage() { Tx tx; @@ -468,7 +465,6 @@ void MainWindow::sendChatButton() { ); } - QString MainWindow::doSendChatTxValidations(Tx tx) { // Check to see if we have enough verified funds to send the Tx. diff --git a/src/controller.cpp b/src/controller.cpp index 2c213a0..ccc0805 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -889,7 +889,6 @@ void Controller::refreshTransactions() { true ); DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); - //chatModel->addMessage(item); } @@ -984,6 +983,7 @@ void Controller::refreshTransactions() { }else{ contact = "";} position = it["position"].get(); + ChatItem item = ChatItem( datetime, address, From 17bffcdfea728fa539cead106f890b0870132a0f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 9 May 2020 16:57:46 +0200 Subject: [PATCH 092/251] render contact in all themes --- src/contactmodel.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 41b7758..ad58ccb 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -12,8 +12,6 @@ void ContactModel::renderContactList(QListView* view) for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { - auto theme = Settings::getInstance()->get_theme_name(); - if ((theme == "dark" || theme == "midnight")) { QString avatar = c.getAvatar(); @@ -25,8 +23,7 @@ void ContactModel::renderContactList(QListView* view) view->setUniformItemSizes(true); view->setDragDropMode(QAbstractItemView::DropOnly); view->show(); - - } + } From 0f574122582e37c1ad34e39d080b8e52d49b289d Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sat, 9 May 2020 17:55:12 +0200 Subject: [PATCH 093/251] update// added new model derived from chatmodel and contactmodel, moved listchatdelegate to a seperated class file --- silentdragon-lite.pro | 5 +- src/Chat/Chat.h | 6 + src/Chat/Helper/ChatDelegator.h | 148 +++++++++++++ src/Model/ChatItem.cpp | 135 ++++++++++++ src/Model/ChatItem.h | 45 ++++ src/Model/ContactItem.cpp | 66 ++++++ src/Model/ContactItem.h | 32 +++ src/Model/ContactRequestChatItem.cpp | 1 + src/Model/ContactRequestChatItem.h | 11 + src/chatmodel.h | 297 +-------------------------- src/contactmodel.h | 78 +------ src/controller.cpp | 1 + src/controller.h | 2 + 13 files changed, 454 insertions(+), 373 deletions(-) create mode 100644 src/Chat/Chat.h create mode 100644 src/Chat/Helper/ChatDelegator.h create mode 100644 src/Model/ChatItem.cpp create mode 100644 src/Model/ChatItem.h create mode 100644 src/Model/ContactItem.cpp create mode 100644 src/Model/ContactItem.h create mode 100644 src/Model/ContactRequestChatItem.cpp create mode 100644 src/Model/ContactRequestChatItem.h diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index c09eea7..808527b 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -74,7 +74,10 @@ SOURCES += \ src/contactmodel.cpp \ src/DataStore/DataStore.cpp \ src/DataStore/ChatDataStore.cpp \ - src/DataStore/SietchDataStore.cpp + src/DataStore/SietchDataStore.cpp \ + src/Model/ChatItem.cpp \ + src/Model/ContactRequestChatItem.cpp \ + src/Model/ContactItem.cpp HEADERS += \ src/firsttimewizard.h \ diff --git a/src/Chat/Chat.h b/src/Chat/Chat.h new file mode 100644 index 0000000..0558d91 --- /dev/null +++ b/src/Chat/Chat.h @@ -0,0 +1,6 @@ +#ifndef CHAT_H +#define CHAT_H + + + +#endif \ No newline at end of file diff --git a/src/Chat/Helper/ChatDelegator.h b/src/Chat/Helper/ChatDelegator.h new file mode 100644 index 0000000..ef6a150 --- /dev/null +++ b/src/Chat/Helper/ChatDelegator.h @@ -0,0 +1,148 @@ +#ifndef CHATDELEGATOR_H +#define CHATDELEGATOR_H + +#include +#include +#include +#include + +class ListViewDelegate : public QAbstractItemDelegate +{ + int d_radius; + int d_toppadding; + int d_bottompadding; + int d_leftpadding; + int d_rightpadding; + int d_verticalmargin; + int d_horizontalmargin; + int d_pointerwidth; + int d_pointerheight; + float d_widthfraction; + public: + inline ListViewDelegate(QObject *parent = nullptr); + + protected: + inline void paint(QPainter *painter, QStyleOptionViewItem const &option, QModelIndex const &index) const; + inline QSize sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const; +}; + +inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(5), d_verticalmargin(15), d_horizontalmargin(10), d_pointerwidth(10), d_pointerheight(17), d_widthfraction(.7) +{ + +} + +inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem const &option, QModelIndex const &index) const +{ + QTextDocument bodydoc; + QTextOption textOption(bodydoc.defaultTextOption()); + textOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); + bodydoc.setDefaultTextOption(textOption); + bodydoc.setDefaultFont(QFont("Roboto", 12)); + QString bodytext(index.data(Qt::DisplayRole).toString()); + bodydoc.setHtml(bodytext); + qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding; + bodydoc.setTextWidth(contentswidth); + qreal bodyheight = bodydoc.size().height(); + bool outgoing = index.data(Qt::UserRole + 1).toString() == "Outgoing"; + painter->save(); + painter->setRenderHint(QPainter::Antialiasing); + + // uncomment to see the area provided to paint this item + + //painter->drawRect(option.rect); + + painter->translate(option.rect.left() + d_horizontalmargin, option.rect.top() + ((index.row() == 0) ? d_verticalmargin : 0)); + + // background color for chat bubble + QColor bgcolor("#535353"); + if (outgoing) + bgcolor = "#eeeeee"; + + // create chat bubble + QPainterPath pointie; + + // left bottom + pointie.moveTo(0, bodyheight + d_toppadding + d_bottompadding); + + // right bottom + pointie.lineTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - d_radius, + bodyheight + d_toppadding + d_bottompadding); + pointie.arcTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - 2 * d_radius, + bodyheight + d_toppadding + d_bottompadding - 2 * d_radius, + 2 * d_radius, 2 * d_radius, 270, 90); + + // right top + pointie.lineTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding, 0 + d_radius); + pointie.arcTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - 2 * d_radius, 0, + 2 * d_radius, 2 * d_radius, 0, 90); + + // left top + pointie.lineTo(0 + d_pointerwidth + d_radius, 0); + pointie.arcTo(0 + d_pointerwidth, 0, 2 * d_radius, 2 * d_radius, 90, 90); + + // left bottom almost (here is the pointie) + pointie.lineTo(0 + d_pointerwidth, bodyheight + d_toppadding + d_bottompadding - d_pointerheight); + pointie.closeSubpath(); + + // rotate bubble for outgoing messages + if (outgoing) + { + painter->translate(option.rect.width() - pointie.boundingRect().width() - d_horizontalmargin - d_pointerwidth, 0); + painter->translate(pointie.boundingRect().center()); + painter->rotate(180); + painter->translate(-pointie.boundingRect().center()); + } + + // now paint it! + painter->setPen(QPen(bgcolor)); + painter->drawPath(pointie); + painter->fillPath(pointie, QBrush(bgcolor)); + + // rotate back or painter is going to paint the text rotated... + if (outgoing) + { + painter->translate(pointie.boundingRect().center()); + painter->rotate(-180); + painter->translate(-pointie.boundingRect().center()); + } + + // set text color used to draw message body + QAbstractTextDocumentLayout::PaintContext ctx; + if (outgoing) + ctx.palette.setColor(QPalette::Text, QColor("black")); + else + ctx.palette.setColor(QPalette::Text, QColor("white")); + + // draw body text + painter->translate((outgoing ? 0 : d_pointerwidth) + d_leftpadding, 0); + bodydoc.documentLayout()->draw(painter, ctx); + + painter->restore(); +} + +inline QSize ListViewDelegate::sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const +{ + QTextDocument bodydoc; + QTextOption textOption(bodydoc.defaultTextOption()); + textOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); + bodydoc.setDefaultTextOption(textOption); + bodydoc.setDefaultFont(QFont("Roboto", 12)); + QString bodytext(index.data(Qt::DisplayRole).toString()); + bodydoc.setHtml(bodytext); + + // the width of the contents are the (a fraction of the window width) minus (margins + padding + width of the bubble's tail) + qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding; + + // set this available width on the text document + bodydoc.setTextWidth(contentswidth); + + QSize size(bodydoc.idealWidth() + d_horizontalmargin + d_pointerwidth + d_leftpadding + d_rightpadding, + bodydoc.size().height() + d_bottompadding + d_toppadding + d_verticalmargin + 1); // I dont remember why +1, haha, might not be necessary + + if (index.row() == 0) // have extra margin at top of first item + size += QSize(0, d_verticalmargin); + + return size; +} + +#endif \ No newline at end of file diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp new file mode 100644 index 0000000..39d4a68 --- /dev/null +++ b/src/Model/ChatItem.cpp @@ -0,0 +1,135 @@ +#include "ChatItem.h" + +ChatItem::ChatItem() {} + +ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid) +{ + _timestamp = timestamp; + _address = address; + _contact = contact; + _memo = memo; + _requestZaddr = requestZaddr; + _type = type; + _cid = cid; + _txid = txid; + _outgoing = false; +} + +ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, bool outgoing) +{ + _timestamp = timestamp; + _address = address; + _contact = contact; + _memo = memo; + _requestZaddr = requestZaddr; + _type = type; + _cid = cid; + _txid = txid; + _outgoing = outgoing; +} + +long ChatItem::getTimestamp() +{ + return _timestamp; +} + +QString ChatItem::getAddress() +{ + return _address; +} + +QString ChatItem::getContact() +{ + return _contact; +} + +QString ChatItem::getMemo() +{ + return _memo; +} + +QString ChatItem::getRequestZaddr() +{ + return _requestZaddr; +} +QString ChatItem::getType() +{ + return _type; +} + +QString ChatItem::getCid() +{ + return _cid; +} + +QString ChatItem::getTxid() +{ + return _txid; +} + +bool ChatItem::isOutgoing() +{ + return _outgoing; +} + +void ChatItem::setTimestamp(long timestamp) +{ + _timestamp = timestamp; +} + +void ChatItem::setAddress(QString address) +{ + _address = address; +} + +void ChatItem::setContact(QString contact) +{ + _contact = contact; +} + +void ChatItem::setMemo(QString memo) +{ + _memo = memo; +} + +void ChatItem::setRequestZaddr(QString requestZaddr) +{ + _requestZaddr = requestZaddr; +} + +void ChatItem::setType(QString type) +{ + _type = type; +} + +void ChatItem::setCid(QString cid) +{ + _cid = cid; +} +void ChatItem::setTxid(QString txid) +{ + _txid = txid; +} + +void ChatItem::toggleOutgo() +{ + _outgoing = true; +} + +QString ChatItem::toChatLine() +{ + QDateTime myDateTime; + myDateTime.setTime_t(_timestamp); + QString line = QString("[") + myDateTime.toString("d.M.yy hh:mm") + QString("] "); + line += QString("") + QString(_memo) + QString("\n\n"); + return line; +} + +ChatItem::~ChatItem() +{ + /*delete timestamp; + delete address; + delete contact; + delete memo; + delete outgoing;*/ +} \ No newline at end of file diff --git a/src/Model/ChatItem.h b/src/Model/ChatItem.h new file mode 100644 index 0000000..467341f --- /dev/null +++ b/src/Model/ChatItem.h @@ -0,0 +1,45 @@ +#ifndef CHATITEM_H +#define CHATITEM_H + +#include + +class ChatItem +{ + private: + long _timestamp; + QString _address; + QString _contact; + QString _memo; + QString _requestZaddr; + QString _type; + QString _cid; + QString _txid; + bool _outgoing = false; + + public: + ChatItem(); + ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid); + ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, bool outgoing); + long getTimestamp(); + QString getAddress(); + QString getContact(); + QString getMemo(); + QString getRequestZaddr(); + QString getType(); + QString getCid(); + QString getTxid(); + bool isOutgoing(); + void setTimestamp(long timestamp); + void setAddress(QString address); + void setContact(QString contact); + void setMemo(QString memo); + void setRequestZaddr(QString requestZaddr); + void setType(QString type); + void setCid(QString cid); + void setTxid(QString txid); + void toggleOutgo(); + QString toChatLine(); + ~ChatItem(); +}; + +#endif \ No newline at end of file diff --git a/src/Model/ContactItem.cpp b/src/Model/ContactItem.cpp new file mode 100644 index 0000000..f338552 --- /dev/null +++ b/src/Model/ContactItem.cpp @@ -0,0 +1,66 @@ +#include "ContactItem.h" + +ContactItem::ContactItem() {} + +ContactItem::ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid, QString avatar) +{ + _name = name; + _myAddress = myAddress; + _partnerAddress = partnerAddress; + _cid = cid; + _avatar = avatar; +} + +QString ContactItem::getName() const +{ + return _name; +} + +QString ContactItem::getMyAddress() const +{ + return _myAddress; +} + +QString ContactItem::getPartnerAddress() const +{ + return _partnerAddress; +} + +QString ContactItem::getCid() const +{ + return _cid; +} + +QString ContactItem::getAvatar() const +{ + return _avatar; +} + +void ContactItem::setName(QString name) +{ + _name = name; +} + +void ContactItem::setMyAddress(QString myAddress) +{ + _myAddress = myAddress; +} + +void ContactItem::setPartnerAddress(QString partnerAddress) +{ + _partnerAddress = partnerAddress; +} + +void ContactItem::setcid(QString cid) +{ + _cid = cid; +} +void ContactItem::setAvatar(QString avatar) +{ + _avatar = avatar; +} + +QString ContactItem::toQTString() +{ + return _name + "|" + _partnerAddress + "|" + _myAddress + "|" + _cid + "|" + _avatar; +} \ No newline at end of file diff --git a/src/Model/ContactItem.h b/src/Model/ContactItem.h new file mode 100644 index 0000000..a18d0f7 --- /dev/null +++ b/src/Model/ContactItem.h @@ -0,0 +1,32 @@ +#ifndef CONTACTITEM_H +#define CONTACTITEM_H + +#include +#include + +class ContactItem +{ +private: + QString _myAddress; + QString _partnerAddress; + QString _name; + QString _cid; + QString _avatar; + +public: + ContactItem(); + ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid, QString avatar); + QString getName() const; + QString getMyAddress() const; + QString getPartnerAddress() const; + QString getCid() const; + QString getAvatar() const; + void setName(QString name); + void setMyAddress(QString myAddress); + void setPartnerAddress(QString partnerAddress); + void setcid(QString cid); + void setAvatar(QString avatar); + QString toQTString(); +}; + +#endif \ No newline at end of file diff --git a/src/Model/ContactRequestChatItem.cpp b/src/Model/ContactRequestChatItem.cpp new file mode 100644 index 0000000..d6cd443 --- /dev/null +++ b/src/Model/ContactRequestChatItem.cpp @@ -0,0 +1 @@ +#include "ContactRequestChatItem.h" \ No newline at end of file diff --git a/src/Model/ContactRequestChatItem.h b/src/Model/ContactRequestChatItem.h new file mode 100644 index 0000000..d1720de --- /dev/null +++ b/src/Model/ContactRequestChatItem.h @@ -0,0 +1,11 @@ +#ifdef CONTACTREQUESTCHATITEM_H +#define CONTACTREQUESTCHATITEM_H + +#include "ChatItem.h" + +class ContactRequestChatItem : ChatItem +{ + +}; + +#endif \ No newline at end of file diff --git a/src/chatmodel.h b/src/chatmodel.h index 493e744..f39888d 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -12,301 +12,8 @@ #include "controller.h" #include "settings.h" #include "camount.h" - -class ListViewDelegate : public QAbstractItemDelegate -{ - int d_radius; - int d_toppadding; - int d_bottompadding; - int d_leftpadding; - int d_rightpadding; - int d_verticalmargin; - int d_horizontalmargin; - int d_pointerwidth; - int d_pointerheight; - float d_widthfraction; - public: - inline ListViewDelegate(QObject *parent = nullptr); - - protected: - inline void paint(QPainter *painter, QStyleOptionViewItem const &option, QModelIndex const &index) const; - inline QSize sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const; -}; - -inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(5), d_verticalmargin(15), d_horizontalmargin(10), d_pointerwidth(10), d_pointerheight(17), d_widthfraction(.7) -{ - -} - -inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem const &option, QModelIndex const &index) const -{ - QTextDocument bodydoc; - QTextOption textOption(bodydoc.defaultTextOption()); - textOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); - bodydoc.setDefaultTextOption(textOption); - bodydoc.setDefaultFont(QFont("Roboto", 12)); - QString bodytext(index.data(Qt::DisplayRole).toString()); - bodydoc.setHtml(bodytext); - qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding; - bodydoc.setTextWidth(contentswidth); - qreal bodyheight = bodydoc.size().height(); - bool outgoing = index.data(Qt::UserRole + 1).toString() == "Outgoing"; - painter->save(); - painter->setRenderHint(QPainter::Antialiasing); - - // uncomment to see the area provided to paint this item - - //painter->drawRect(option.rect); - - painter->translate(option.rect.left() + d_horizontalmargin, option.rect.top() + ((index.row() == 0) ? d_verticalmargin : 0)); - - // background color for chat bubble - QColor bgcolor("#535353"); - if (outgoing) - bgcolor = "#eeeeee"; - - // create chat bubble - QPainterPath pointie; - - // left bottom - pointie.moveTo(0, bodyheight + d_toppadding + d_bottompadding); - - // right bottom - pointie.lineTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - d_radius, - bodyheight + d_toppadding + d_bottompadding); - pointie.arcTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - 2 * d_radius, - bodyheight + d_toppadding + d_bottompadding - 2 * d_radius, - 2 * d_radius, 2 * d_radius, 270, 90); - - // right top - pointie.lineTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding, 0 + d_radius); - pointie.arcTo(0 + contentswidth + d_pointerwidth + d_leftpadding + d_rightpadding - 2 * d_radius, 0, - 2 * d_radius, 2 * d_radius, 0, 90); - - // left top - pointie.lineTo(0 + d_pointerwidth + d_radius, 0); - pointie.arcTo(0 + d_pointerwidth, 0, 2 * d_radius, 2 * d_radius, 90, 90); - - // left bottom almost (here is the pointie) - pointie.lineTo(0 + d_pointerwidth, bodyheight + d_toppadding + d_bottompadding - d_pointerheight); - pointie.closeSubpath(); - - // rotate bubble for outgoing messages - if (outgoing) - { - painter->translate(option.rect.width() - pointie.boundingRect().width() - d_horizontalmargin - d_pointerwidth, 0); - painter->translate(pointie.boundingRect().center()); - painter->rotate(180); - painter->translate(-pointie.boundingRect().center()); - } - - // now paint it! - painter->setPen(QPen(bgcolor)); - painter->drawPath(pointie); - painter->fillPath(pointie, QBrush(bgcolor)); - - // rotate back or painter is going to paint the text rotated... - if (outgoing) - { - painter->translate(pointie.boundingRect().center()); - painter->rotate(-180); - painter->translate(-pointie.boundingRect().center()); - } - - // set text color used to draw message body - QAbstractTextDocumentLayout::PaintContext ctx; - if (outgoing) - ctx.palette.setColor(QPalette::Text, QColor("black")); - else - ctx.palette.setColor(QPalette::Text, QColor("white")); - - // draw body text - painter->translate((outgoing ? 0 : d_pointerwidth) + d_leftpadding, 0); - bodydoc.documentLayout()->draw(painter, ctx); - - painter->restore(); -} - -inline QSize ListViewDelegate::sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const -{ - QTextDocument bodydoc; - QTextOption textOption(bodydoc.defaultTextOption()); - textOption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); - bodydoc.setDefaultTextOption(textOption); - bodydoc.setDefaultFont(QFont("Roboto", 12)); - QString bodytext(index.data(Qt::DisplayRole).toString()); - bodydoc.setHtml(bodytext); - - // the width of the contents are the (a fraction of the window width) minus (margins + padding + width of the bubble's tail) - qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding; - - // set this available width on the text document - bodydoc.setTextWidth(contentswidth); - - QSize size(bodydoc.idealWidth() + d_horizontalmargin + d_pointerwidth + d_leftpadding + d_rightpadding, - bodydoc.size().height() + d_bottompadding + d_toppadding + d_verticalmargin + 1); // I dont remember why +1, haha, might not be necessary - - if (index.row() == 0) // have extra margin at top of first item - size += QSize(0, d_verticalmargin); - - return size; -} - - - - - -class ChatItem -{ - private: - long _timestamp; - QString _address; - QString _contact; - QString _memo; - QString _requestZaddr; - QString _type; - QString _cid; - QString _txid; - bool _outgoing = false; - - public: - ChatItem() {} - - ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid) - { - _timestamp = timestamp; - _address = address; - _contact = contact; - _memo = memo; - _requestZaddr = requestZaddr; - _type = type; - _cid = cid; - _txid = txid; - _outgoing = false; - - } - - ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, bool outgoing) - { - _timestamp = timestamp; - _address = address; - _contact = contact; - _memo = memo; - _requestZaddr = requestZaddr; - _type = type; - _cid = cid; - _txid = txid; - _outgoing = outgoing; - - } - - long getTimestamp() - { - return _timestamp; - } - - QString getAddress() - { - return _address; - } - - QString getContact() - { - return _contact; - } - - QString getMemo() - { - return _memo; - } - - QString getRequestZaddr() - { - return _requestZaddr; - } - QString getType() - { - return _type; - } - - QString getCid() - { - return _cid; - } - - QString getTxid() - { - return _txid; - } - - - bool isOutgoing() - { - return _outgoing; - } - - void setTimestamp(long timestamp) - { - _timestamp = timestamp; - } - - void setAddress(QString address) - { - _address = address; - } - - void setContact(QString contact) - { - _contact = contact; - } - - void setMemo(QString memo) - { - _memo = memo; - } - - void setRequestZaddr(QString requestZaddr) - { - _requestZaddr = requestZaddr; - } - - void setType(QString type) - { - _type = type; - } - - void setCid(QString cid) - { - _cid = cid; - } - void setTxid(QString txid) - { - _txid = txid; - } - - void toggleOutgo() - { - _outgoing = true; - } - - QString toChatLine() - { - QDateTime myDateTime; - myDateTime.setTime_t(_timestamp); - QString line = QString("[") + myDateTime.toString("d.M.yy hh:mm") + QString("] ") ; - line += QString("") + QString(_memo) + QString("\n\n"); - return line; - } - - ~ChatItem() - { - /*delete timestamp; - delete address; - delete contact; - delete memo; - delete outgoing;*/ - } -}; +#include "Model/ChatItem.h" +#include "Chat/Helper/ChatDelegator.h" class ChatModel { diff --git a/src/contactmodel.h b/src/contactmodel.h index b643bdb..fcdf7a3 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -3,85 +3,9 @@ #ifndef CONTACTMODEL_H #define CONTACTMODEL_H -#include -#include +#include "Model/ContactItem.h" #include -class ContactItem -{ - private: - QString _myAddress; - QString _partnerAddress; - QString _name; - QString _cid; - QString _avatar; - - public: - ContactItem(); - ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid, QString avatar) - { - _name = name; - _myAddress = myAddress; - _partnerAddress = partnerAddress; - _cid = cid; - _avatar = avatar; - } - - QString getName() const - { - return _name; - } - - QString getMyAddress() const - { - return _myAddress; - } - - QString getPartnerAddress() const - { - return _partnerAddress; - } - - QString getCid() const - { - return _cid; - } - - QString getAvatar() const - { - return _avatar; - } - - void setName(QString name) - { - _name = name; - } - - void setMyAddress(QString myAddress) - { - _myAddress = myAddress; - } - - void setPartnerAddress(QString partnerAddress) - { - _partnerAddress = partnerAddress; - } - - void setcid(QString cid) - { - _cid = cid; - } - void setAvatar(QString avatar) - { - _avatar = avatar; - } - - QString toQTString() - { - return _name + "|" + _partnerAddress + "|" + _myAddress + "|" + _cid + "|"+ _avatar; - } - -}; class ContactModel { diff --git a/src/controller.cpp b/src/controller.cpp index ccc0805..9087867 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -8,6 +8,7 @@ #include "version.h" #include "camount.h" #include "websockets.h" +#include "Model/ChatItem.h" #include "DataStore/DataStore.h" /*template<> diff --git a/src/controller.h b/src/controller.h index 9977427..05e1f97 100644 --- a/src/controller.h +++ b/src/controller.h @@ -12,6 +12,8 @@ #include "liteinterface.h" #include "connection.h" #include "chatmodel.h" +#include "Model/ContactRequestChatItem.h" +#include "Model/ContactItem.h" #include "contactmodel.h" using json = nlohmann::json; From 7dfb9a192939fa2fce58a920fd93096fd702a3cb Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sat, 9 May 2020 18:14:04 +0200 Subject: [PATCH 094/251] update// moved generator to separated helper class --- silentdragon-lite.pro | 3 ++- src/Chat/Chat.h | 34 ++++++++++++++++++++++++++++++++++ src/chatmodel.h | 1 + 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 808527b..5c7dd21 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -77,7 +77,8 @@ SOURCES += \ src/DataStore/SietchDataStore.cpp \ src/Model/ChatItem.cpp \ src/Model/ContactRequestChatItem.cpp \ - src/Model/ContactItem.cpp + src/Model/ContactItem.cpp \ + src/Chat/Helper/ChatIDGenerator.cpp HEADERS += \ src/firsttimewizard.h \ diff --git a/src/Chat/Chat.h b/src/Chat/Chat.h index 0558d91..969f98c 100644 --- a/src/Chat/Chat.h +++ b/src/Chat/Chat.h @@ -1,6 +1,40 @@ #ifndef CHAT_H #define CHAT_H +class Chat // Chat Controller +{ + private: + std::map chatItems; + QTableView* parent; + Ui::MainWindow* ui; + MainWindow* main; + std::map cidMap; + std::map requestZaddrMap; + public: + ChatModel() {}; + ChatModel(std::map chatItems); + ChatModel(std::vector chatItems); + QString generateChatItemID(ChatItem item); // helper + std::map getItems(); + void setItems(std::map items); + QString zaddr(); + void setItems(std::vector items); + void renderChatBox(Ui::MainWindow* ui, QListView &view); // action + void renderChatBox(Ui::MainWindow* ui, QListView *view); // action + // void renderContactRequest(); + void triggerRequest(); + void showMessages(); + void clear(); + //void renderContactRequest(Ui::MainWindow* ui, QListView *view); + void addMessage(ChatItem item); + void addMessage(QString timestamp, ChatItem item); + void addCid(QString tx, QString cid); + void addrequestZaddr(QString tx, QString requestZaddr); + QString getCidByTx(QString tx); + QString getrequestZaddrByTx(QString tx); + void killCidCache(); + void killrequestZaddrCache(); +}; #endif \ No newline at end of file diff --git a/src/chatmodel.h b/src/chatmodel.h index f39888d..d1a4147 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -14,6 +14,7 @@ #include "camount.h" #include "Model/ChatItem.h" #include "Chat/Helper/ChatDelegator.h" +#include "Chat/Helper/ChatIDGenerator.h" class ChatModel { From abdad2b09d9321abe026d544747e586fbdd52c40 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sat, 9 May 2020 21:19:59 +0200 Subject: [PATCH 095/251] update// updated contactmodel and added new generatorclass --- src/chatmodel.cpp | 11 +++++------ src/chatmodel.h | 2 +- src/contactmodel.cpp | 5 +---- src/controller.cpp | 11 ++++++----- 4 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 7ecbe8f..67dd432 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -27,7 +27,7 @@ ChatModel::ChatModel(std::vector chatItems) this->setItems(chatItems); } -QString ChatModel::generateChatItemID(ChatItem item) +/*QString ChatModel::generateChatItemID(ChatItem item) { QString key = QString::number(item.getTimestamp()) + QString("-"); key += QString(QCryptographicHash::hash( @@ -39,7 +39,7 @@ QString ChatModel::generateChatItemID(ChatItem item) ).toUtf8() ,QCryptographicHash::Md5).toHex()); return key; -} +}*/ std::map ChatModel::getItems() { @@ -55,8 +55,7 @@ void ChatModel::setItems(std::vector items) { for(ChatItem c : items) { - this->chatItems[this->generateChatItemID(c)] = c; - + this->chatItems[ChatIDGenerator::getInstance()->generateID(c)] = c; //this->generateChatItemID(c)] = c; } } @@ -67,14 +66,14 @@ void ChatModel::clear() void ChatModel::addMessage(ChatItem item) { - QString key = this->generateChatItemID(item); + QString key = ChatIDGenerator::getInstance()->generateID(item); //this->generateChatItemID(item); // qDebug() << "inserting chatitem with id: " << key; this->chatItems[key] = item; } void ChatModel::addMessage(QString timestamp, ChatItem item) { - QString key = this->generateChatItemID(item); + QString key = ChatIDGenerator::getInstance()->generateID(item);//this->generateChatItemID(item); timestamp = "0"; this->chatItems[key] = item; } diff --git a/src/chatmodel.h b/src/chatmodel.h index d1a4147..b54c5ae 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -30,7 +30,7 @@ class ChatModel ChatModel() {}; ChatModel(std::map chatItems); ChatModel(std::vector chatItems); - QString generateChatItemID(ChatItem item); + //QString generateChatItemID(ChatItem item); std::map getItems(); void setItems(std::map items); QString zaddr(); diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 41b7758..ad58ccb 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -12,8 +12,6 @@ void ContactModel::renderContactList(QListView* view) for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { - auto theme = Settings::getInstance()->get_theme_name(); - if ((theme == "dark" || theme == "midnight")) { QString avatar = c.getAvatar(); @@ -25,8 +23,7 @@ void ContactModel::renderContactList(QListView* view) view->setUniformItemSizes(true); view->setDragDropMode(QAbstractItemView::DropOnly); view->show(); - - } + } diff --git a/src/controller.cpp b/src/controller.cpp index 9087867..9301fbd 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -826,7 +826,7 @@ void Controller::refreshBalances() }); } -void Controller::refreshTransactions() { +void Controller::refreshTransactions() { if (!zrpc->haveConnection()) return noConnection(); @@ -847,7 +847,7 @@ void Controller::refreshTransactions() { auto txid = QString::fromStdString(it["txid"]); auto datetime = it["datetime"].get(); - + // First, check if there's outgoing metadata if (!it["outgoing_metadata"].is_null()) { @@ -889,7 +889,8 @@ void Controller::refreshTransactions() { txid, true ); - DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); + //DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } @@ -996,8 +997,8 @@ void Controller::refreshTransactions() { txid, false ); - DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); - + //DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); qDebug() << "Position der Message : " << position; } } From 48c592e9e91d0ac96d0b68851343c2bdede36b56 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 9 May 2020 21:46:05 +0200 Subject: [PATCH 096/251] update lib --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- src/controller.cpp | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 416f981..e198570 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=37531e4a48fe130f00ed9eeccbba9863e1c8ab59)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=1da0f0e3210db704edec74de1bc318b4e22cb6c8)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=37531e4a48fe130f00ed9eeccbba9863e1c8ab59#37531e4a48fe130f00ed9eeccbba9863e1c8ab59" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=1da0f0e3210db704edec74de1bc318b4e22cb6c8#1da0f0e3210db704edec74de1bc318b4e22cb6c8" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=37531e4a48fe130f00ed9eeccbba9863e1c8ab59)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=1da0f0e3210db704edec74de1bc318b4e22cb6c8)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 27ba106..bdf5a9b 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "37531e4a48fe130f00ed9eeccbba9863e1c8ab59" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "1da0f0e3210db704edec74de1bc318b4e22cb6c8" } diff --git a/src/controller.cpp b/src/controller.cpp index ccc0805..9a5118d 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -937,7 +937,7 @@ void Controller::refreshTransactions() { QString type; QString cid; - int position; + // int position; QString requestZaddr1; QString requestZaddr; @@ -982,7 +982,7 @@ void Controller::refreshTransactions() { }else{ contact = "";} - position = it["position"].get(); + // position = it["position"].get(); ChatItem item = ChatItem( datetime, @@ -997,7 +997,7 @@ void Controller::refreshTransactions() { ); DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); - qDebug() << "Position der Message : " << position; + } } From 6c4ee63b729505a78c857ed0ebb105fba9e1a190 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sat, 9 May 2020 22:03:55 +0200 Subject: [PATCH 097/251] update// added idgenerator and resolved mergeconflicts --- src/Chat/Helper/ChatIDGenerator.cpp | 28 ++++++++++++++++++++++++++++ src/Chat/Helper/ChatIDGenerator.h | 18 ++++++++++++++++++ src/controller.cpp | 1 - 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 src/Chat/Helper/ChatIDGenerator.cpp create mode 100644 src/Chat/Helper/ChatIDGenerator.h diff --git a/src/Chat/Helper/ChatIDGenerator.cpp b/src/Chat/Helper/ChatIDGenerator.cpp new file mode 100644 index 0000000..2acea1b --- /dev/null +++ b/src/Chat/Helper/ChatIDGenerator.cpp @@ -0,0 +1,28 @@ +#include "ChatIDGenerator.h" + +ChatIDGenerator* ChatIDGenerator::getInstance() +{ + if(ChatIDGenerator::instance == nullptr) + ChatIDGenerator::instance = new ChatIDGenerator(); + + return ChatIDGenerator::instance; +} + +QString ChatIDGenerator::generateID(ChatItem item) +{ + QString key = QString::number(item.getTimestamp()) + QString("-"); + key += QString( + QCryptographicHash::hash( + QString( + QString::number(item.getTimestamp()) + + item.getAddress() + + item.getContact() + + item.getMemo() + ).toUtf8(), + QCryptographicHash::Md5 + ).toHex() + ); + return key; +} + +ChatIDGenerator* ChatIDGenerator::instance = nullptr; \ No newline at end of file diff --git a/src/Chat/Helper/ChatIDGenerator.h b/src/Chat/Helper/ChatIDGenerator.h new file mode 100644 index 0000000..d9f6e4a --- /dev/null +++ b/src/Chat/Helper/ChatIDGenerator.h @@ -0,0 +1,18 @@ +#ifndef CHATIDGENERATOR_H +#define CHATIDGENERATOR_H + +#include +#include +#include "../../Model/ChatItem.h" + +class ChatIDGenerator +{ + private: + static ChatIDGenerator* instance; + + public: + static ChatIDGenerator* getInstance(); + QString generateID(ChatItem item); +}; + +#endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 36bc6d1..ecc487a 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -999,7 +999,6 @@ void Controller::refreshTransactions() { ); //DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - } } From 7987a1fd86dda195e0c7a3198fb73e37dbaeaec5 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 10 May 2020 00:13:02 +0200 Subject: [PATCH 098/251] fix mac png problem --- src/mainwindow.cpp | 4 ++-- src/mainwindow.ui | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 2957dbb..7a1f6c2 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -908,9 +908,9 @@ void MainWindow::setupTransactionsTab() { // Set up context menu on transactions tab auto theme = Settings::getInstance()->get_theme_name(); if (theme == "dark" || theme == "midnight") { - ui->listChat->setStyleSheet("background-image: url(res/sdlogo.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover"); + ui->listChat->setStyleSheet("background-image: url(:/icons/res/sdlogo.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover"); } - if (theme == "default") {ui->listChat->setStyleSheet("background-image: url(res/sdlogo2.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover");} + if (theme == "default") {ui->listChat->setStyleSheet("background-image: url(:/icons/res/sdlogo2.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover");} ui->listChat->setResizeMode(QListView::Adjust); ui->listChat->setWordWrap(true); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 08e1d4d..3e82d7a 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -10,6 +10,43 @@ 779 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + SilentDragonLite From cd9b850a3522f516bf1e9a1dbbc48f1910c4f097 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 10 May 2020 00:59:40 +0200 Subject: [PATCH 099/251] parse hm as json --- src/controller.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index ecc487a..c11fe72 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -920,6 +920,7 @@ void Controller::refreshTransactions() { model->markAddressUsed(address); QString memo; + QString test; if (!it["memo"].is_null()) { memo = QString::fromStdString(it["memo"]); } @@ -939,16 +940,16 @@ void Controller::refreshTransactions() { QString type; QString cid; - // int position; - QString requestZaddr1; + // int position; QString requestZaddr; if (memo.startsWith("{")) { - type = memo.mid(75,4); - cid = memo.mid(14,36); - requestZaddr1 = memo.right(82); - requestZaddr = requestZaddr1.left(78); + QJsonDocument doc = QJsonDocument::fromJson(memo.toUtf8()); + + cid = doc["cid"].toString(); + type = doc["t"].toString(); + requestZaddr = doc["z"].toString(); chatModel->addCid(txid, cid); chatModel->addrequestZaddr(txid, requestZaddr); @@ -997,7 +998,7 @@ void Controller::refreshTransactions() { txid, false ); - //DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } } From d48a7c64befd210429b4268ddef914a3245f516c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 10 May 2020 01:13:56 +0200 Subject: [PATCH 100/251] rename hm json --- src/controller.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index c11fe72..e757190 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -889,7 +889,7 @@ void Controller::refreshTransactions() { txid, true ); - //DataStore::getChatDataStore()->setData(chatModel->generateChatItemID(item), item); + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } @@ -945,11 +945,11 @@ void Controller::refreshTransactions() { if (memo.startsWith("{")) { - QJsonDocument doc = QJsonDocument::fromJson(memo.toUtf8()); + QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); - cid = doc["cid"].toString(); - type = doc["t"].toString(); - requestZaddr = doc["z"].toString(); + cid = headermemo["cid"].toString(); + type = headermemo["t"].toString(); + requestZaddr = headermemo["z"].toString(); chatModel->addCid(txid, cid); chatModel->addrequestZaddr(txid, requestZaddr); From 3fef6d382567e2bd744ca4d3aba43b8455a92faa Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 10 May 2020 16:10:50 +0200 Subject: [PATCH 101/251] set dangerous bool to false --- src/connection.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connection.cpp b/src/connection.cpp index 26d6d2b..bbc3bce 100644 --- a/src/connection.cpp +++ b/src/connection.cpp @@ -59,7 +59,7 @@ void ConnectionLoader::doAutoConnect() { qDebug() << "Doing autoconnect"; auto config = std::shared_ptr(new ConnectionConfig()); - config->dangerous = true; + config->dangerous = false; config->server = Settings::getInstance()->getSettings().server; // Initialize the library From 11e3bc5ede44a0bb23878a089a7a2bdc22a2919f Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sun, 10 May 2020 16:16:54 +0200 Subject: [PATCH 102/251] update// moved render function to chat.cpp --- silentdragon-lite.pro | 3 ++- src/Chat/Chat.h | 32 ++++++++++++++++++++------------ src/controller.cpp | 5 +++-- src/controller.h | 1 + 4 files changed, 26 insertions(+), 15 deletions(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 5c7dd21..da53d6d 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -78,7 +78,8 @@ SOURCES += \ src/Model/ChatItem.cpp \ src/Model/ContactRequestChatItem.cpp \ src/Model/ContactItem.cpp \ - src/Chat/Helper/ChatIDGenerator.cpp + src/Chat/Helper/ChatIDGenerator.cpp \ + src/Chat/Chat.cpp HEADERS += \ src/firsttimewizard.h \ diff --git a/src/Chat/Chat.h b/src/Chat/Chat.h index 969f98c..526aa36 100644 --- a/src/Chat/Chat.h +++ b/src/Chat/Chat.h @@ -1,28 +1,36 @@ #ifndef CHAT_H #define CHAT_H +#include +#include +#include +#include +#include +#include +#include +#include "precompiled.h" +#include "mainwindow.h" +#include "controller.h" +#include "settings.h" +#include "camount.h" + +#include "../Model/ChatItem.h" + + class Chat // Chat Controller { private: - std::map chatItems; QTableView* parent; Ui::MainWindow* ui; MainWindow* main; std::map cidMap; std::map requestZaddrMap; public: - ChatModel() {}; - ChatModel(std::map chatItems); - ChatModel(std::vector chatItems); - QString generateChatItemID(ChatItem item); // helper - std::map getItems(); - void setItems(std::map items); - QString zaddr(); - void setItems(std::vector items); - void renderChatBox(Ui::MainWindow* ui, QListView &view); // action + Chat(); + //QString zaddr(); void renderChatBox(Ui::MainWindow* ui, QListView *view); // action // void renderContactRequest(); - void triggerRequest(); + /*void triggerRequest(); void showMessages(); void clear(); //void renderContactRequest(Ui::MainWindow* ui, QListView *view); @@ -33,7 +41,7 @@ class Chat // Chat Controller QString getCidByTx(QString tx); QString getrequestZaddrByTx(QString tx); void killCidCache(); - void killrequestZaddrCache(); + void killrequestZaddrCache();*/ }; diff --git a/src/controller.cpp b/src/controller.cpp index e757190..730e906 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -16,6 +16,7 @@ DataStore* DataStore::instance = nullptr; template<> bool DataStore::instanced = false;*/ ChatModel *chatModel = new ChatModel(); +Chat *chat = new Chat(); ContactModel *contactModel = new ContactModel(); using json = nlohmann::json; @@ -1022,7 +1023,7 @@ void Controller::refreshTransactions() { // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); - chatModel->renderChatBox(ui, ui->listChat); + chat->renderChatBox(ui, ui->listChat); refreshContacts( ui->listContactWidget @@ -1032,7 +1033,7 @@ void Controller::refreshTransactions() { void Controller::refreshChat(QListView *listWidget) { - chatModel->renderChatBox(ui, listWidget); + chat->renderChatBox(ui, listWidget); } diff --git a/src/controller.h b/src/controller.h index 05e1f97..cfd3bbb 100644 --- a/src/controller.h +++ b/src/controller.h @@ -12,6 +12,7 @@ #include "liteinterface.h" #include "connection.h" #include "chatmodel.h" +#include "Chat/Chat.h" #include "Model/ContactRequestChatItem.h" #include "Model/ContactItem.h" #include "contactmodel.h" From 7e491b3a2534bf88f9b80d71c994b9b0531e1b96 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sun, 10 May 2020 19:15:04 +0200 Subject: [PATCH 103/251] update// addec chat.cpp --- src/Chat/Chat.cpp | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/Chat/Chat.cpp diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp new file mode 100644 index 0000000..c2719ee --- /dev/null +++ b/src/Chat/Chat.cpp @@ -0,0 +1,53 @@ +#include "Chat.h" +#include "../addressbook.h" +#include "../DataStore/DataStore.h" +Chat::Chat() {} + +void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view) +{ + QStandardItemModel *chat = new QStandardItemModel(); + // ui->lcdNumber->setStyleSheet("background-color: red"); + // ui->lcdNumber->setPalette(Qt::red); + // ui->lcdNumber->display("1"); + + for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) + { + for (auto &c : DataStore::getChatDataStore()->getAllMemos()) + { + //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid + + if ( + (c.second.getContact() == ui->contactNameMemo->text().trimmed()) && + (p.getPartnerAddress() == c.second.getAddress()) && + (c.second.isOutgoing() == true)) + { + + QStandardItem *Items = new QStandardItem(c.second.toChatLine()); + Items->setData("Outgoing", Qt::UserRole + 1); + chat->appendRow(Items); + ui->listChat->setModel(chat); + } + else + { + ui->listChat->setModel(chat); + } + + if ( + (c.second.getContact() == ui->contactNameMemo->text().trimmed()) && + (p.getMyAddress() == c.second.getAddress()) && + (c.second.isOutgoing() == false)) + + { + QStandardItem *Items1 = new QStandardItem(c.second.toChatLine()); + Items1->setData("Incoming", Qt::UserRole + 1); + chat->appendRow(Items1); + ui->listChat->setModel(chat); + } + else + { + + ui->listChat->setModel(chat); + } + } + } +} \ No newline at end of file From b9526c1f3514f4a7abd2ec0b8979392c5781141d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 14 May 2020 12:50:05 +0200 Subject: [PATCH 104/251] fix a problem with two chatrender functions due to refractor --- src/Chat/Chat.cpp | 4 +-- src/chatmodel.cpp | 74 ++-------------------------------------------- src/chatmodel.h | 5 ---- src/controller.cpp | 13 +++++--- 4 files changed, 13 insertions(+), 83 deletions(-) diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index c2719ee..7038fe1 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -17,7 +17,7 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view) //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid if ( - (c.second.getContact() == ui->contactNameMemo->text().trimmed()) && + (p.getName() == ui->contactNameMemo->text().trimmed()) && (p.getPartnerAddress() == c.second.getAddress()) && (c.second.isOutgoing() == true)) { @@ -33,7 +33,7 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view) } if ( - (c.second.getContact() == ui->contactNameMemo->text().trimmed()) && + (p.getName() == ui->contactNameMemo->text().trimmed()) && (p.getMyAddress() == c.second.getAddress()) && (c.second.isOutgoing() == false)) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 67dd432..01aed54 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -86,77 +86,7 @@ void ChatModel::showMessages() } } - -void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView &view) -{ - /*for(auto &c : this->chatItems) - { - //view.getItems().add(QString("[Timestamp] : lorem ipsum ....")); - }*/ - qDebug() << "not implemented yet"; - //todo render items to view -} - -void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) -{ - - - QStandardItemModel* chat = new QStandardItemModel(); - // ui->lcdNumber->setStyleSheet("background-color: red"); - // ui->lcdNumber->setPalette(Qt::red); - // ui->lcdNumber->display("1"); - - - - - for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) - for (auto &c : DataStore::getChatDataStore()->getAllMemos()) - { - //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid - - - if ( - (c.second.getContact() == ui->contactNameMemo->text().trimmed()) && - (p.getPartnerAddress() == c.second.getAddress()) && - (c.second.isOutgoing() == true) - ) - { - - QStandardItem* Items = new QStandardItem(c.second.toChatLine()); - Items->setData("Outgoing", Qt::UserRole +1); - chat->appendRow(Items); - ui->listChat->setModel(chat); - - } - else{ - ui->listChat->setModel(chat); - - } - - if ( - (c.second.getContact() == ui->contactNameMemo->text().trimmed()) && - (p.getMyAddress() == c.second.getAddress()) && - (c.second.isOutgoing() == false) - ) - - { - - QStandardItem* Items1 = new QStandardItem(c.second.toChatLine()); - Items1->setData("Incoming", Qt::UserRole +1); - chat->appendRow(Items1); - ui->listChat->setModel(chat); - - } - else{ - - ui->listChat->setModel(chat); - } - - } - - -} - + void MainWindow::renderContactRequest(){ Ui_requestDialog requestContact; @@ -167,7 +97,7 @@ void MainWindow::renderContactRequest(){ QStandardItemModel* contactRequest = new QStandardItemModel(); { - for (auto &c : DataStore::getChatDataStore()->getAllContactRequests()) + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()) { QStandardItem* Items = new QStandardItem(c.second.getAddress()); diff --git a/src/chatmodel.h b/src/chatmodel.h index b54c5ae..04493b8 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -30,18 +30,13 @@ class ChatModel ChatModel() {}; ChatModel(std::map chatItems); ChatModel(std::vector chatItems); - //QString generateChatItemID(ChatItem item); std::map getItems(); void setItems(std::map items); QString zaddr(); void setItems(std::vector items); - void renderChatBox(Ui::MainWindow* ui, QListView &view); - void renderChatBox(Ui::MainWindow* ui, QListView *view); - // void renderContactRequest(); void triggerRequest(); void showMessages(); void clear(); - //void renderContactRequest(Ui::MainWindow* ui, QListView *view); void addMessage(ChatItem item); void addMessage(QString timestamp, ChatItem item); void addCid(QString tx, QString cid); diff --git a/src/controller.cpp b/src/controller.cpp index 730e906..35403c1 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -877,7 +877,7 @@ void Controller::refreshTransactions() { if (address == c.getPartnerAddress()){ contact = c.getName(); }else{ contact = "";} - + } ChatItem item = ChatItem( datetime, @@ -890,14 +890,17 @@ void Controller::refreshTransactions() { txid, true ); + qDebug()<<"Kontaktname : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); - } + // } items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; } + { QList addresses; @@ -986,6 +989,7 @@ void Controller::refreshTransactions() { }else{ contact = "";} + } // position = it["position"].get(); ChatItem item = ChatItem( @@ -999,9 +1003,10 @@ void Controller::refreshTransactions() { txid, false ); - + qDebug()<<"Kontaktname : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); - } + // } } } From 96a073cacf8737c87182b85418bcc8210d66f027 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 14 May 2020 13:26:24 +0200 Subject: [PATCH 105/251] dont scan transactions to often --- src/addressbook.cpp | 2 +- src/controller.cpp | 36 +++++++++--------------------------- 2 files changed, 10 insertions(+), 28 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index d00c3ae..d17726c 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -156,7 +156,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) ab.addr_chat->setText(myAddr); }); model.updateUi(); //todo fix updating gui after adding - rpc->refresh(true); + //rpc->refresh(true); // If there is a target then make it the addr for the "Add to" button if (target != nullptr && Settings::isValidAddress(target->text())) diff --git a/src/controller.cpp b/src/controller.cpp index 35403c1..3c370f1 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -867,22 +867,14 @@ void Controller::refreshTransactions() { QString memo; if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); - } + - QString cid; - QString contact; - - for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - { - if (address == c.getPartnerAddress()){ - contact = c.getName(); - }else{ contact = "";} - } + QString cid; ChatItem item = ChatItem( datetime, address, - contact, + QString(""), memo, QString(""), QString(""), @@ -890,12 +882,11 @@ void Controller::refreshTransactions() { txid, true ); - qDebug()<<"Kontaktname : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); - // } + } items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; @@ -947,7 +938,7 @@ void Controller::refreshTransactions() { // int position; QString requestZaddr; - if (memo.startsWith("{")) { + if ((memo.startsWith("{")) && (!it["memo"].is_null())) { QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); @@ -958,7 +949,7 @@ void Controller::refreshTransactions() { chatModel->addCid(txid, cid); chatModel->addrequestZaddr(txid, requestZaddr); - } + // } if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ @@ -980,22 +971,13 @@ void Controller::refreshTransactions() { requestZaddr = ""; } - QString contact; - for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - { - if (address == c.getMyAddress()){ - contact = c.getName(); - - }else{ contact = "";} - - } // position = it["position"].get(); ChatItem item = ChatItem( datetime, address, - contact, + QString(""), memo, requestZaddr, type, @@ -1003,10 +985,10 @@ void Controller::refreshTransactions() { txid, false ); - qDebug()<<"Kontaktname : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); - // } + } } } From 7fe11f4985c0a8ec6ff8871f5d4ca295131946bc Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 14 May 2020 13:55:25 +0200 Subject: [PATCH 106/251] fix some typos/reformat --- src/controller.cpp | 1928 +++++++++++++++++++++----------------------- 1 file changed, 899 insertions(+), 1029 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 3c370f1..8023cbc 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -2,58 +2,67 @@ // GPLv3 #include "controller.h" + #include "mainwindow.h" + #include "addressbook.h" + #include "settings.h" + #include "version.h" + #include "camount.h" + #include "websockets.h" + #include "Model/ChatItem.h" + #include "DataStore/DataStore.h" /*template<> DataStore* DataStore::instance = nullptr; template<> bool DataStore::instanced = false;*/ -ChatModel *chatModel = new ChatModel(); -Chat *chat = new Chat(); -ContactModel *contactModel = new ContactModel(); +ChatModel * chatModel = new ChatModel(); +Chat * chat = new Chat(); +ContactModel * contactModel = new ContactModel(); using json = nlohmann::json; -Controller::Controller(MainWindow* main) -{ +Controller::Controller(MainWindow * main) { auto cl = new ConnectionLoader(main, this); // Execute the load connection async, so we can set up the rest of RPC properly. - QTimer::singleShot(1, [=]() { cl->loadConnection(); }); + QTimer::singleShot(1, [ = ]() { + cl - > loadConnection(); + }); - this->main = main; - this->ui = main->ui; + this - > main = main; + this - > ui = main - > ui; // Setup balances table model - balancesTableModel = new BalancesTableModel(main->ui->balancesTable); - main->ui->balancesTable->setModel(balancesTableModel); + balancesTableModel = new BalancesTableModel(main - > ui - > balancesTable); + main - > ui - > balancesTable - > setModel(balancesTableModel); // Setup transactions table model - transactionsTableModel = new TxTableModel(ui->transactionsTable); - main->ui->transactionsTable->setModel(transactionsTableModel); - + transactionsTableModel = new TxTableModel(ui - > transactionsTable); + main - > ui - > transactionsTable - > setModel(transactionsTableModel); + // Set up timer to refresh Price priceTimer = new QTimer(main); - QObject::connect(priceTimer, &QTimer::timeout, [=]() { - if (Settings::getInstance()->getAllowFetchPrices()) - refreshZECPrice(); - + QObject::connect(priceTimer, & QTimer::timeout, [ = ]() { + if (Settings::getInstance() - > getAllowFetchPrices()) + refreshZECPrice(); + }); - priceTimer->start(Settings::priceRefreshSpeed); // Every 5 Min + priceTimer - > start(Settings::priceRefreshSpeed); // Every 5 Min // Set up a timer to refresh the UI every few seconds timer = new QTimer(main); - QObject::connect(timer, &QTimer::timeout, [=]() { + QObject::connect(timer, & QTimer::timeout, [ = ]() { refresh(); }); - timer->start(Settings::updateSpeed); + timer - > start(Settings::updateSpeed); // Create the data model model = new DataModel(); @@ -62,8 +71,7 @@ Controller::Controller(MainWindow* main) zrpc = new LiteInterface(); } -Controller::~Controller() -{ +Controller::~Controller() { delete timer; delete txTimer; delete transactionsTableModel; @@ -71,22 +79,21 @@ Controller::~Controller() delete model; delete zrpc; } - + // Called when a connection to hushd is available. -void Controller::setConnection(Connection* c) -{ - if (c == nullptr) +void Controller::setConnection(Connection * c) { + if (c == nullptr) return; - this->zrpc->setConnection(c); - ui->statusBar->showMessage(""); + this - > zrpc - > setConnection(c); + ui - > statusBar - > showMessage(""); // If we're allowed to get the Hush Price, get the prices - if (Settings::getInstance()->getAllowFetchPrices()) + if (Settings::getInstance() - > getAllowFetchPrices()) refreshZECPrice(); // If we're allowed to check for updates, check for a new release - if (Settings::getInstance()->getCheckForUpdates()) + if (Settings::getInstance() - > getCheckForUpdates()) checkForUpdate(); // Force update, because this might be coming from a settings update @@ -95,458 +102,417 @@ void Controller::setConnection(Connection* c) // Create Sietch zdust addr at startup. // Using DataStore singelton, to store the data outside of lambda, bing bada boom :D - for(uint8_t i = 0; i < 10; i++) - { - zrpc->createNewSietchZaddr( [=] (json reply) { - QString zdust = QString::fromStdString(reply.get()[0]); - DataStore::getSietchDataStore()->setData("Sietch" + QString(i), zdust.toUtf8()); + for (uint8_t i = 0; i < 10; i++) { + zrpc - > createNewSietchZaddr([ = ](json reply) { + QString zdust = QString::fromStdString(reply.get < json::array_t > ()[0]); + DataStore::getSietchDataStore() - > setData("Sietch" + QString(i), zdust.toUtf8()); }); } } // Build the RPC JSON Parameters for this tx -void Controller::fillTxJsonParams(json& allRecepients, Tx tx) -{ +void Controller::fillTxJsonParams(json & allRecepients, Tx tx) { Q_ASSERT(allRecepients.is_array()); // Construct the JSON params json rec = json::object(); //creating the JSON dust parameters in a std::vector to iterate over there during tx - std::vector dust(10); + std::vector < json > dust(10); dust.resize(10, json::object()); // Create Sietch zdust addr again to not use it twice. // Using DataStore singelton, to store the data outside of lambda, bing bada boom :D - for(uint8_t i = 0; i < 10; i++) - { - zrpc->createNewSietchZaddr( [=] (json reply) { - QString zdust = QString::fromStdString(reply.get()[0]); - DataStore::getSietchDataStore()->setData(QString("Sietch") + QString(i), zdust.toUtf8()); - } ); + for (uint8_t i = 0; i < 10; i++) { + zrpc - > createNewSietchZaddr([ = ](json reply) { + QString zdust = QString::fromStdString(reply.get < json::array_t > ()[0]); + DataStore::getSietchDataStore() - > setData(QString("Sietch") + QString(i), zdust.toUtf8()); + }); } // Set sietch zdust addr to json. // Using DataStore singelton, to store the data into the dusts, bing bada boom :D - for(uint8_t i = 0; i < 10; i++) - { - dust.at(i)["address"] = DataStore::getSietchDataStore()->getData(QString("Sietch" + QString(i))).toStdString(); + for (uint8_t i = 0; i < 10; i++) { + dust.at(i)["address"] = DataStore::getSietchDataStore() - > getData(QString("Sietch" + QString(i))).toStdString(); } - DataStore::getSietchDataStore()->clear(); // clears the datastore + DataStore::getSietchDataStore() - > clear(); // clears the datastore // Dust amt/memo, construct the JSON - for(uint8_t i = 0; i < 10; i++) - { + for (uint8_t i = 0; i < 10; i++) { dust.at(i)["amount"] = 0; dust.at(i)["memo"] = ""; - + } - + // For each addr/amt/memo, construct the JSON and also build the confirm dialog box - for (int i=0; i < tx.toAddrs.size(); i++) - { + for (int i = 0; i < tx.toAddrs.size(); i++) { auto toAddr = tx.toAddrs[i]; rec["address"] = toAddr.addr.toStdString(); - rec["amount"] = toAddr.amount.toqint64(); + rec["amount"] = toAddr.amount.toqint64(); if (Settings::isZAddress(toAddr.addr) && !toAddr.memo.trimmed().isEmpty()) rec["memo"] = toAddr.memo.toStdString(); - allRecepients.push_back(rec) ; + allRecepients.push_back(rec); } - allRecepients.insert(std::begin(allRecepients), { - dust.at(0), - dust.at(1), - dust.at(2), - dust.at(3), - dust.at(4), - dust.at(5), - dust.at(6), - dust.at(7), - dust.at(8) - }) ; + allRecepients.insert(std::begin(allRecepients), { + dust.at(0), + dust.at(1), + dust.at(2), + dust.at(3), + dust.at(4), + dust.at(5), + dust.at(6), + dust.at(7), + dust.at(8) + }); } -void Controller::noConnection() -{ - QIcon i = QApplication::style()->standardIcon(QStyle::SP_MessageBoxCritical); - main->statusIcon->setPixmap(i.pixmap(16, 16)); - main->statusIcon->setToolTip(""); - main->statusLabel->setText(QObject::tr("No Connection")); - main->statusLabel->setToolTip(""); - main->ui->statusBar->showMessage(QObject::tr("No Connection"), 1000); +void Controller::noConnection() { + QIcon i = QApplication::style() - > standardIcon(QStyle::SP_MessageBoxCritical); + main - > statusIcon - > setPixmap(i.pixmap(16, 16)); + main - > statusIcon - > setToolTip(""); + main - > statusLabel - > setText(QObject::tr("No Connection")); + main - > statusLabel - > setToolTip(""); + main - > ui - > statusBar - > showMessage(QObject::tr("No Connection"), 1000); // Clear balances table. - QMap emptyBalances; - QList emptyOutputs; - QList emptyAddresses; - balancesTableModel->setNewData(emptyAddresses, emptyAddresses, emptyBalances, emptyOutputs); + QMap < QString, CAmount > emptyBalances; + QList < UnspentOutput > emptyOutputs; + QList < QString > emptyAddresses; + balancesTableModel - > setNewData(emptyAddresses, emptyAddresses, emptyBalances, emptyOutputs); // Clear Transactions table. - QList emptyTxs; - transactionsTableModel->replaceData(emptyTxs); + QList < TransactionItem > emptyTxs; + transactionsTableModel - > replaceData(emptyTxs); // Clear balances - ui->balSheilded->setText(""); - ui->balTransparent->setText(""); - ui->balTotal->setText(""); + ui - > balSheilded - > setText(""); + ui - > balTransparent - > setText(""); + ui - > balTotal - > setText(""); - ui->balSheilded->setToolTip(""); - ui->balTransparent->setToolTip(""); - ui->balTotal->setToolTip(""); + ui - > balSheilded - > setToolTip(""); + ui - > balTransparent - > setToolTip(""); + ui - > balTotal - > setToolTip(""); } /// This will refresh all the balance data from hushd -void Controller::refresh(bool force) -{ - if (!zrpc->haveConnection()) +void Controller::refresh(bool force) { + if (!zrpc - > haveConnection()) return noConnection(); getInfoThenRefresh(force); } -void Controller::processInfo(const json& info) -{ +void Controller::processInfo(const json & info) { // Testnet? QString chainName; - if (!info["chain_name"].is_null()) - { - chainName = QString::fromStdString(info["chain_name"].get()); - Settings::getInstance()->setTestnet(chainName == "test"); + if (!info["chain_name"].is_null()) { + chainName = QString::fromStdString(info["chain_name"].get < json::string_t > ()); + Settings::getInstance() - > setTestnet(chainName == "test"); } - QString version = QString::fromStdString(info["version"].get()); - Settings::getInstance()->sethushdVersion(version); + QString version = QString::fromStdString(info["version"].get < json::string_t > ()); + Settings::getInstance() - > sethushdVersion(version); // Recurring pamynets are testnet only - if (!Settings::getInstance()->isTestnet()) - main->disableRecurring(); + if (!Settings::getInstance() - > isTestnet()) + main - > disableRecurring(); } -void Controller::getInfoThenRefresh(bool force) -{ - if (!zrpc->haveConnection()) +void Controller::getInfoThenRefresh(bool force) { + if (!zrpc - > haveConnection()) return noConnection(); static bool prevCallSucceeded = false; - zrpc->fetchInfo([=] (const json& reply) { - prevCallSucceeded = true; - int curBlock = reply["latest_block_height"].get(); - int longestchain = reply["longestchain"].get(); - int notarized = reply["notarized"].get(); - int difficulty = reply["difficulty"].get(); - int blocks_until_halving= 340000 - curBlock; - int halving_days = (blocks_until_halving * 150) / (60*60*24) ; - bool doUpdate = force || (model->getLatestBlock() != curBlock); - model->setLatestBlock(curBlock); + zrpc - > fetchInfo([ = ](const json & reply) { + prevCallSucceeded = true; + int curBlock = reply["latest_block_height"].get < json::number_integer_t > (); + int longestchain = reply["longestchain"].get < json::number_integer_t > (); + int notarized = reply["notarized"].get < json::number_integer_t > (); + int difficulty = reply["difficulty"].get < json::number_integer_t > (); + int blocks_until_halving = 340000 - curBlock; + int halving_days = (blocks_until_halving * 150) / (60 * 60 * 24); + bool doUpdate = force || (model - > getLatestBlock() != curBlock); + model - > setLatestBlock(curBlock); if ( - Settings::getInstance()->get_currency_name() == "EUR" || - Settings::getInstance()->get_currency_name() == "CHF" || - Settings::getInstance()->get_currency_name() == "RUB" - ) - { - ui->blockHeight->setText( + Settings::getInstance() - > get_currency_name() == "EUR" || + Settings::getInstance() - > get_currency_name() == "CHF" || + Settings::getInstance() - > get_currency_name() == "RUB" + ) { + ui - > blockHeight - > setText( "Block: " + QLocale(QLocale::German).toString(curBlock) ); - ui->last_notarized->setText( + ui - > last_notarized - > setText( "Block: " + QLocale(QLocale::German).toString(notarized) ); - ui->longestchain->setText( + ui - > longestchain - > setText( "Block: " + QLocale(QLocale::German).toString(longestchain) ); - ui->difficulty->setText( + ui - > difficulty - > setText( QLocale(QLocale::German).toString(difficulty) ); - ui->halvingTime->setText( - (QLocale(QLocale::German).toString(blocks_until_halving)) + - " Blocks or , " + (QLocale(QLocale::German).toString(halving_days) + " days" ) + ui - > halvingTime - > setText( + (QLocale(QLocale::German).toString(blocks_until_halving)) + + " Blocks or , " + (QLocale(QLocale::German).toString(halving_days) + " days") ); - } - else - { - ui->blockHeight->setText( + } else { + ui - > blockHeight - > setText( "Block: " + QLocale(QLocale::English).toString(curBlock) ); - ui->last_notarized->setText( + ui - > last_notarized - > setText( "Block: " + QLocale(QLocale::English).toString(notarized) ); - ui->longestchain->setText( + ui - > longestchain - > setText( "Block: " + QLocale(QLocale::English).toString(longestchain) ); - ui->difficulty->setText( + ui - > difficulty - > setText( QLocale(QLocale::English).toString(difficulty) ); - ui->halvingTime->setText( - (QLocale(QLocale::English).toString(blocks_until_halving)) + - " Blocks or , " + (QLocale(QLocale::English).toString(halving_days) + " days" ) + ui - > halvingTime - > setText( + (QLocale(QLocale::English).toString(blocks_until_halving)) + + " Blocks or , " + (QLocale(QLocale::English).toString(halving_days) + " days") ); } - ui->Version->setText( - QString::fromStdString(reply["version"].get()) - ); - ui->Vendor->setText( - QString::fromStdString(reply["vendor"].get()) + ui - > Version - > setText( + QString::fromStdString(reply["version"].get < json::string_t > ()) ); - main->logger->write( - QString("Refresh. curblock ") % QString::number(curBlock) % ", update=" % (doUpdate ? "true" : "false") + ui - > Vendor - > setText( + QString::fromStdString(reply["vendor"].get < json::string_t > ()) + ); + main - > logger - > write( + QString("Refresh. curblock ") % QString::number(curBlock) % ", update=" % (doUpdate ? "true" : "false") ); // Connected, so display checkmark. - auto tooltip = Settings::getInstance()->getSettings().server + "\n" + - QString::fromStdString(zrpc->getConnection()->getInfo().dump()); + auto tooltip = Settings::getInstance() - > getSettings().server + "\n" + + QString::fromStdString(zrpc - > getConnection() - > getInfo().dump()); QIcon i(":/icons/res/connected.gif"); - QString chainName = Settings::getInstance()->isTestnet() ? "test" : "main"; - main->statusLabel->setText(chainName + "(" + QString::number(curBlock) + ")"); + QString chainName = Settings::getInstance() - > isTestnet() ? "test" : "main"; + main - > statusLabel - > setText(chainName + "(" + QString::number(curBlock) + ")"); // use currency ComboBox as input - if (Settings::getInstance()->get_currency_name() == "USD") - { - double price = Settings::getInstance()->getZECPrice(); - double volume = Settings::getInstance()->getUSDVolume(); - double cap = Settings::getInstance()->getUSDCAP(); - main->statusLabel->setText( - " HUSH/USD=$ " + (QLocale(QLocale::English).toString(price,'f', 2)) + if (Settings::getInstance() - > get_currency_name() == "USD") { + double price = Settings::getInstance() - > getZECPrice(); + double volume = Settings::getInstance() - > getUSDVolume(); + double cap = Settings::getInstance() - > getUSDCAP(); + main - > statusLabel - > setText( + " HUSH/USD=$ " + (QLocale(QLocale::English).toString(price, 'f', 2)) ); - ui->volumeExchange->setText( - " $ " + (QLocale(QLocale::English).toString(volume,'f', 2)) + ui - > volumeExchange - > setText( + " $ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) ); - ui->marketcapTab->setText( - " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) + ui - > marketcapTab - > setText( + " $ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) ); - } - else if (Settings::getInstance()->get_currency_name() == "EUR") - { - double price = Settings::getInstance()->getEURPrice(); - double volume = Settings::getInstance()->getEURVolume(); - double cap = Settings::getInstance()->getEURCAP(); - main->statusLabel->setText( - "HUSH/EUR "+(QLocale(QLocale::German).toString(price,'f', 2))+ " €" - ); - ui->volumeExchange->setText( - QLocale(QLocale::German).toString(volume,'f', 2)+ " €" + } else if (Settings::getInstance() - > get_currency_name() == "EUR") { + double price = Settings::getInstance() - > getEURPrice(); + double volume = Settings::getInstance() - > getEURVolume(); + double cap = Settings::getInstance() - > getEURCAP(); + main - > statusLabel - > setText( + "HUSH/EUR " + (QLocale(QLocale::German).toString(price, 'f', 2)) + " €" + ); + ui - > volumeExchange - > setText( + QLocale(QLocale::German).toString(volume, 'f', 2) + " €" ); - ui->marketcapTab->setText( - QLocale(QLocale::German).toString(cap,'f', 2)+ " €" + ui - > marketcapTab - > setText( + QLocale(QLocale::German).toString(cap, 'f', 2) + " €" ); - } - else if (Settings::getInstance()->get_currency_name() == "BTC") - { - double price = Settings::getInstance()->getBTCPrice(); - double volume = Settings::getInstance()->getBTCVolume(); - double cap = Settings::getInstance()->getBTCCAP(); - main->statusLabel->setText( - " HUSH/BTC=BTC " + (QLocale(QLocale::English).toString(price, 'f',8)) + } else if (Settings::getInstance() - > get_currency_name() == "BTC") { + double price = Settings::getInstance() - > getBTCPrice(); + double volume = Settings::getInstance() - > getBTCVolume(); + double cap = Settings::getInstance() - > getBTCCAP(); + main - > statusLabel - > setText( + " HUSH/BTC=BTC " + (QLocale(QLocale::English).toString(price, 'f', 8)) ); - ui->volumeExchange->setText( - " BTC " + (QLocale(QLocale::English).toString(volume, 'f',8)) + ui - > volumeExchange - > setText( + " BTC " + (QLocale(QLocale::English).toString(volume, 'f', 8)) ); - ui->marketcapTab->setText( - " BTC " + (QLocale(QLocale::English).toString(cap, 'f',8)) + ui - > marketcapTab - > setText( + " BTC " + (QLocale(QLocale::English).toString(cap, 'f', 8)) ); - } - else if (Settings::getInstance()->get_currency_name() == "CNY") - { - double price = Settings::getInstance()->getCNYPrice(); - double volume = Settings::getInstance()->getCNYVolume(); - double cap = Settings::getInstance()->getCNYCAP(); - main->statusLabel->setText( - " HUSH/CNY=¥ /元 " + (QLocale(QLocale::Chinese).toString(price,'f', 2)) + } else if (Settings::getInstance() - > get_currency_name() == "CNY") { + double price = Settings::getInstance() - > getCNYPrice(); + double volume = Settings::getInstance() - > getCNYVolume(); + double cap = Settings::getInstance() - > getCNYCAP(); + main - > statusLabel - > setText( + " HUSH/CNY=¥ /元 " + (QLocale(QLocale::Chinese).toString(price, 'f', 2)) ); - ui->volumeExchange->setText( - " ¥ /元 " + (QLocale(QLocale::Chinese).toString(volume,'f', 2)) + ui - > volumeExchange - > setText( + " ¥ /元 " + (QLocale(QLocale::Chinese).toString(volume, 'f', 2)) ); - ui->marketcapTab->setText( - " ¥ /元 " + (QLocale(QLocale::Chinese).toString(cap,'f', 2)) + ui - > marketcapTab - > setText( + " ¥ /元 " + (QLocale(QLocale::Chinese).toString(cap, 'f', 2)) ); - } - else if (Settings::getInstance()->get_currency_name() == "RUB") - { - double price = Settings::getInstance()->getRUBPrice(); - double volume = Settings::getInstance()->getRUBVolume(); - double cap = Settings::getInstance()->getRUBCAP(); - main->statusLabel->setText( - " HUSH/RUB=₽ " + (QLocale(QLocale::German).toString(price,'f', 2)) + } else if (Settings::getInstance() - > get_currency_name() == "RUB") { + double price = Settings::getInstance() - > getRUBPrice(); + double volume = Settings::getInstance() - > getRUBVolume(); + double cap = Settings::getInstance() - > getRUBCAP(); + main - > statusLabel - > setText( + " HUSH/RUB=₽ " + (QLocale(QLocale::German).toString(price, 'f', 2)) ); - ui->volumeExchange->setText( - " ₽ " + (QLocale(QLocale::German).toString(volume,'f', 2)) + ui - > volumeExchange - > setText( + " ₽ " + (QLocale(QLocale::German).toString(volume, 'f', 2)) ); - ui->marketcapTab->setText( - " ₽ " + (QLocale(QLocale::German).toString(cap,'f', 2)) + ui - > marketcapTab - > setText( + " ₽ " + (QLocale(QLocale::German).toString(cap, 'f', 2)) ); - } - else if (Settings::getInstance()->get_currency_name() == "CAD") - { - double price = Settings::getInstance()->getCADPrice(); - double volume = Settings::getInstance()->getCADVolume(); - double cap = Settings::getInstance()->getCADCAP(); - main->statusLabel->setText( - " HUSH/CAD=$ " + (QLocale(QLocale::English).toString(price,'f', 2)) + } else if (Settings::getInstance() - > get_currency_name() == "CAD") { + double price = Settings::getInstance() - > getCADPrice(); + double volume = Settings::getInstance() - > getCADVolume(); + double cap = Settings::getInstance() - > getCADCAP(); + main - > statusLabel - > setText( + " HUSH/CAD=$ " + (QLocale(QLocale::English).toString(price, 'f', 2)) ); - ui->volumeExchange->setText( - " $ " + (QLocale(QLocale::English).toString(volume,'f', 2)) + ui - > volumeExchange - > setText( + " $ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) ); - ui->marketcapTab->setText( - " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) + ui - > marketcapTab - > setText( + " $ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) ); - } - else if (Settings::getInstance()->get_currency_name() == "SGD") - { - double price = Settings::getInstance()->getSGDPrice(); - double volume = Settings::getInstance()->getSGDVolume(); - double cap = Settings::getInstance()->getSGDCAP(); - main->statusLabel->setText( - " HUSH/SGD=$ " + (QLocale(QLocale::English).toString(price,'f', 2)) + } else if (Settings::getInstance() - > get_currency_name() == "SGD") { + double price = Settings::getInstance() - > getSGDPrice(); + double volume = Settings::getInstance() - > getSGDVolume(); + double cap = Settings::getInstance() - > getSGDCAP(); + main - > statusLabel - > setText( + " HUSH/SGD=$ " + (QLocale(QLocale::English).toString(price, 'f', 2)) ); - ui->volumeExchange->setText( - " $ " + (QLocale(QLocale::English).toString(volume,'f', 2)) + ui - > volumeExchange - > setText( + " $ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) ); - ui->marketcapTab->setText( - " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) + ui - > marketcapTab - > setText( + " $ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) ); - } - else if (Settings::getInstance()->get_currency_name() == "CHF") - { - double price = Settings::getInstance()->getCHFPrice(); - double volume = Settings::getInstance()->getCHFVolume(); - double cap = Settings::getInstance()->getCHFCAP(); - main->statusLabel->setText( - " HUSH/CHF= " + (QLocale(QLocale::German).toString(price,'f', 2))+ " CHF" + } else if (Settings::getInstance() - > get_currency_name() == "CHF") { + double price = Settings::getInstance() - > getCHFPrice(); + double volume = Settings::getInstance() - > getCHFVolume(); + double cap = Settings::getInstance() - > getCHFCAP(); + main - > statusLabel - > setText( + " HUSH/CHF= " + (QLocale(QLocale::German).toString(price, 'f', 2)) + " CHF" ); - ui->volumeExchange->setText( - QLocale(QLocale::German).toString(volume,'f', 2)+ " CHF" + ui - > volumeExchange - > setText( + QLocale(QLocale::German).toString(volume, 'f', 2) + " CHF" ); - ui->marketcapTab->setText( - QLocale(QLocale::German).toString(cap,'f', 2)+ " CHF" + ui - > marketcapTab - > setText( + QLocale(QLocale::German).toString(cap, 'f', 2) + " CHF" ); - } - else if (Settings::getInstance()->get_currency_name() == "INR") - { - double price = Settings::getInstance()->getINRPrice(); - double volume = Settings::getInstance()->getINRVolume(); - double cap = Settings::getInstance()->getINRCAP(); - main->statusLabel->setText( - " HUSH/INR=₹ " + (QLocale(QLocale::English).toString(price,'f', 2)) + } else if (Settings::getInstance() - > get_currency_name() == "INR") { + double price = Settings::getInstance() - > getINRPrice(); + double volume = Settings::getInstance() - > getINRVolume(); + double cap = Settings::getInstance() - > getINRCAP(); + main - > statusLabel - > setText( + " HUSH/INR=₹ " + (QLocale(QLocale::English).toString(price, 'f', 2)) ); - ui->volumeExchange->setText( - " ₹ " + (QLocale(QLocale::English).toString(volume,'f', 2)) + ui - > volumeExchange - > setText( + " ₹ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) ); - ui->marketcapTab->setText( - " ₹ " + (QLocale(QLocale::English).toString(cap,'f', 2)) + ui - > marketcapTab - > setText( + " ₹ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) ); - } - else if (Settings::getInstance()->get_currency_name() == "GBP") - { - double price = Settings::getInstance()->getGBPPrice(); - double volume = Settings::getInstance()->getGBPVolume(); - double cap = Settings::getInstance()->getGBPCAP(); - main->statusLabel->setText( - " HUSH/GBP=£ " + (QLocale(QLocale::English).toString(price,'f', 2)) + } else if (Settings::getInstance() - > get_currency_name() == "GBP") { + double price = Settings::getInstance() - > getGBPPrice(); + double volume = Settings::getInstance() - > getGBPVolume(); + double cap = Settings::getInstance() - > getGBPCAP(); + main - > statusLabel - > setText( + " HUSH/GBP=£ " + (QLocale(QLocale::English).toString(price, 'f', 2)) ); - ui->volumeExchange->setText( - " £ " + (QLocale(QLocale::English).toString(volume,'f', 2)) + ui - > volumeExchange - > setText( + " £ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) ); - ui->marketcapTab->setText( - " £ " + (QLocale(QLocale::English).toString(cap,'f', 2)) + ui - > marketcapTab - > setText( + " £ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) ); - } - else if (Settings::getInstance()->get_currency_name() == "AUD") - { - double price = Settings::getInstance()->getAUDPrice(); - double volume = Settings::getInstance()->getAUDVolume(); - double cap = Settings::getInstance()->getAUDCAP(); - main->statusLabel->setText( - " HUSH/AUD=$ " + (QLocale(QLocale::English).toString(price,'f', 2)) + } else if (Settings::getInstance() - > get_currency_name() == "AUD") { + double price = Settings::getInstance() - > getAUDPrice(); + double volume = Settings::getInstance() - > getAUDVolume(); + double cap = Settings::getInstance() - > getAUDCAP(); + main - > statusLabel - > setText( + " HUSH/AUD=$ " + (QLocale(QLocale::English).toString(price, 'f', 2)) ); - ui->volumeExchange->setText( - " $ " + (QLocale(QLocale::English).toString(volume,'f', 2)) + ui - > volumeExchange - > setText( + " $ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) ); - ui->marketcapTab->setText( - " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) + ui - > marketcapTab - > setText( + " $ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) ); - - } - else - { - main->statusLabel->setText( - " HUSH/USD=$" + QString::number(Settings::getInstance()->getZECPrice(),'f',2 ) + + } else { + main - > statusLabel - > setText( + " HUSH/USD=$" + QString::number(Settings::getInstance() - > getZECPrice(), 'f', 2) ); - ui->volumeExchange->setText( - " $ " + QString::number((double) Settings::getInstance()->getUSDVolume() ,'f',2) + ui - > volumeExchange - > setText( + " $ " + QString::number((double) Settings::getInstance() - > getUSDVolume(), 'f', 2) ); - ui->marketcapTab->setText( - " $ " + QString::number((double) Settings::getInstance()->getUSDCAP() ,'f',2) + ui - > marketcapTab - > setText( + " $ " + QString::number((double) Settings::getInstance() - > getUSDCAP(), 'f', 2) ); } - main->statusLabel->setToolTip(tooltip); - main->statusIcon->setPixmap(i.pixmap(16, 16)); - main->statusIcon->setToolTip(tooltip); + main - > statusLabel - > setToolTip(tooltip); + main - > statusIcon - > setPixmap(i.pixmap(16, 16)); + main - > statusIcon - > setToolTip(tooltip); // See if recurring payments needs anything - Recurring::getInstance()->processPending(main); + Recurring::getInstance() - > processPending(main); // Check if the wallet is locked/encrypted - zrpc->fetchWalletEncryptionStatus([=] (const json& reply) { - bool isEncrypted = reply["encrypted"].get(); - bool isLocked = reply["locked"].get(); - model->setEncryptionStatus(isEncrypted, isLocked); + zrpc - > fetchWalletEncryptionStatus([ = ](const json & reply) { + bool isEncrypted = reply["encrypted"].get < json::boolean_t > (); + bool isLocked = reply["locked"].get < json::boolean_t > (); + model - > setEncryptionStatus(isEncrypted, isLocked); }); - // Get the total supply and render it with thousand decimal - zrpc->fetchSupply([=] (const json& reply) { - int supply = reply["supply"].get(); - int zfunds = reply["zfunds"].get(); - int total = reply["total"].get(); + // Get the total supply and render it with thousand decimal + zrpc - > fetchSupply([ = ](const json & reply) { + int supply = reply["supply"].get < json::number_integer_t > (); + int zfunds = reply["zfunds"].get < json::number_integer_t > (); + int total = reply["total"].get < json::number_integer_t > (); if ( - Settings::getInstance()->get_currency_name() == "EUR" || - Settings::getInstance()->get_currency_name() == "CHF" || - Settings::getInstance()->get_currency_name() == "RUB" - ) - { - ui->supply_taddr->setText((QLocale(QLocale::German).toString(supply)+ " Hush")); - ui->supply_zaddr->setText((QLocale(QLocale::German).toString(zfunds)+ " Hush")); - ui->supply_total->setText((QLocale(QLocale::German).toString(total)+ " Hush")); - } - else - { - ui->supply_taddr->setText("Hush " + (QLocale(QLocale::English).toString(supply))); - ui->supply_zaddr->setText("Hush " +(QLocale(QLocale::English).toString(zfunds))); - ui->supply_total->setText("Hush " +(QLocale(QLocale::English).toString(total))); + Settings::getInstance() - > get_currency_name() == "EUR" || + Settings::getInstance() - > get_currency_name() == "CHF" || + Settings::getInstance() - > get_currency_name() == "RUB" + ) { + ui - > supply_taddr - > setText((QLocale(QLocale::German).toString(supply) + " Hush")); + ui - > supply_zaddr - > setText((QLocale(QLocale::German).toString(zfunds) + " Hush")); + ui - > supply_total - > setText((QLocale(QLocale::German).toString(total) + " Hush")); + } else { + ui - > supply_taddr - > setText("Hush " + (QLocale(QLocale::English).toString(supply))); + ui - > supply_zaddr - > setText("Hush " + (QLocale(QLocale::English).toString(zfunds))); + ui - > supply_total - > setText("Hush " + (QLocale(QLocale::English).toString(total))); } }); - if ( doUpdate ) - { + if (doUpdate) { // Something changed, so refresh everything. - refreshBalances(); - refreshAddresses(); // This calls refreshZSentTransactions() and refreshReceivedZTrans() + refreshBalances(); + refreshAddresses(); // This calls refreshZSentTransactions() and refreshReceivedZTrans() refreshTransactions(); } - }, [=](QString err) { + }, [ = ](QString err) { // hushd has probably disappeared. - this->noConnection(); + this - > noConnection(); // Prevent multiple dialog boxes, because these are called async static bool shown = false; if (!shown && prevCallSucceeded) // show error only first time - { + { shown = true; QMessageBox::critical( - main, - QObject::tr("Connection Error"), - QObject::tr("There was an error connecting to hushd. The error was") + ": \n\n"+ err, + main, + QObject::tr("Connection Error"), + QObject::tr("There was an error connecting to hushd. The error was") + ": \n\n" + err, QMessageBox::StandardButton::Ok ); shown = false; @@ -556,528 +522,498 @@ void Controller::getInfoThenRefresh(bool force) }); } -void Controller::refreshAddresses() -{ - if (!zrpc->haveConnection()) +void Controller::refreshAddresses() { + if (!zrpc - > haveConnection()) return noConnection(); - - auto newzaddresses = new QList(); - auto newtaddresses = new QList(); - zrpc->fetchAddresses([=] (json reply) { - auto zaddrs = reply["z_addresses"].get(); - for (auto& it : zaddrs) - { - auto addr = QString::fromStdString(it.get()); - newzaddresses->push_back(addr); + + auto newzaddresses = new QList < QString > (); + auto newtaddresses = new QList < QString > (); + zrpc - > fetchAddresses([ = ](json reply) { + auto zaddrs = reply["z_addresses"].get < json::array_t > (); + for (auto & it: zaddrs) { + auto addr = QString::fromStdString(it.get < json::string_t > ()); + newzaddresses - > push_back(addr); } - model->replaceZaddresses(newzaddresses); - auto taddrs = reply["t_addresses"].get(); - for (auto& it : taddrs) - { - auto addr = QString::fromStdString(it.get()); + model - > replaceZaddresses(newzaddresses); + auto taddrs = reply["t_addresses"].get < json::array_t > (); + for (auto & it: taddrs) { + auto addr = QString::fromStdString(it.get < json::string_t > ()); if (Settings::isTAddress(addr)) - newtaddresses->push_back(addr); + newtaddresses - > push_back(addr); } - model->replaceTaddresses(newtaddresses); + model - > replaceTaddresses(newtaddresses); // Refresh the sent and received txs from all these z-addresses refreshTransactions(); }); - + } // Function to create the data model and update the views, used below. -void Controller::updateUI(bool anyUnconfirmed) -{ - ui->unconfirmedWarning->setVisible(anyUnconfirmed); +void Controller::updateUI(bool anyUnconfirmed) { + ui - > unconfirmedWarning - > setVisible(anyUnconfirmed); // Update balances model data, which will update the table too - balancesTableModel->setNewData( - model->getAllZAddresses(), - model->getAllTAddresses(), - model->getAllBalances(), - model->getUTXOs() + balancesTableModel - > setNewData( + model - > getAllZAddresses(), + model - > getAllTAddresses(), + model - > getAllBalances(), + model - > getUTXOs() ); }; // Function to process reply of the listunspent and z_listunspent API calls, used below. -void Controller::processUnspent(const json& reply, QMap* balancesMap, QList* unspentOutputs) { - auto processFn = [=](const json& array) { - for (auto& it : array) - { - QString qsAddr = QString::fromStdString(it["address"]); - int block = it["created_in_block"].get(); - QString txid = QString::fromStdString(it["created_in_txid"]); - CAmount amount = CAmount::fromqint64(it["value"].get()); - - bool spendable = it["unconfirmed_spent"].is_null() && it["spent"].is_null(); // TODO: Wait for 4 confirmations - bool pending = !it["unconfirmed_spent"].is_null(); - - unspentOutputs->push_back( - UnspentOutput{ qsAddr, txid, amount, block, spendable, pending } +void Controller::processUnspent(const json & reply, QMap < QString, CAmount > * balancesMap, QList < UnspentOutput > * unspentOutputs) { + auto processFn = [ = ](const json & array) { + for (auto & it: array) { + QString qsAddr = QString::fromStdString(it["address"]); + int block = it["created_in_block"].get < json::number_unsigned_t > (); + QString txid = QString::fromStdString(it["created_in_txid"]); + CAmount amount = CAmount::fromqint64(it["value"].get < json::number_unsigned_t > ()); + + bool spendable = it["unconfirmed_spent"].is_null() && it["spent"].is_null(); // TODO: Wait for 4 confirmations + bool pending = !it["unconfirmed_spent"].is_null(); + + unspentOutputs - > push_back( + UnspentOutput { + qsAddr, + txid, + amount, + block, + spendable, + pending + } ); - if (spendable) - { - (*balancesMap)[qsAddr] = (*balancesMap)[qsAddr] + - CAmount::fromqint64(it["value"].get()); + if (spendable) { + ( * balancesMap)[qsAddr] = ( * balancesMap)[qsAddr] + + CAmount::fromqint64(it["value"].get < json::number_unsigned_t > ()); } } }; - processFn(reply["unspent_notes"].get()); - processFn(reply["utxos"].get()); - processFn(reply["pending_notes"].get()); - processFn(reply["pending_utxos"].get()); + processFn(reply["unspent_notes"].get < json::array_t > ()); + processFn(reply["utxos"].get < json::array_t > ()); + processFn(reply["pending_notes"].get < json::array_t > ()); + processFn(reply["pending_utxos"].get < json::array_t > ()); }; -void Controller::updateUIBalances() -{ - CAmount balT = getModel()->getBalT(); - CAmount balZ = getModel()->getBalZ(); - CAmount balVerified = getModel()->getBalVerified(); +void Controller::updateUIBalances() { + CAmount balT = getModel() - > getBalT(); + CAmount balZ = getModel() - > getBalZ(); + CAmount balVerified = getModel() - > getBalVerified(); // Reduce the BalanceZ by the pending outgoing amount. We're adding // here because totalPending is already negative for outgoing txns. - balZ = balZ + getModel()->getTotalPending(); + balZ = balZ + getModel() - > getTotalPending(); - CAmount balTotal = balT + balZ; + CAmount balTotal = balT + balZ; CAmount balAvailable = balT + balVerified; - if (balZ < 0) + if (balZ < 0) balZ = CAmount::fromqint64(0); // Balances table - ui->balSheilded->setText(balZ.toDecimalhushString()); - ui->balVerified->setText(balVerified.toDecimalhushString()); - ui->balTransparent->setText(balT.toDecimalhushString()); - ui->balTotal->setText(balTotal.toDecimalhushString()); - - if (Settings::getInstance()->get_currency_name() == "USD") - { - ui->balSheilded->setToolTip(balZ.toDecimalUSDString()); - ui->balVerified->setToolTip(balVerified.toDecimalUSDString()); - ui->balTransparent->setToolTip(balT.toDecimalUSDString()); - ui->balTotal->setToolTip(balTotal.toDecimalUSDString()); - - } - else if (Settings::getInstance()->get_currency_name() == "EUR") - { - ui->balSheilded->setToolTip(balZ.toDecimalEURString()); - ui->balVerified->setToolTip(balVerified.toDecimalEURString()); - ui->balTransparent->setToolTip(balT.toDecimalEURString()); - ui->balTotal->setToolTip(balTotal.toDecimalEURString()); - - } - else if (Settings::getInstance()->get_currency_name() == "BTC") - { - ui->balSheilded->setToolTip(balZ.toDecimalBTCString()); - ui->balVerified->setToolTip(balVerified.toDecimalBTCString()); - ui->balTransparent->setToolTip(balT.toDecimalBTCString()); - ui->balTotal->setToolTip(balTotal.toDecimalBTCString()); - - } - else if (Settings::getInstance()->get_currency_name() == "CNY") - { - ui->balSheilded->setToolTip(balZ.toDecimalCNYString()); - ui->balVerified->setToolTip(balVerified.toDecimalCNYString()); - ui->balTransparent->setToolTip(balT.toDecimalCNYString()); - ui->balTotal->setToolTip(balTotal.toDecimalCNYString()); - - } - else if (Settings::getInstance()->get_currency_name() == "RUB") - { - ui->balSheilded->setToolTip(balZ.toDecimalRUBString()); - ui->balVerified->setToolTip(balVerified.toDecimalRUBString()); - ui->balTransparent->setToolTip(balT.toDecimalRUBString()); - ui->balTotal->setToolTip(balTotal.toDecimalRUBString()); - - } - else if (Settings::getInstance()->get_currency_name() == "CAD") - { - ui->balSheilded->setToolTip(balZ.toDecimalCADString()); - ui->balVerified->setToolTip(balVerified.toDecimalCADString()); - ui->balTransparent->setToolTip(balT.toDecimalCADString()); - ui->balTotal->setToolTip(balTotal.toDecimalCADString()); - - } - else if (Settings::getInstance()->get_currency_name() == "SGD") - { - ui->balSheilded->setToolTip(balZ.toDecimalSGDString()); - ui->balVerified->setToolTip(balVerified.toDecimalSGDString()); - ui->balTransparent->setToolTip(balT.toDecimalSGDString()); - ui->balTotal->setToolTip(balTotal.toDecimalSGDString()); - - } - else if (Settings::getInstance()->get_currency_name() == "CHF") - { - ui->balSheilded->setToolTip(balZ.toDecimalCHFString()); - ui->balVerified->setToolTip(balVerified.toDecimalCHFString()); - ui->balTransparent->setToolTip(balT.toDecimalCHFString()); - ui->balTotal->setToolTip(balTotal.toDecimalCHFString()); - - } - else if (Settings::getInstance()->get_currency_name() == "INR") - { - ui->balSheilded->setToolTip(balZ.toDecimalINRString()); - ui->balVerified->setToolTip(balVerified.toDecimalINRString()); - ui->balTransparent->setToolTip(balT.toDecimalINRString()); - ui->balTotal->setToolTip(balTotal.toDecimalINRString()); - - } - else if (Settings::getInstance()->get_currency_name() == "GBP") - { - ui->balSheilded ->setToolTip(balZ.toDecimalGBPString()); - ui->balVerified ->setToolTip(balVerified.toDecimalGBPString()); - ui->balTransparent->setToolTip(balT.toDecimalGBPString()); - ui->balTotal ->setToolTip(balTotal.toDecimalGBPString()); - - } - else if (Settings::getInstance()->get_currency_name() == "AUD") - { - ui->balSheilded ->setToolTip(balZ.toDecimalAUDString()); - ui->balVerified ->setToolTip(balVerified.toDecimalAUDString()); - ui->balTransparent->setToolTip(balT.toDecimalAUDString()); - ui->balTotal ->setToolTip(balTotal.toDecimalAUDString()); + ui - > balSheilded - > setText(balZ.toDecimalhushString()); + ui - > balVerified - > setText(balVerified.toDecimalhushString()); + ui - > balTransparent - > setText(balT.toDecimalhushString()); + ui - > balTotal - > setText(balTotal.toDecimalhushString()); + + if (Settings::getInstance() - > get_currency_name() == "USD") { + ui - > balSheilded - > setToolTip(balZ.toDecimalUSDString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalUSDString()); + ui - > balTransparent - > setToolTip(balT.toDecimalUSDString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalUSDString()); + + } else if (Settings::getInstance() - > get_currency_name() == "EUR") { + ui - > balSheilded - > setToolTip(balZ.toDecimalEURString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalEURString()); + ui - > balTransparent - > setToolTip(balT.toDecimalEURString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalEURString()); + + } else if (Settings::getInstance() - > get_currency_name() == "BTC") { + ui - > balSheilded - > setToolTip(balZ.toDecimalBTCString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalBTCString()); + ui - > balTransparent - > setToolTip(balT.toDecimalBTCString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalBTCString()); + + } else if (Settings::getInstance() - > get_currency_name() == "CNY") { + ui - > balSheilded - > setToolTip(balZ.toDecimalCNYString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalCNYString()); + ui - > balTransparent - > setToolTip(balT.toDecimalCNYString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalCNYString()); + + } else if (Settings::getInstance() - > get_currency_name() == "RUB") { + ui - > balSheilded - > setToolTip(balZ.toDecimalRUBString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalRUBString()); + ui - > balTransparent - > setToolTip(balT.toDecimalRUBString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalRUBString()); + + } else if (Settings::getInstance() - > get_currency_name() == "CAD") { + ui - > balSheilded - > setToolTip(balZ.toDecimalCADString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalCADString()); + ui - > balTransparent - > setToolTip(balT.toDecimalCADString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalCADString()); + + } else if (Settings::getInstance() - > get_currency_name() == "SGD") { + ui - > balSheilded - > setToolTip(balZ.toDecimalSGDString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalSGDString()); + ui - > balTransparent - > setToolTip(balT.toDecimalSGDString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalSGDString()); + + } else if (Settings::getInstance() - > get_currency_name() == "CHF") { + ui - > balSheilded - > setToolTip(balZ.toDecimalCHFString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalCHFString()); + ui - > balTransparent - > setToolTip(balT.toDecimalCHFString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalCHFString()); + + } else if (Settings::getInstance() - > get_currency_name() == "INR") { + ui - > balSheilded - > setToolTip(balZ.toDecimalINRString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalINRString()); + ui - > balTransparent - > setToolTip(balT.toDecimalINRString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalINRString()); + + } else if (Settings::getInstance() - > get_currency_name() == "GBP") { + ui - > balSheilded - > setToolTip(balZ.toDecimalGBPString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalGBPString()); + ui - > balTransparent - > setToolTip(balT.toDecimalGBPString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalGBPString()); + + } else if (Settings::getInstance() - > get_currency_name() == "AUD") { + ui - > balSheilded - > setToolTip(balZ.toDecimalAUDString()); + ui - > balVerified - > setToolTip(balVerified.toDecimalAUDString()); + ui - > balTransparent - > setToolTip(balT.toDecimalAUDString()); + ui - > balTotal - > setToolTip(balTotal.toDecimalAUDString()); } // Send tab - ui->txtAvailablehush->setText(balAvailable.toDecimalhushString()); + ui - > txtAvailablehush - > setText(balAvailable.toDecimalhushString()); - if (Settings::getInstance()->get_currency_name() == "USD") - ui->txtAvailableUSD->setText(balAvailable.toDecimalUSDString()); + if (Settings::getInstance() - > get_currency_name() == "USD") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalUSDString()); - else if (Settings::getInstance()->get_currency_name() == "EUR") - ui->txtAvailableUSD->setText(balAvailable.toDecimalEURString()); + else if (Settings::getInstance() - > get_currency_name() == "EUR") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalEURString()); - else if (Settings::getInstance()->get_currency_name() == "BTC") - ui->txtAvailableUSD->setText(balAvailable.toDecimalBTCString()); + else if (Settings::getInstance() - > get_currency_name() == "BTC") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalBTCString()); - else if (Settings::getInstance()->get_currency_name() == "CNY") - ui->txtAvailableUSD->setText(balAvailable.toDecimalCNYString()); + else if (Settings::getInstance() - > get_currency_name() == "CNY") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalCNYString()); - else if (Settings::getInstance()->get_currency_name() == "RUB") - ui->txtAvailableUSD->setText(balAvailable.toDecimalRUBString()); + else if (Settings::getInstance() - > get_currency_name() == "RUB") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalRUBString()); - else if (Settings::getInstance()->get_currency_name() == "CAD") - ui->txtAvailableUSD->setText(balAvailable.toDecimalCADString()); + else if (Settings::getInstance() - > get_currency_name() == "CAD") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalCADString()); - else if (Settings::getInstance()->get_currency_name() == "SGD") - ui->txtAvailableUSD->setText(balAvailable.toDecimalSGDString()); + else if (Settings::getInstance() - > get_currency_name() == "SGD") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalSGDString()); - else if (Settings::getInstance()->get_currency_name() == "CHF") - ui->txtAvailableUSD->setText(balAvailable.toDecimalCHFString()); + else if (Settings::getInstance() - > get_currency_name() == "CHF") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalCHFString()); - else if (Settings::getInstance()->get_currency_name() == "INR") - ui->txtAvailableUSD->setText(balAvailable.toDecimalINRString()); + else if (Settings::getInstance() - > get_currency_name() == "INR") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalINRString()); - else if (Settings::getInstance()->get_currency_name() == "GBP") - ui->txtAvailableUSD->setText(balAvailable.toDecimalGBPString()); + else if (Settings::getInstance() - > get_currency_name() == "GBP") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalGBPString()); - else if (Settings::getInstance()->get_currency_name() == "AUD") - ui->txtAvailableUSD->setText(balAvailable.toDecimalAUDString()); + else if (Settings::getInstance() - > get_currency_name() == "AUD") + ui - > txtAvailableUSD - > setText(balAvailable.toDecimalAUDString()); } -void Controller::refreshBalances() -{ - if (!zrpc->haveConnection()) +void Controller::refreshBalances() { + if (!zrpc - > haveConnection()) return noConnection(); // 1. Get the Balances - zrpc->fetchBalance([=] (json reply) { - CAmount balT = CAmount::fromqint64(reply["tbalance"].get()); - CAmount balZ = CAmount::fromqint64(reply["zbalance"].get()); - CAmount balVerified = CAmount::fromqint64(reply["verified_zbalance"].get()); - - model->setBalT(balT); - model->setBalZ(balZ); - model->setBalVerified(balVerified); + zrpc - > fetchBalance([ = ](json reply) { + CAmount balT = CAmount::fromqint64(reply["tbalance"].get < json::number_unsigned_t > ()); + CAmount balZ = CAmount::fromqint64(reply["zbalance"].get < json::number_unsigned_t > ()); + CAmount balVerified = CAmount::fromqint64(reply["verified_zbalance"].get < json::number_unsigned_t > ()); + + model - > setBalT(balT); + model - > setBalZ(balZ); + model - > setBalVerified(balVerified); // This is for the websockets - AppDataModel::getInstance()->setBalances(balT, balZ); - + AppDataModel::getInstance() - > setBalances(balT, balZ); + // This is for the datamodel CAmount balAvailable = balT + balVerified; - model->setAvailableBalance(balAvailable); + model - > setAvailableBalance(balAvailable); updateUIBalances(); }); // 2. Get the UTXOs // First, create a new UTXO list. It will be replacing the existing list when everything is processed. - auto newUnspentOutputs = new QList(); - auto newBalances = new QMap(); + auto newUnspentOutputs = new QList < UnspentOutput > (); + auto newBalances = new QMap < QString, CAmount > (); // Call the Transparent and Z unspent APIs serially and then, once they're done, update the UI - zrpc->fetchUnspent([=] (json reply) { + zrpc - > fetchUnspent([ = ](json reply) { processUnspent(reply, newBalances, newUnspentOutputs); // Swap out the balances and UTXOs - model->replaceBalances(newBalances); - model->replaceUTXOs(newUnspentOutputs); + model - > replaceBalances(newBalances); + model - > replaceUTXOs(newUnspentOutputs); // Find if any output is not spendable or is pending bool anyUnconfirmed = std::find_if( - newUnspentOutputs->constBegin(), - newUnspentOutputs->constEnd(), - [=](const UnspentOutput& u) -> bool { - return !u.spendable || u.pending; + newUnspentOutputs - > constBegin(), + newUnspentOutputs - > constEnd(), + [ = ](const UnspentOutput & u) - > bool { + return !u.spendable || u.pending; } - ) != newUnspentOutputs->constEnd(); + ) != newUnspentOutputs - > constEnd(); updateUI(anyUnconfirmed); - main->balancesReady(); + main - > balancesReady(); }); } -void Controller::refreshTransactions() { - if (!zrpc->haveConnection()) +void Controller::refreshTransactions() { + if (!zrpc - > haveConnection()) return noConnection(); - zrpc->fetchTransactions([=] (json reply) { - QList txdata; + zrpc - > fetchTransactions([ = ](json reply) { + QList < TransactionItem > txdata; - for (auto& it : reply.get()) { + for (auto & it: reply.get < json::array_t > ()) { QString address; CAmount total_amount; - QList items; + QList < TransactionItemDetail > items; long confirmations; - if (it.find("unconfirmed") != it.end() && it["unconfirmed"].get()) { + if (it.find("unconfirmed") != it.end() && it["unconfirmed"].get < json::boolean_t > ()) { confirmations = 0; } else { - confirmations = model->getLatestBlock() - it["block_height"].get() + 1; + confirmations = model - > getLatestBlock() - it["block_height"].get < json::number_integer_t > () + 1; } - + auto txid = QString::fromStdString(it["txid"]); - auto datetime = it["datetime"].get(); - + auto datetime = it["datetime"].get < json::number_integer_t > (); + // First, check if there's outgoing metadata if (!it["outgoing_metadata"].is_null()) { - - for (auto o: it["outgoing_metadata"].get()) { - - QString address; - + + for (auto o: it["outgoing_metadata"].get < json::array_t > ()) { + + QString address; address = QString::fromStdString(o["address"]); - + // Sent items are -ve - CAmount amount = CAmount::fromqint64(-1* o["value"].get()); - - // Check for Memos - + CAmount amount = CAmount::fromqint64(-1 * o["value"].get < json::number_unsigned_t > ()); + + // Check for Memos + QString memo; if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); - - QString cid; + QString cid; ChatItem item = ChatItem( - datetime, - address, - QString(""), - memo, - QString(""), - QString(""), - cid, - txid, - true - ); - qDebug()<<"Memo : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); - - } - - items.push_back(TransactionItemDetail{address, amount, memo}); + datetime, + address, + QString(""), + memo, + QString(""), + QString(""), + cid, + txid, + true + ); + qDebug() << "Memo : " << memo; + + DataStore::getChatDataStore() - > setData(ChatIDGenerator::getInstance() - > generateID(item), item); + + } + + items.push_back(TransactionItemDetail { + address, + amount, + memo + }); total_amount = total_amount + amount; } - { - QList addresses; - for (auto item : items) { - // Concat all the addresses - - - addresses.push_back(item.address); - address = addresses.join(","); + QList < QString > addresses; + for (auto item: items) { + // Concat all the addresses + + addresses.push_back(item.address); + address = addresses.join(","); } - - } - - txdata.push_back(TransactionItem{ - "send", datetime, address, txid,confirmations, items + + } + + txdata.push_back(TransactionItem { + "send", + datetime, + address, + txid, + confirmations, + items }); - + } else { // Incoming Transaction address = (it["address"].is_null() ? "" : QString::fromStdString(it["address"])); - model->markAddressUsed(address); + model - > markAddressUsed(address); QString memo; - QString test; if (!it["memo"].is_null()) { memo = QString::fromStdString(it["memo"]); } - items.push_back(TransactionItemDetail{ + items.push_back(TransactionItemDetail { address, - CAmount::fromqint64(it["amount"].get()), + CAmount::fromqint64(it["amount"].get < json::number_integer_t > ()), memo }); - - TransactionItem tx{ - "Receive", datetime, address, txid,confirmations, items + TransactionItem tx { + "Receive", + datetime, + address, + txid, + confirmations, + items }; txdata.push_back(tx); - - QString type; - QString cid; - // int position; - QString requestZaddr; - - if ((memo.startsWith("{")) && (!it["memo"].is_null())) { - QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); + QString type; + QString cid; + int position; + QString requestZaddr; - cid = headermemo["cid"].toString(); - type = headermemo["t"].toString(); - requestZaddr = headermemo["z"].toString(); + if (!it["memo"].is_null()) { - chatModel->addCid(txid, cid); - chatModel->addrequestZaddr(txid, requestZaddr); + if (memo.startsWith("{")) { - // } - - if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ + QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); - cid = chatModel->getCidByTx(txid); + cid = headermemo["cid"].toString(); + type = headermemo["t"].toString(); + requestZaddr = headermemo["z"].toString(); - } - else{ + chatModel - > addCid(txid, cid); + chatModel - > addrequestZaddr(txid, requestZaddr); - cid = ""; } - - if (chatModel->getrequestZaddrByTx(txid) != QString("0xdeadbeef")){ - requestZaddr = chatModel->getrequestZaddrByTx(txid); + if (chatModel - > getCidByTx(txid) != QString("0xdeadbeef")) { - } - - else{ - requestZaddr = ""; - } - - - // position = it["position"].get(); + cid = chatModel - > getCidByTx(txid); + + } else { + cid = ""; + } + if (chatModel - > getrequestZaddrByTx(txid) != QString("0xdeadbeef")) { + + requestZaddr = chatModel - > getrequestZaddrByTx(txid); + } else { + requestZaddr = ""; + } + position = it["position"].get < json::number_integer_t > (); ChatItem item = ChatItem( - datetime, - address, - QString(""), - memo, - requestZaddr, - type, - cid, - txid, - false - ); - qDebug()<<"CID : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); - } + datetime, + address, + QString(""), + memo, + requestZaddr, + type, + cid, + txid, + false + ); + qDebug() << "Position : " << position; + + DataStore::getChatDataStore() - > setData(ChatIDGenerator::getInstance() - > generateID(item), item); + } } - + } // Calculate the total unspent amount that's pending. This will need to be // shown in the UI so the user can keep track of pending funds CAmount totalPending; - for (auto txitem : txdata) { + for (auto txitem: txdata) { if (txitem.confirmations == 0) { for (auto item: txitem.items) { totalPending = totalPending + item.amount; } } } - getModel()->setTotalPending(totalPending); + getModel() - > setTotalPending(totalPending); // Update UI Balance updateUIBalances(); - // Update model data, which updates the table view - transactionsTableModel->replaceData(txdata); - chat->renderChatBox(ui, ui->listChat); + // Update model data, which updates the table view + transactionsTableModel - > replaceData(txdata); + chat - > renderChatBox(ui, ui - > listChat); refreshContacts( - ui->listContactWidget - + ui - > listContactWidget + ); - }); + }); } -void Controller::refreshChat(QListView *listWidget) -{ - chat->renderChatBox(ui, listWidget); - +void Controller::refreshChat(QListView * listWidget) { + chat - > renderChatBox(ui, listWidget); + } -void Controller::refreshContacts(QListView *listWidget) -{ - contactModel->renderContactList(listWidget); +void Controller::refreshContacts(QListView * listWidget) { + contactModel - > renderContactList(listWidget); } // If the wallet is encrpyted and locked, we need to unlock it -void Controller::unlockIfEncrypted(std::function cb, std::function error) -{ - auto encStatus = getModel()->getEncryptionStatus(); - if (encStatus.first && encStatus.second) - { +void Controller::unlockIfEncrypted(std:: function < void(void) > cb, std:: function < void(void) > error) { + auto encStatus = getModel() - > getEncryptionStatus(); + if (encStatus.first && encStatus.second) { // Wallet is encrypted and locked. Ask for the password and unlock. QString password = QInputDialog::getText( - main, - main->tr("Wallet Password"), - main->tr("Your wallet is encrypted.\nPlease enter your wallet password"), + main, + main - > tr("Wallet Password"), + main - > tr("Your wallet is encrypted.\nPlease enter your wallet password"), QLineEdit::Password ); - if (password.isEmpty()) - { + if (password.isEmpty()) { QMessageBox::critical( - main, - main->tr("Wallet Decryption Failed"), - main->tr("Please enter a valid password"), + main, + main - > tr("Wallet Decryption Failed"), + main - > tr("Please enter a valid password"), QMessageBox::Ok ); error(); return; } - zrpc->unlockWallet(password, [=](json reply) { - if (isJsonResultSuccess(reply)) - { + zrpc - > unlockWallet(password, [ = ](json reply) { + if (isJsonResultSuccess(reply)) { cb(); // Refresh the wallet so the encryption status is now in sync. refresh(true); - } - else - { + } else { QMessageBox::critical( - main, - main->tr("Wallet Decryption Failed"), - QString::fromStdString(reply["error"].get()), + main, + main - > tr("Wallet Decryption Failed"), + QString::fromStdString(reply["error"].get < json::string_t > ()), QMessageBox::Ok ); error(); } }); - } - else - { + } else { // Not locked, so just call the function cb(); } @@ -1087,86 +1023,75 @@ void Controller::unlockIfEncrypted(std::function cb, std::functionstatusBar->showMessage(Settings::txidStatusMessage + " " + txid); +void Controller::executeStandardUITransaction(Tx tx) { + executeTransaction(tx, [ = ](QString txid) { + ui - > statusBar - > showMessage(Settings::txidStatusMessage + " " + txid); }, - [=] (QString opid, QString errStr) { - ui->statusBar->showMessage( + [ = ](QString opid, QString errStr) { + ui - > statusBar - > showMessage( QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000 ); if (!opid.isEmpty()) - errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; + errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; QMessageBox::critical( - main, - QObject::tr("Transaction Error"), - errStr, + main, + QObject::tr("Transaction Error"), + errStr, QMessageBox::Ok - ); + ); } ); } - // Execute a transaction! -void Controller::executeTransaction(Tx tx, - const std::function submitted, - const std::function error) -{ - unlockIfEncrypted([=] () { +void Controller::executeTransaction(Tx tx, + const std:: function < void(QString txid) > submitted, + const std:: function < void(QString txid, QString errStr) > error) { + unlockIfEncrypted([ = ]() { // First, create the json params json params = json::array(); fillTxJsonParams(params, tx); std::cout << std::setw(2) << params << std::endl; - zrpc->sendTransaction(QString::fromStdString(params.dump()), [=](const json& reply) { - if (reply.find("txid") == reply.end()) - { - error("", "Couldn't understand Response: " + QString::fromStdString(reply.dump())); - } - else - { - QString txid = QString::fromStdString(reply["txid"].get()); - submitted(txid); - } - }, - [=](QString errStr) { - error("", errStr); - }); - }, [=]() { - error("", main->tr("Failed to unlock wallet")); + zrpc - > sendTransaction(QString::fromStdString(params.dump()), [ = ](const json & reply) { + if (reply.find("txid") == reply.end()) { + error("", "Couldn't understand Response: " + QString::fromStdString(reply.dump())); + } else { + QString txid = QString::fromStdString(reply["txid"].get < json::string_t > ()); + submitted(txid); + } + }, + [ = ](QString errStr) { + error("", errStr); + }); + }, [ = ]() { + error("", main - > tr("Failed to unlock wallet")); }); } - -void Controller::checkForUpdate(bool silent) -{ - if (!zrpc->haveConnection()) +void Controller::checkForUpdate(bool silent) { + if (!zrpc - > haveConnection()) return noConnection(); QUrl cmcURL("https://api.github.com/repos/MyHush/SilentDragonLite/releases"); QNetworkRequest req; req.setUrl(cmcURL); - - QNetworkAccessManager *manager = new QNetworkAccessManager(this->main); - QNetworkReply *reply = manager->get(req); - QObject::connect(reply, &QNetworkReply::finished, [=] { - reply->deleteLater(); - manager->deleteLater(); + QNetworkAccessManager * manager = new QNetworkAccessManager(this - > main); + QNetworkReply * reply = manager - > get(req); - try - { - if (reply->error() == QNetworkReply::NoError) - { - auto releases = QJsonDocument::fromJson(reply->readAll()).array(); + QObject::connect(reply, & QNetworkReply::finished, [ = ] { + reply - > deleteLater(); + manager - > deleteLater(); + + try { + if (reply - > error() == QNetworkReply::NoError) { + auto releases = QJsonDocument::fromJson(reply - > readAll()).array(); QVersionNumber maxVersion(0, 0, 0); - for (QJsonValue rel : releases) - { + for (QJsonValue rel: releases) { if (!rel.toObject().contains("tag_name")) continue; @@ -1174,8 +1099,7 @@ void Controller::checkForUpdate(bool silent) if (tag.startsWith("v")) tag = tag.right(tag.length() - 1); - if (!tag.isEmpty()) - { + if (!tag.isEmpty()) { auto v = QVersionNumber::fromString(tag); if (v > maxVersion) maxVersion = v; @@ -1183,418 +1107,367 @@ void Controller::checkForUpdate(bool silent) } auto currentVersion = QVersionNumber::fromString(APP_VERSION); - + // Get the max version that the user has hidden updates for QSettings s; auto maxHiddenVersion = QVersionNumber::fromString( - s.value("update/lastversion", "0.0.0" - ).toString()); + s.value("update/lastversion", "0.0.0").toString()); qDebug() << "Version check: Current " << currentVersion << ", Available " << maxVersion; - if (maxVersion > currentVersion && (!silent || maxVersion > maxHiddenVersion)) - { - auto ans = QMessageBox::information(main, QObject::tr("Update Available"), + if (maxVersion > currentVersion && (!silent || maxVersion > maxHiddenVersion)) { + auto ans = QMessageBox::information(main, QObject::tr("Update Available"), QObject::tr("A new release v%1 is available! You have v%2.\n\nWould you like to visit the releases page?") - .arg(maxVersion.toString()) - .arg(currentVersion.toString()), + .arg(maxVersion.toString()) + .arg(currentVersion.toString()), QMessageBox::Yes, QMessageBox::Cancel); - if (ans == QMessageBox::Yes) - { + if (ans == QMessageBox::Yes) { QDesktopServices::openUrl(QUrl("https://github.com/MyHush/SilentDragonLite/releases")); - } - else - { + } else { // If the user selects cancel, don't bother them again for this version s.setValue("update/lastversion", maxVersion.toString()); } - } - else - { - if (!silent) - { - QMessageBox::information(main, QObject::tr("No updates available"), + } else { + if (!silent) { + QMessageBox::information(main, QObject::tr("No updates available"), QObject::tr("You already have the latest release v%1") - .arg(currentVersion.toString())); + .arg(currentVersion.toString())); } - } + } } - } - catch (...) - { + } catch (...) { // If anything at all goes wrong, just set the price to 0 and move on. qDebug() << QString("Caught something nasty"); - } + } }); } // Get the hush->USD price from coinmarketcap using their API -void Controller::refreshZECPrice() -{ - if (!zrpc->haveConnection()) +void Controller::refreshZECPrice() { + if (!zrpc - > haveConnection()) return noConnection(); - // TODO: use/render all this data + // TODO: use/render all this data QUrl cmcURL("https://api.coingecko.com/api/v3/simple/price?ids=hush&vs_currencies=btc%2Cusd%2Ceur%2Ceth%2Cgbp%2Ccny%2Cjpy%2Crub%2Ccad%2Csgd%2Cchf%2Cinr%2Caud%2Cinr&include_market_cap=true&include_24hr_vol=true&include_24hr_change=true"); - + QNetworkRequest req; req.setUrl(cmcURL); - QNetworkAccessManager *manager = new QNetworkAccessManager(this->main); - QNetworkReply *reply = manager->get(req); - QObject::connect(reply, &QNetworkReply::finished, [=] { - reply->deleteLater(); - manager->deleteLater(); - - try - { - if (reply->error() != QNetworkReply::NoError) - { - auto parsed = json::parse(reply->readAll(), nullptr, false); - if (!parsed.is_discarded() && !parsed["error"]["message"].is_null()) + QNetworkAccessManager * manager = new QNetworkAccessManager(this - > main); + QNetworkReply * reply = manager - > get(req); + QObject::connect(reply, & QNetworkReply::finished, [ = ] { + reply - > deleteLater(); + manager - > deleteLater(); + + try { + if (reply - > error() != QNetworkReply::NoError) { + auto parsed = json::parse(reply - > readAll(), nullptr, false); + if (!parsed.is_discarded() && !parsed["error"]["message"].is_null()) qDebug() << QString::fromStdString(parsed["error"]["message"]); else - qDebug() << reply->errorString(); - - Settings::getInstance()->setZECPrice(0); - Settings::getInstance()->setEURPrice(0); - Settings::getInstance()->setBTCPrice(0); - Settings::getInstance()->setCNYPrice(0); - Settings::getInstance()->setRUBPrice(0); - Settings::getInstance()->setCADPrice(0); - Settings::getInstance()->setSGDPrice(0); - Settings::getInstance()->setCHFPrice(0); - Settings::getInstance()->setGBPPrice(0); - Settings::getInstance()->setAUDPrice(0); - Settings::getInstance()->setINRPrice(0); - Settings::getInstance()->setUSDVolume(0); - Settings::getInstance()->setEURVolume(0); - Settings::getInstance()->setBTCVolume(0); - Settings::getInstance()->setCNYVolume(0); - Settings::getInstance()->setRUBVolume(0); - Settings::getInstance()->setCADVolume(0); - Settings::getInstance()->setINRVolume(0); - Settings::getInstance()->setSGDVolume(0); - Settings::getInstance()->setCHFVolume(0); - Settings::getInstance()->setGBPVolume(0); - Settings::getInstance()->setAUDVolume(0); - Settings::getInstance()->setUSDCAP(0); - Settings::getInstance()->setEURCAP(0); - Settings::getInstance()->setBTCCAP(0); - Settings::getInstance()->setCNYCAP(0); - Settings::getInstance()->setRUBCAP(0); - Settings::getInstance()->setCADCAP(0); - Settings::getInstance()->setINRCAP(0); - Settings::getInstance()->setSGDCAP(0); - Settings::getInstance()->setCHFCAP(0); - Settings::getInstance()->setGBPCAP(0); - Settings::getInstance()->setAUDCAP(0); + qDebug() << reply - > errorString(); + + Settings::getInstance() - > setZECPrice(0); + Settings::getInstance() - > setEURPrice(0); + Settings::getInstance() - > setBTCPrice(0); + Settings::getInstance() - > setCNYPrice(0); + Settings::getInstance() - > setRUBPrice(0); + Settings::getInstance() - > setCADPrice(0); + Settings::getInstance() - > setSGDPrice(0); + Settings::getInstance() - > setCHFPrice(0); + Settings::getInstance() - > setGBPPrice(0); + Settings::getInstance() - > setAUDPrice(0); + Settings::getInstance() - > setINRPrice(0); + Settings::getInstance() - > setUSDVolume(0); + Settings::getInstance() - > setEURVolume(0); + Settings::getInstance() - > setBTCVolume(0); + Settings::getInstance() - > setCNYVolume(0); + Settings::getInstance() - > setRUBVolume(0); + Settings::getInstance() - > setCADVolume(0); + Settings::getInstance() - > setINRVolume(0); + Settings::getInstance() - > setSGDVolume(0); + Settings::getInstance() - > setCHFVolume(0); + Settings::getInstance() - > setGBPVolume(0); + Settings::getInstance() - > setAUDVolume(0); + Settings::getInstance() - > setUSDCAP(0); + Settings::getInstance() - > setEURCAP(0); + Settings::getInstance() - > setBTCCAP(0); + Settings::getInstance() - > setCNYCAP(0); + Settings::getInstance() - > setRUBCAP(0); + Settings::getInstance() - > setCADCAP(0); + Settings::getInstance() - > setINRCAP(0); + Settings::getInstance() - > setSGDCAP(0); + Settings::getInstance() - > setCHFCAP(0); + Settings::getInstance() - > setGBPCAP(0); + Settings::getInstance() - > setAUDCAP(0); return; } qDebug() << "No network errors"; - auto all = reply->readAll(); + auto all = reply - > readAll(); auto parsed = json::parse(all, nullptr, false); - if (parsed.is_discarded()) - { - Settings::getInstance()->setZECPrice(0); - Settings::getInstance()->setEURPrice(0); - Settings::getInstance()->setBTCPrice(0); - Settings::getInstance()->setCNYPrice(0); - Settings::getInstance()->setRUBPrice(0); - Settings::getInstance()->setCADPrice(0); - Settings::getInstance()->setSGDPrice(0); - Settings::getInstance()->setCHFPrice(0); - Settings::getInstance()->setGBPPrice(0); - Settings::getInstance()->setAUDPrice(0); - Settings::getInstance()->setINRPrice(0); - Settings::getInstance()->setUSDVolume(0); - Settings::getInstance()->setEURVolume(0); - Settings::getInstance()->setBTCVolume(0); - Settings::getInstance()->setCNYVolume(0); - Settings::getInstance()->setRUBVolume(0); - Settings::getInstance()->setCADVolume(0); - Settings::getInstance()->setINRVolume(0); - Settings::getInstance()->setSGDVolume(0); - Settings::getInstance()->setCHFVolume(0); - Settings::getInstance()->setGBPVolume(0); - Settings::getInstance()->setAUDVolume(0); - Settings::getInstance()->setUSDCAP(0); - Settings::getInstance()->setEURCAP(0); - Settings::getInstance()->setBTCCAP(0); - Settings::getInstance()->setCNYCAP(0); - Settings::getInstance()->setRUBCAP(0); - Settings::getInstance()->setCADCAP(0); - Settings::getInstance()->setINRCAP(0); - Settings::getInstance()->setSGDCAP(0); - Settings::getInstance()->setCHFCAP(0); - Settings::getInstance()->setGBPCAP(0); - Settings::getInstance()->setAUDCAP(0); + if (parsed.is_discarded()) { + Settings::getInstance() - > setZECPrice(0); + Settings::getInstance() - > setEURPrice(0); + Settings::getInstance() - > setBTCPrice(0); + Settings::getInstance() - > setCNYPrice(0); + Settings::getInstance() - > setRUBPrice(0); + Settings::getInstance() - > setCADPrice(0); + Settings::getInstance() - > setSGDPrice(0); + Settings::getInstance() - > setCHFPrice(0); + Settings::getInstance() - > setGBPPrice(0); + Settings::getInstance() - > setAUDPrice(0); + Settings::getInstance() - > setINRPrice(0); + Settings::getInstance() - > setUSDVolume(0); + Settings::getInstance() - > setEURVolume(0); + Settings::getInstance() - > setBTCVolume(0); + Settings::getInstance() - > setCNYVolume(0); + Settings::getInstance() - > setRUBVolume(0); + Settings::getInstance() - > setCADVolume(0); + Settings::getInstance() - > setINRVolume(0); + Settings::getInstance() - > setSGDVolume(0); + Settings::getInstance() - > setCHFVolume(0); + Settings::getInstance() - > setGBPVolume(0); + Settings::getInstance() - > setAUDVolume(0); + Settings::getInstance() - > setUSDCAP(0); + Settings::getInstance() - > setEURCAP(0); + Settings::getInstance() - > setBTCCAP(0); + Settings::getInstance() - > setCNYCAP(0); + Settings::getInstance() - > setRUBCAP(0); + Settings::getInstance() - > setCADCAP(0); + Settings::getInstance() - > setINRCAP(0); + Settings::getInstance() - > setSGDCAP(0); + Settings::getInstance() - > setCHFCAP(0); + Settings::getInstance() - > setGBPCAP(0); + Settings::getInstance() - > setAUDCAP(0); return; } qDebug() << "Parsed JSON"; - const json& item = parsed.get(); - const json& hush = item["hush"].get(); + const json & item = parsed.get < json::object_t > (); + const json & hush = item["hush"].get < json::object_t > (); - if (hush["usd"] >= 0) - { + if (hush["usd"] >= 0) { qDebug() << "Found hush key in price json"; - qDebug() << "HUSH = $" << QString::number((double)hush["usd"]); - Settings::getInstance()->setZECPrice( hush["usd"] ); + qDebug() << "HUSH = $" << QString::number((double) hush["usd"]); + Settings::getInstance() - > setZECPrice(hush["usd"]); } - if (hush["eur"] >= 0) - { - qDebug() << "HUSH = €" << QString::number((double)hush["eur"]); - Settings::getInstance()->setEURPrice(hush["eur"]); + if (hush["eur"] >= 0) { + qDebug() << "HUSH = €" << QString::number((double) hush["eur"]); + Settings::getInstance() - > setEURPrice(hush["eur"]); } - if (hush["btc"] >= 0) - { - qDebug() << "HUSH = BTC" << QString::number((double)hush["btc"]); - Settings::getInstance()->setBTCPrice( hush["btc"]); + if (hush["btc"] >= 0) { + qDebug() << "HUSH = BTC" << QString::number((double) hush["btc"]); + Settings::getInstance() - > setBTCPrice(hush["btc"]); } - if (hush["cny"] >= 0) - { - qDebug() << "HUSH = CNY" << QString::number((double)hush["cny"]); - Settings::getInstance()->setCNYPrice( hush["cny"]); + if (hush["cny"] >= 0) { + qDebug() << "HUSH = CNY" << QString::number((double) hush["cny"]); + Settings::getInstance() - > setCNYPrice(hush["cny"]); } - if (hush["rub"] >= 0) - { - qDebug() << "HUSH = RUB" << QString::number((double)hush["rub"]); - Settings::getInstance()->setRUBPrice( hush["rub"]); + if (hush["rub"] >= 0) { + qDebug() << "HUSH = RUB" << QString::number((double) hush["rub"]); + Settings::getInstance() - > setRUBPrice(hush["rub"]); } - if (hush["cad"] >= 0) - { - qDebug() << "HUSH = CAD" << QString::number((double)hush["cad"]); - Settings::getInstance()->setCADPrice( hush["cad"]); + if (hush["cad"] >= 0) { + qDebug() << "HUSH = CAD" << QString::number((double) hush["cad"]); + Settings::getInstance() - > setCADPrice(hush["cad"]); } - if (hush["sgd"] >= 0) - { - qDebug() << "HUSH = SGD" << QString::number((double)hush["sgd"]); - Settings::getInstance()->setSGDPrice( hush["sgd"]); + if (hush["sgd"] >= 0) { + qDebug() << "HUSH = SGD" << QString::number((double) hush["sgd"]); + Settings::getInstance() - > setSGDPrice(hush["sgd"]); } - if (hush["chf"] >= 0) - { - qDebug() << "HUSH = CHF" << QString::number((double)hush["chf"]); - Settings::getInstance()->setCHFPrice( hush["chf"]); + if (hush["chf"] >= 0) { + qDebug() << "HUSH = CHF" << QString::number((double) hush["chf"]); + Settings::getInstance() - > setCHFPrice(hush["chf"]); } - if (hush["inr"] >= 0) - { - qDebug() << "HUSH = INR" << QString::number((double)hush["inr"]); - Settings::getInstance()->setINRPrice( hush["inr"]); + if (hush["inr"] >= 0) { + qDebug() << "HUSH = INR" << QString::number((double) hush["inr"]); + Settings::getInstance() - > setINRPrice(hush["inr"]); } - if (hush["gbp"] >= 0) - { - qDebug() << "HUSH = GBP" << QString::number((double)hush["gbp"]); - Settings::getInstance()->setGBPPrice( hush["gbp"]); + if (hush["gbp"] >= 0) { + qDebug() << "HUSH = GBP" << QString::number((double) hush["gbp"]); + Settings::getInstance() - > setGBPPrice(hush["gbp"]); } - if (hush["aud"] >= 0) - { - qDebug() << "HUSH = AUD" << QString::number((double)hush["aud"]); - Settings::getInstance()->setAUDPrice( hush["aud"]); + if (hush["aud"] >= 0) { + qDebug() << "HUSH = AUD" << QString::number((double) hush["aud"]); + Settings::getInstance() - > setAUDPrice(hush["aud"]); } - if (hush["btc_24h_vol"] >= 0) - { - qDebug() << "HUSH = usd_24h_vol" << QString::number((double)hush["usd_24h_vol"]); - Settings::getInstance()->setUSDVolume( hush["usd_24h_vol"]); + if (hush["btc_24h_vol"] >= 0) { + qDebug() << "HUSH = usd_24h_vol" << QString::number((double) hush["usd_24h_vol"]); + Settings::getInstance() - > setUSDVolume(hush["usd_24h_vol"]); } - if (hush["btc_24h_vol"] >= 0) - { - qDebug() << "HUSH = euro_24h_vol" << QString::number((double)hush["eur_24h_vol"]); - Settings::getInstance()->setEURVolume( hush["eur_24h_vol"]); + if (hush["btc_24h_vol"] >= 0) { + qDebug() << "HUSH = euro_24h_vol" << QString::number((double) hush["eur_24h_vol"]); + Settings::getInstance() - > setEURVolume(hush["eur_24h_vol"]); } - if (hush["btc_24h_vol"] >= 0) - { - qDebug() << "HUSH = btc_24h_vol" << QString::number((double)hush["btc_24h_vol"]); - Settings::getInstance()->setBTCVolume( hush["btc_24h_vol"]); + if (hush["btc_24h_vol"] >= 0) { + qDebug() << "HUSH = btc_24h_vol" << QString::number((double) hush["btc_24h_vol"]); + Settings::getInstance() - > setBTCVolume(hush["btc_24h_vol"]); } - - if (hush["cny_24h_vol"] >= 0) - { - qDebug() << "HUSH = cny_24h_vol" << QString::number((double)hush["cny_24h_vol"]); - Settings::getInstance()->setCNYVolume( hush["cny_24h_vol"]); + + if (hush["cny_24h_vol"] >= 0) { + qDebug() << "HUSH = cny_24h_vol" << QString::number((double) hush["cny_24h_vol"]); + Settings::getInstance() - > setCNYVolume(hush["cny_24h_vol"]); } - if (hush["rub_24h_vol"] >= 0) - { - qDebug() << "HUSH = rub_24h_vol" << QString::number((double)hush["rub_24h_vol"]); - Settings::getInstance()->setRUBVolume( hush["rub_24h_vol"]); + if (hush["rub_24h_vol"] >= 0) { + qDebug() << "HUSH = rub_24h_vol" << QString::number((double) hush["rub_24h_vol"]); + Settings::getInstance() - > setRUBVolume(hush["rub_24h_vol"]); } - - if (hush["cad_24h_vol"] >= 0) - { - qDebug() << "HUSH = cad_24h_vol" << QString::number((double)hush["cad_24h_vol"]); - Settings::getInstance()->setCADVolume( hush["cad_24h_vol"]); + + if (hush["cad_24h_vol"] >= 0) { + qDebug() << "HUSH = cad_24h_vol" << QString::number((double) hush["cad_24h_vol"]); + Settings::getInstance() - > setCADVolume(hush["cad_24h_vol"]); } - if (hush["sgd_24h_vol"] >= 0) - { - qDebug() << "HUSH = sgd_24h_vol" << QString::number((double)hush["sgd_24h_vol"]); - Settings::getInstance()->setSGDVolume( hush["sgd_24h_vol"]); + if (hush["sgd_24h_vol"] >= 0) { + qDebug() << "HUSH = sgd_24h_vol" << QString::number((double) hush["sgd_24h_vol"]); + Settings::getInstance() - > setSGDVolume(hush["sgd_24h_vol"]); } - if (hush["chf_24h_vol"] >= 0) - { - qDebug() << "HUSH = chf_24h_vol" << QString::number((double)hush["chf_24h_vol"]); - Settings::getInstance()->setCHFVolume( hush["chf_24h_vol"]); + if (hush["chf_24h_vol"] >= 0) { + qDebug() << "HUSH = chf_24h_vol" << QString::number((double) hush["chf_24h_vol"]); + Settings::getInstance() - > setCHFVolume(hush["chf_24h_vol"]); } - if (hush["inr_24h_vol"] >= 0) - { - qDebug() << "HUSH = inr_24h_vol" << QString::number((double)hush["inr_24h_vol"]); - Settings::getInstance()->setINRVolume( hush["inr_24h_vol"]); + if (hush["inr_24h_vol"] >= 0) { + qDebug() << "HUSH = inr_24h_vol" << QString::number((double) hush["inr_24h_vol"]); + Settings::getInstance() - > setINRVolume(hush["inr_24h_vol"]); } - if (hush["gbp_24h_vol"] >= 0) - { - qDebug() << "HUSH = gbp_24h_vol" << QString::number((double)hush["gbp_24h_vol"]); - Settings::getInstance()->setGBPVolume( hush["gbp_24h_vol"]); + if (hush["gbp_24h_vol"] >= 0) { + qDebug() << "HUSH = gbp_24h_vol" << QString::number((double) hush["gbp_24h_vol"]); + Settings::getInstance() - > setGBPVolume(hush["gbp_24h_vol"]); } - if (hush["aud_24h_vol"] >= 0) - { - qDebug() << "HUSH = aud_24h_vol" << QString::number((double)hush["aud_24h_vol"]); - Settings::getInstance()->setAUDVolume( hush["aud_24h_vol"]); + if (hush["aud_24h_vol"] >= 0) { + qDebug() << "HUSH = aud_24h_vol" << QString::number((double) hush["aud_24h_vol"]); + Settings::getInstance() - > setAUDVolume(hush["aud_24h_vol"]); } - if (hush["usd_market_cap"] >= 0) - { - qDebug() << "HUSH = usd_market_cap" << QString::number((double)hush["usd_market_cap"]); - Settings::getInstance()->setUSDCAP( hush["usd_market_cap"]); + if (hush["usd_market_cap"] >= 0) { + qDebug() << "HUSH = usd_market_cap" << QString::number((double) hush["usd_market_cap"]); + Settings::getInstance() - > setUSDCAP(hush["usd_market_cap"]); } - if (hush["eur_market_cap"] >= 0) - { - qDebug() << "HUSH = eur_market_cap" << QString::number((double)hush["eur_market_cap"]); - Settings::getInstance()->setEURCAP( hush["eur_market_cap"]); + if (hush["eur_market_cap"] >= 0) { + qDebug() << "HUSH = eur_market_cap" << QString::number((double) hush["eur_market_cap"]); + Settings::getInstance() - > setEURCAP(hush["eur_market_cap"]); } - if (hush["btc_market_cap"] >= 0) - { - qDebug() << "HUSH = btc_market_cap" << QString::number((double)hush["btc_market_cap"]); - Settings::getInstance()->setBTCCAP( hush["btc_market_cap"]); + if (hush["btc_market_cap"] >= 0) { + qDebug() << "HUSH = btc_market_cap" << QString::number((double) hush["btc_market_cap"]); + Settings::getInstance() - > setBTCCAP(hush["btc_market_cap"]); } - if (hush["cny_market_cap"] >= 0) - { - qDebug() << "HUSH = cny_market_cap" << QString::number((double)hush["cny_market_cap"]); - Settings::getInstance()->setCNYCAP( hush["cny_market_cap"]); + if (hush["cny_market_cap"] >= 0) { + qDebug() << "HUSH = cny_market_cap" << QString::number((double) hush["cny_market_cap"]); + Settings::getInstance() - > setCNYCAP(hush["cny_market_cap"]); } - if (hush["rub_market_cap"] >= 0) - { - qDebug() << "HUSH = rub_market_cap" << QString::number((double)hush["rub_market_cap"]); - Settings::getInstance()->setRUBCAP( hush["rub_market_cap"]); + if (hush["rub_market_cap"] >= 0) { + qDebug() << "HUSH = rub_market_cap" << QString::number((double) hush["rub_market_cap"]); + Settings::getInstance() - > setRUBCAP(hush["rub_market_cap"]); } - if (hush["cad_market_cap"] >= 0) - { - qDebug() << "HUSH = cad_market_cap" << QString::number((double)hush["cad_market_cap"]); - Settings::getInstance()->setCADCAP( hush["cad_market_cap"]); + if (hush["cad_market_cap"] >= 0) { + qDebug() << "HUSH = cad_market_cap" << QString::number((double) hush["cad_market_cap"]); + Settings::getInstance() - > setCADCAP(hush["cad_market_cap"]); } - if (hush["sgd_market_cap"] >= 0) - { - qDebug() << "HUSH = sgd_market_cap" << QString::number((double)hush["sgd_market_cap"]); - Settings::getInstance()->setSGDCAP( hush["sgd_market_cap"]); + if (hush["sgd_market_cap"] >= 0) { + qDebug() << "HUSH = sgd_market_cap" << QString::number((double) hush["sgd_market_cap"]); + Settings::getInstance() - > setSGDCAP(hush["sgd_market_cap"]); } - if (hush["chf_market_cap"] >= 0) - { - qDebug() << "HUSH = chf_market_cap" << QString::number((double)hush["chf_market_cap"]); - Settings::getInstance()->setCHFCAP( hush["chf_market_cap"]); + if (hush["chf_market_cap"] >= 0) { + qDebug() << "HUSH = chf_market_cap" << QString::number((double) hush["chf_market_cap"]); + Settings::getInstance() - > setCHFCAP(hush["chf_market_cap"]); } - if (hush["inr_market_cap"] >= 0) - { - qDebug() << "HUSH = inr_market_cap" << QString::number((double)hush["inr_market_cap"]); - Settings::getInstance()->setINRCAP( hush["inr_market_cap"]); + if (hush["inr_market_cap"] >= 0) { + qDebug() << "HUSH = inr_market_cap" << QString::number((double) hush["inr_market_cap"]); + Settings::getInstance() - > setINRCAP(hush["inr_market_cap"]); } - if (hush["gbp_market_cap"] >= 0) - { - qDebug() << "HUSH = gbp_market_cap" << QString::number((double)hush["gbp_market_cap"]); - Settings::getInstance()->setGBPCAP( hush["gbp_market_cap"]); + if (hush["gbp_market_cap"] >= 0) { + qDebug() << "HUSH = gbp_market_cap" << QString::number((double) hush["gbp_market_cap"]); + Settings::getInstance() - > setGBPCAP(hush["gbp_market_cap"]); } - if (hush["aud_market_cap"] >= 0) - { - qDebug() << "HUSH = aud_market_cap" << QString::number((double)hush["aud_market_cap"]); - Settings::getInstance()->setAUDCAP( hush["aud_market_cap"]); + if (hush["aud_market_cap"] >= 0) { + qDebug() << "HUSH = aud_market_cap" << QString::number((double) hush["aud_market_cap"]); + Settings::getInstance() - > setAUDCAP(hush["aud_market_cap"]); } return; - } - catch (const std::exception& e) - { + } catch (const std::exception & e) { // If anything at all goes wrong, just set the price to 0 and move on. qDebug() << QString("Caught something nasty: ") << e.what(); } // If nothing, then set the price to 0; - Settings::getInstance()->setZECPrice(0); - Settings::getInstance()->setEURPrice(0); - Settings::getInstance()->setBTCPrice(0); - Settings::getInstance()->setCNYPrice(0); - Settings::getInstance()->setRUBPrice(0); - Settings::getInstance()->setCADPrice(0); - Settings::getInstance()->setSGDPrice(0); - Settings::getInstance()->setCHFPrice(0); - Settings::getInstance()->setGBPPrice(0); - Settings::getInstance()->setAUDPrice(0); - Settings::getInstance()->setINRPrice(0); - Settings::getInstance()->setBTCVolume(0); - Settings::getInstance()->setUSDVolume(0); - Settings::getInstance()->setEURVolume(0); - Settings::getInstance()->setBTCVolume(0); - Settings::getInstance()->setCNYVolume(0); - Settings::getInstance()->setRUBVolume(0); - Settings::getInstance()->setCADVolume(0); - Settings::getInstance()->setINRVolume(0); - Settings::getInstance()->setSGDVolume(0); - Settings::getInstance()->setCHFVolume(0); - Settings::getInstance()->setGBPVolume(0); - Settings::getInstance()->setAUDVolume(0); - Settings::getInstance()->setUSDCAP(0); - Settings::getInstance()->setEURCAP(0); - Settings::getInstance()->setBTCCAP(0); - Settings::getInstance()->setCNYCAP(0); - Settings::getInstance()->setRUBCAP(0); - Settings::getInstance()->setCADCAP(0); - Settings::getInstance()->setINRCAP(0); - Settings::getInstance()->setSGDCAP(0); - Settings::getInstance()->setCHFCAP(0); - Settings::getInstance()->setGBPCAP(0); - Settings::getInstance()->setAUDCAP(0); + Settings::getInstance() - > setZECPrice(0); + Settings::getInstance() - > setEURPrice(0); + Settings::getInstance() - > setBTCPrice(0); + Settings::getInstance() - > setCNYPrice(0); + Settings::getInstance() - > setRUBPrice(0); + Settings::getInstance() - > setCADPrice(0); + Settings::getInstance() - > setSGDPrice(0); + Settings::getInstance() - > setCHFPrice(0); + Settings::getInstance() - > setGBPPrice(0); + Settings::getInstance() - > setAUDPrice(0); + Settings::getInstance() - > setINRPrice(0); + Settings::getInstance() - > setBTCVolume(0); + Settings::getInstance() - > setUSDVolume(0); + Settings::getInstance() - > setEURVolume(0); + Settings::getInstance() - > setBTCVolume(0); + Settings::getInstance() - > setCNYVolume(0); + Settings::getInstance() - > setRUBVolume(0); + Settings::getInstance() - > setCADVolume(0); + Settings::getInstance() - > setINRVolume(0); + Settings::getInstance() - > setSGDVolume(0); + Settings::getInstance() - > setCHFVolume(0); + Settings::getInstance() - > setGBPVolume(0); + Settings::getInstance() - > setAUDVolume(0); + Settings::getInstance() - > setUSDCAP(0); + Settings::getInstance() - > setEURCAP(0); + Settings::getInstance() - > setBTCCAP(0); + Settings::getInstance() - > setCNYCAP(0); + Settings::getInstance() - > setRUBCAP(0); + Settings::getInstance() - > setCADCAP(0); + Settings::getInstance() - > setINRCAP(0); + Settings::getInstance() - > setSGDCAP(0); + Settings::getInstance() - > setCHFCAP(0); + Settings::getInstance() - > setGBPCAP(0); + Settings::getInstance() - > setAUDCAP(0); }); } -void Controller::shutdownhushd() -{ +void Controller::shutdownhushd() { // Save the wallet and exit the lightclient library cleanly. - if (zrpc->haveConnection()) - { + if (zrpc - > haveConnection()) { QDialog d(main); Ui_ConnectionDialog connD; - connD.setupUi(&d); - connD.topIcon->setPixmap(QIcon(":/icons/res/icon.ico").pixmap(256, 256)); - connD.status->setText(QObject::tr("Please wait for SilentDragonLite to exit")); - connD.statusDetail->setText(QObject::tr("Waiting for hushd to exit")); + connD.setupUi( & d); + connD.topIcon - > setPixmap(QIcon(":/icons/res/icon.ico").pixmap(256, 256)); + connD.status - > setText(QObject::tr("Please wait for SilentDragonLite to exit")); + connD.statusDetail - > setText(QObject::tr("Waiting for hushd to exit")); bool finished = false; - zrpc->saveWallet([&] (json) { + zrpc - > saveWallet([ & ](json) { if (!finished) d.accept(); finished = true; @@ -1607,24 +1480,21 @@ void Controller::shutdownhushd() /** * Get a Sapling address from the user's wallet - */ -QString Controller::getDefaultSaplingAddress() -{ - for (QString addr: model->getAllZAddresses()) - { - if (Settings::getInstance()->isSaplingAddress(addr)) + */ +QString Controller::getDefaultSaplingAddress() { + for (QString addr: model - > getAllZAddresses()) { + if (Settings::getInstance() - > isSaplingAddress(addr)) return addr; } return QString(); } -QString Controller::getDefaultTAddress() -{ - if (model->getAllTAddresses().length() > 0) - return model->getAllTAddresses().at(0); +QString Controller::getDefaultTAddress() { + if (model - > getAllTAddresses().length() > 0) + return model - > getAllTAddresses().at(0); - else + else return QString(); - -} + +} \ No newline at end of file From ac2e27d2f7299012eb355b54751bb8aba6fd7620 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 14 May 2020 13:57:54 +0200 Subject: [PATCH 107/251] fix some typos --- src/controller.cpp | 1924 +++++++++++++++++++++++--------------------- 1 file changed, 1022 insertions(+), 902 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 8023cbc..47a1a1e 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -2,67 +2,58 @@ // GPLv3 #include "controller.h" - #include "mainwindow.h" - #include "addressbook.h" - #include "settings.h" - #include "version.h" - #include "camount.h" - #include "websockets.h" - #include "Model/ChatItem.h" - #include "DataStore/DataStore.h" /*template<> DataStore* DataStore::instance = nullptr; template<> bool DataStore::instanced = false;*/ -ChatModel * chatModel = new ChatModel(); -Chat * chat = new Chat(); -ContactModel * contactModel = new ContactModel(); +ChatModel *chatModel = new ChatModel(); +Chat *chat = new Chat(); +ContactModel *contactModel = new ContactModel(); using json = nlohmann::json; -Controller::Controller(MainWindow * main) { +Controller::Controller(MainWindow* main) +{ auto cl = new ConnectionLoader(main, this); // Execute the load connection async, so we can set up the rest of RPC properly. - QTimer::singleShot(1, [ = ]() { - cl - > loadConnection(); - }); + QTimer::singleShot(1, [=]() { cl->loadConnection(); }); - this - > main = main; - this - > ui = main - > ui; + this->main = main; + this->ui = main->ui; // Setup balances table model - balancesTableModel = new BalancesTableModel(main - > ui - > balancesTable); - main - > ui - > balancesTable - > setModel(balancesTableModel); + balancesTableModel = new BalancesTableModel(main->ui->balancesTable); + main->ui->balancesTable->setModel(balancesTableModel); // Setup transactions table model - transactionsTableModel = new TxTableModel(ui - > transactionsTable); - main - > ui - > transactionsTable - > setModel(transactionsTableModel); - + transactionsTableModel = new TxTableModel(ui->transactionsTable); + main->ui->transactionsTable->setModel(transactionsTableModel); + // Set up timer to refresh Price priceTimer = new QTimer(main); - QObject::connect(priceTimer, & QTimer::timeout, [ = ]() { - if (Settings::getInstance() - > getAllowFetchPrices()) - refreshZECPrice(); - + QObject::connect(priceTimer, &QTimer::timeout, [=]() { + if (Settings::getInstance()->getAllowFetchPrices()) + refreshZECPrice(); + }); - priceTimer - > start(Settings::priceRefreshSpeed); // Every 5 Min + priceTimer->start(Settings::priceRefreshSpeed); // Every 5 Min // Set up a timer to refresh the UI every few seconds timer = new QTimer(main); - QObject::connect(timer, & QTimer::timeout, [ = ]() { + QObject::connect(timer, &QTimer::timeout, [=]() { refresh(); }); - timer - > start(Settings::updateSpeed); + timer->start(Settings::updateSpeed); // Create the data model model = new DataModel(); @@ -71,7 +62,8 @@ Controller::Controller(MainWindow * main) { zrpc = new LiteInterface(); } -Controller::~Controller() { +Controller::~Controller() +{ delete timer; delete txTimer; delete transactionsTableModel; @@ -79,21 +71,22 @@ Controller::~Controller() { delete model; delete zrpc; } - + // Called when a connection to hushd is available. -void Controller::setConnection(Connection * c) { - if (c == nullptr) +void Controller::setConnection(Connection* c) +{ + if (c == nullptr) return; - this - > zrpc - > setConnection(c); - ui - > statusBar - > showMessage(""); + this->zrpc->setConnection(c); + ui->statusBar->showMessage(""); // If we're allowed to get the Hush Price, get the prices - if (Settings::getInstance() - > getAllowFetchPrices()) + if (Settings::getInstance()->getAllowFetchPrices()) refreshZECPrice(); // If we're allowed to check for updates, check for a new release - if (Settings::getInstance() - > getCheckForUpdates()) + if (Settings::getInstance()->getCheckForUpdates()) checkForUpdate(); // Force update, because this might be coming from a settings update @@ -102,417 +95,458 @@ void Controller::setConnection(Connection * c) { // Create Sietch zdust addr at startup. // Using DataStore singelton, to store the data outside of lambda, bing bada boom :D - for (uint8_t i = 0; i < 10; i++) { - zrpc - > createNewSietchZaddr([ = ](json reply) { - QString zdust = QString::fromStdString(reply.get < json::array_t > ()[0]); - DataStore::getSietchDataStore() - > setData("Sietch" + QString(i), zdust.toUtf8()); + for(uint8_t i = 0; i < 10; i++) + { + zrpc->createNewSietchZaddr( [=] (json reply) { + QString zdust = QString::fromStdString(reply.get()[0]); + DataStore::getSietchDataStore()->setData("Sietch" + QString(i), zdust.toUtf8()); }); } } // Build the RPC JSON Parameters for this tx -void Controller::fillTxJsonParams(json & allRecepients, Tx tx) { +void Controller::fillTxJsonParams(json& allRecepients, Tx tx) +{ Q_ASSERT(allRecepients.is_array()); // Construct the JSON params json rec = json::object(); //creating the JSON dust parameters in a std::vector to iterate over there during tx - std::vector < json > dust(10); + std::vector dust(10); dust.resize(10, json::object()); // Create Sietch zdust addr again to not use it twice. // Using DataStore singelton, to store the data outside of lambda, bing bada boom :D - for (uint8_t i = 0; i < 10; i++) { - zrpc - > createNewSietchZaddr([ = ](json reply) { - QString zdust = QString::fromStdString(reply.get < json::array_t > ()[0]); - DataStore::getSietchDataStore() - > setData(QString("Sietch") + QString(i), zdust.toUtf8()); - }); + for(uint8_t i = 0; i < 10; i++) + { + zrpc->createNewSietchZaddr( [=] (json reply) { + QString zdust = QString::fromStdString(reply.get()[0]); + DataStore::getSietchDataStore()->setData(QString("Sietch") + QString(i), zdust.toUtf8()); + } ); } // Set sietch zdust addr to json. // Using DataStore singelton, to store the data into the dusts, bing bada boom :D - for (uint8_t i = 0; i < 10; i++) { - dust.at(i)["address"] = DataStore::getSietchDataStore() - > getData(QString("Sietch" + QString(i))).toStdString(); + for(uint8_t i = 0; i < 10; i++) + { + dust.at(i)["address"] = DataStore::getSietchDataStore()->getData(QString("Sietch" + QString(i))).toStdString(); } - DataStore::getSietchDataStore() - > clear(); // clears the datastore + DataStore::getSietchDataStore()->clear(); // clears the datastore // Dust amt/memo, construct the JSON - for (uint8_t i = 0; i < 10; i++) { + for(uint8_t i = 0; i < 10; i++) + { dust.at(i)["amount"] = 0; dust.at(i)["memo"] = ""; - + } - + // For each addr/amt/memo, construct the JSON and also build the confirm dialog box - for (int i = 0; i < tx.toAddrs.size(); i++) { + for (int i=0; i < tx.toAddrs.size(); i++) + { auto toAddr = tx.toAddrs[i]; rec["address"] = toAddr.addr.toStdString(); - rec["amount"] = toAddr.amount.toqint64(); + rec["amount"] = toAddr.amount.toqint64(); if (Settings::isZAddress(toAddr.addr) && !toAddr.memo.trimmed().isEmpty()) rec["memo"] = toAddr.memo.toStdString(); - allRecepients.push_back(rec); + allRecepients.push_back(rec) ; } - allRecepients.insert(std::begin(allRecepients), { - dust.at(0), - dust.at(1), - dust.at(2), - dust.at(3), - dust.at(4), - dust.at(5), - dust.at(6), - dust.at(7), - dust.at(8) - }); + allRecepients.insert(std::begin(allRecepients), { + dust.at(0), + dust.at(1), + dust.at(2), + dust.at(3), + dust.at(4), + dust.at(5), + dust.at(6), + dust.at(7), + dust.at(8) + }) ; } -void Controller::noConnection() { - QIcon i = QApplication::style() - > standardIcon(QStyle::SP_MessageBoxCritical); - main - > statusIcon - > setPixmap(i.pixmap(16, 16)); - main - > statusIcon - > setToolTip(""); - main - > statusLabel - > setText(QObject::tr("No Connection")); - main - > statusLabel - > setToolTip(""); - main - > ui - > statusBar - > showMessage(QObject::tr("No Connection"), 1000); +void Controller::noConnection() +{ + QIcon i = QApplication::style()->standardIcon(QStyle::SP_MessageBoxCritical); + main->statusIcon->setPixmap(i.pixmap(16, 16)); + main->statusIcon->setToolTip(""); + main->statusLabel->setText(QObject::tr("No Connection")); + main->statusLabel->setToolTip(""); + main->ui->statusBar->showMessage(QObject::tr("No Connection"), 1000); // Clear balances table. - QMap < QString, CAmount > emptyBalances; - QList < UnspentOutput > emptyOutputs; - QList < QString > emptyAddresses; - balancesTableModel - > setNewData(emptyAddresses, emptyAddresses, emptyBalances, emptyOutputs); + QMap emptyBalances; + QList emptyOutputs; + QList emptyAddresses; + balancesTableModel->setNewData(emptyAddresses, emptyAddresses, emptyBalances, emptyOutputs); // Clear Transactions table. - QList < TransactionItem > emptyTxs; - transactionsTableModel - > replaceData(emptyTxs); + QList emptyTxs; + transactionsTableModel->replaceData(emptyTxs); // Clear balances - ui - > balSheilded - > setText(""); - ui - > balTransparent - > setText(""); - ui - > balTotal - > setText(""); + ui->balSheilded->setText(""); + ui->balTransparent->setText(""); + ui->balTotal->setText(""); - ui - > balSheilded - > setToolTip(""); - ui - > balTransparent - > setToolTip(""); - ui - > balTotal - > setToolTip(""); + ui->balSheilded->setToolTip(""); + ui->balTransparent->setToolTip(""); + ui->balTotal->setToolTip(""); } /// This will refresh all the balance data from hushd -void Controller::refresh(bool force) { - if (!zrpc - > haveConnection()) +void Controller::refresh(bool force) +{ + if (!zrpc->haveConnection()) return noConnection(); getInfoThenRefresh(force); } -void Controller::processInfo(const json & info) { +void Controller::processInfo(const json& info) +{ // Testnet? QString chainName; - if (!info["chain_name"].is_null()) { - chainName = QString::fromStdString(info["chain_name"].get < json::string_t > ()); - Settings::getInstance() - > setTestnet(chainName == "test"); + if (!info["chain_name"].is_null()) + { + chainName = QString::fromStdString(info["chain_name"].get()); + Settings::getInstance()->setTestnet(chainName == "test"); } - QString version = QString::fromStdString(info["version"].get < json::string_t > ()); - Settings::getInstance() - > sethushdVersion(version); + QString version = QString::fromStdString(info["version"].get()); + Settings::getInstance()->sethushdVersion(version); // Recurring pamynets are testnet only - if (!Settings::getInstance() - > isTestnet()) - main - > disableRecurring(); + if (!Settings::getInstance()->isTestnet()) + main->disableRecurring(); } -void Controller::getInfoThenRefresh(bool force) { - if (!zrpc - > haveConnection()) +void Controller::getInfoThenRefresh(bool force) +{ + if (!zrpc->haveConnection()) return noConnection(); static bool prevCallSucceeded = false; - zrpc - > fetchInfo([ = ](const json & reply) { - prevCallSucceeded = true; - int curBlock = reply["latest_block_height"].get < json::number_integer_t > (); - int longestchain = reply["longestchain"].get < json::number_integer_t > (); - int notarized = reply["notarized"].get < json::number_integer_t > (); - int difficulty = reply["difficulty"].get < json::number_integer_t > (); - int blocks_until_halving = 340000 - curBlock; - int halving_days = (blocks_until_halving * 150) / (60 * 60 * 24); - bool doUpdate = force || (model - > getLatestBlock() != curBlock); - model - > setLatestBlock(curBlock); + zrpc->fetchInfo([=] (const json& reply) { + prevCallSucceeded = true; + int curBlock = reply["latest_block_height"].get(); + int longestchain = reply["longestchain"].get(); + int notarized = reply["notarized"].get(); + int difficulty = reply["difficulty"].get(); + int blocks_until_halving= 340000 - curBlock; + int halving_days = (blocks_until_halving * 150) / (60*60*24) ; + bool doUpdate = force || (model->getLatestBlock() != curBlock); + model->setLatestBlock(curBlock); if ( - Settings::getInstance() - > get_currency_name() == "EUR" || - Settings::getInstance() - > get_currency_name() == "CHF" || - Settings::getInstance() - > get_currency_name() == "RUB" - ) { - ui - > blockHeight - > setText( + Settings::getInstance()->get_currency_name() == "EUR" || + Settings::getInstance()->get_currency_name() == "CHF" || + Settings::getInstance()->get_currency_name() == "RUB" + ) + { + ui->blockHeight->setText( "Block: " + QLocale(QLocale::German).toString(curBlock) ); - ui - > last_notarized - > setText( + ui->last_notarized->setText( "Block: " + QLocale(QLocale::German).toString(notarized) ); - ui - > longestchain - > setText( + ui->longestchain->setText( "Block: " + QLocale(QLocale::German).toString(longestchain) ); - ui - > difficulty - > setText( + ui->difficulty->setText( QLocale(QLocale::German).toString(difficulty) ); - ui - > halvingTime - > setText( - (QLocale(QLocale::German).toString(blocks_until_halving)) + - " Blocks or , " + (QLocale(QLocale::German).toString(halving_days) + " days") + ui->halvingTime->setText( + (QLocale(QLocale::German).toString(blocks_until_halving)) + + " Blocks or , " + (QLocale(QLocale::German).toString(halving_days) + " days" ) ); - } else { - ui - > blockHeight - > setText( + } + else + { + ui->blockHeight->setText( "Block: " + QLocale(QLocale::English).toString(curBlock) ); - ui - > last_notarized - > setText( + ui->last_notarized->setText( "Block: " + QLocale(QLocale::English).toString(notarized) ); - ui - > longestchain - > setText( + ui->longestchain->setText( "Block: " + QLocale(QLocale::English).toString(longestchain) ); - ui - > difficulty - > setText( + ui->difficulty->setText( QLocale(QLocale::English).toString(difficulty) ); - ui - > halvingTime - > setText( - (QLocale(QLocale::English).toString(blocks_until_halving)) + - " Blocks or , " + (QLocale(QLocale::English).toString(halving_days) + " days") + ui->halvingTime->setText( + (QLocale(QLocale::English).toString(blocks_until_halving)) + + " Blocks or , " + (QLocale(QLocale::English).toString(halving_days) + " days" ) ); } - ui - > Version - > setText( - QString::fromStdString(reply["version"].get < json::string_t > ()) + ui->Version->setText( + QString::fromStdString(reply["version"].get()) + ); + ui->Vendor->setText( + QString::fromStdString(reply["vendor"].get()) ); - ui - > Vendor - > setText( - QString::fromStdString(reply["vendor"].get < json::string_t > ()) - ); - main - > logger - > write( - QString("Refresh. curblock ") % QString::number(curBlock) % ", update=" % (doUpdate ? "true" : "false") + main->logger->write( + QString("Refresh. curblock ") % QString::number(curBlock) % ", update=" % (doUpdate ? "true" : "false") ); // Connected, so display checkmark. - auto tooltip = Settings::getInstance() - > getSettings().server + "\n" + - QString::fromStdString(zrpc - > getConnection() - > getInfo().dump()); + auto tooltip = Settings::getInstance()->getSettings().server + "\n" + + QString::fromStdString(zrpc->getConnection()->getInfo().dump()); QIcon i(":/icons/res/connected.gif"); - QString chainName = Settings::getInstance() - > isTestnet() ? "test" : "main"; - main - > statusLabel - > setText(chainName + "(" + QString::number(curBlock) + ")"); + QString chainName = Settings::getInstance()->isTestnet() ? "test" : "main"; + main->statusLabel->setText(chainName + "(" + QString::number(curBlock) + ")"); // use currency ComboBox as input - if (Settings::getInstance() - > get_currency_name() == "USD") { - double price = Settings::getInstance() - > getZECPrice(); - double volume = Settings::getInstance() - > getUSDVolume(); - double cap = Settings::getInstance() - > getUSDCAP(); - main - > statusLabel - > setText( - " HUSH/USD=$ " + (QLocale(QLocale::English).toString(price, 'f', 2)) + if (Settings::getInstance()->get_currency_name() == "USD") + { + double price = Settings::getInstance()->getZECPrice(); + double volume = Settings::getInstance()->getUSDVolume(); + double cap = Settings::getInstance()->getUSDCAP(); + main->statusLabel->setText( + " HUSH/USD=$ " + (QLocale(QLocale::English).toString(price,'f', 2)) ); - ui - > volumeExchange - > setText( - " $ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) + ui->volumeExchange->setText( + " $ " + (QLocale(QLocale::English).toString(volume,'f', 2)) ); - ui - > marketcapTab - > setText( - " $ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) + ui->marketcapTab->setText( + " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) ); - } else if (Settings::getInstance() - > get_currency_name() == "EUR") { - double price = Settings::getInstance() - > getEURPrice(); - double volume = Settings::getInstance() - > getEURVolume(); - double cap = Settings::getInstance() - > getEURCAP(); - main - > statusLabel - > setText( - "HUSH/EUR " + (QLocale(QLocale::German).toString(price, 'f', 2)) + " €" - ); - ui - > volumeExchange - > setText( - QLocale(QLocale::German).toString(volume, 'f', 2) + " €" + } + else if (Settings::getInstance()->get_currency_name() == "EUR") + { + double price = Settings::getInstance()->getEURPrice(); + double volume = Settings::getInstance()->getEURVolume(); + double cap = Settings::getInstance()->getEURCAP(); + main->statusLabel->setText( + "HUSH/EUR "+(QLocale(QLocale::German).toString(price,'f', 2))+ " €" + ); + ui->volumeExchange->setText( + QLocale(QLocale::German).toString(volume,'f', 2)+ " €" ); - ui - > marketcapTab - > setText( - QLocale(QLocale::German).toString(cap, 'f', 2) + " €" + ui->marketcapTab->setText( + QLocale(QLocale::German).toString(cap,'f', 2)+ " €" ); - } else if (Settings::getInstance() - > get_currency_name() == "BTC") { - double price = Settings::getInstance() - > getBTCPrice(); - double volume = Settings::getInstance() - > getBTCVolume(); - double cap = Settings::getInstance() - > getBTCCAP(); - main - > statusLabel - > setText( - " HUSH/BTC=BTC " + (QLocale(QLocale::English).toString(price, 'f', 8)) + } + else if (Settings::getInstance()->get_currency_name() == "BTC") + { + double price = Settings::getInstance()->getBTCPrice(); + double volume = Settings::getInstance()->getBTCVolume(); + double cap = Settings::getInstance()->getBTCCAP(); + main->statusLabel->setText( + " HUSH/BTC=BTC " + (QLocale(QLocale::English).toString(price, 'f',8)) ); - ui - > volumeExchange - > setText( - " BTC " + (QLocale(QLocale::English).toString(volume, 'f', 8)) + ui->volumeExchange->setText( + " BTC " + (QLocale(QLocale::English).toString(volume, 'f',8)) ); - ui - > marketcapTab - > setText( - " BTC " + (QLocale(QLocale::English).toString(cap, 'f', 8)) + ui->marketcapTab->setText( + " BTC " + (QLocale(QLocale::English).toString(cap, 'f',8)) ); - } else if (Settings::getInstance() - > get_currency_name() == "CNY") { - double price = Settings::getInstance() - > getCNYPrice(); - double volume = Settings::getInstance() - > getCNYVolume(); - double cap = Settings::getInstance() - > getCNYCAP(); - main - > statusLabel - > setText( - " HUSH/CNY=¥ /元 " + (QLocale(QLocale::Chinese).toString(price, 'f', 2)) + } + else if (Settings::getInstance()->get_currency_name() == "CNY") + { + double price = Settings::getInstance()->getCNYPrice(); + double volume = Settings::getInstance()->getCNYVolume(); + double cap = Settings::getInstance()->getCNYCAP(); + main->statusLabel->setText( + " HUSH/CNY=¥ /元 " + (QLocale(QLocale::Chinese).toString(price,'f', 2)) ); - ui - > volumeExchange - > setText( - " ¥ /元 " + (QLocale(QLocale::Chinese).toString(volume, 'f', 2)) + ui->volumeExchange->setText( + " ¥ /元 " + (QLocale(QLocale::Chinese).toString(volume,'f', 2)) ); - ui - > marketcapTab - > setText( - " ¥ /元 " + (QLocale(QLocale::Chinese).toString(cap, 'f', 2)) + ui->marketcapTab->setText( + " ¥ /元 " + (QLocale(QLocale::Chinese).toString(cap,'f', 2)) ); - } else if (Settings::getInstance() - > get_currency_name() == "RUB") { - double price = Settings::getInstance() - > getRUBPrice(); - double volume = Settings::getInstance() - > getRUBVolume(); - double cap = Settings::getInstance() - > getRUBCAP(); - main - > statusLabel - > setText( - " HUSH/RUB=₽ " + (QLocale(QLocale::German).toString(price, 'f', 2)) + } + else if (Settings::getInstance()->get_currency_name() == "RUB") + { + double price = Settings::getInstance()->getRUBPrice(); + double volume = Settings::getInstance()->getRUBVolume(); + double cap = Settings::getInstance()->getRUBCAP(); + main->statusLabel->setText( + " HUSH/RUB=₽ " + (QLocale(QLocale::German).toString(price,'f', 2)) ); - ui - > volumeExchange - > setText( - " ₽ " + (QLocale(QLocale::German).toString(volume, 'f', 2)) + ui->volumeExchange->setText( + " ₽ " + (QLocale(QLocale::German).toString(volume,'f', 2)) ); - ui - > marketcapTab - > setText( - " ₽ " + (QLocale(QLocale::German).toString(cap, 'f', 2)) + ui->marketcapTab->setText( + " ₽ " + (QLocale(QLocale::German).toString(cap,'f', 2)) ); - } else if (Settings::getInstance() - > get_currency_name() == "CAD") { - double price = Settings::getInstance() - > getCADPrice(); - double volume = Settings::getInstance() - > getCADVolume(); - double cap = Settings::getInstance() - > getCADCAP(); - main - > statusLabel - > setText( - " HUSH/CAD=$ " + (QLocale(QLocale::English).toString(price, 'f', 2)) + } + else if (Settings::getInstance()->get_currency_name() == "CAD") + { + double price = Settings::getInstance()->getCADPrice(); + double volume = Settings::getInstance()->getCADVolume(); + double cap = Settings::getInstance()->getCADCAP(); + main->statusLabel->setText( + " HUSH/CAD=$ " + (QLocale(QLocale::English).toString(price,'f', 2)) ); - ui - > volumeExchange - > setText( - " $ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) + ui->volumeExchange->setText( + " $ " + (QLocale(QLocale::English).toString(volume,'f', 2)) ); - ui - > marketcapTab - > setText( - " $ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) + ui->marketcapTab->setText( + " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) ); - } else if (Settings::getInstance() - > get_currency_name() == "SGD") { - double price = Settings::getInstance() - > getSGDPrice(); - double volume = Settings::getInstance() - > getSGDVolume(); - double cap = Settings::getInstance() - > getSGDCAP(); - main - > statusLabel - > setText( - " HUSH/SGD=$ " + (QLocale(QLocale::English).toString(price, 'f', 2)) + } + else if (Settings::getInstance()->get_currency_name() == "SGD") + { + double price = Settings::getInstance()->getSGDPrice(); + double volume = Settings::getInstance()->getSGDVolume(); + double cap = Settings::getInstance()->getSGDCAP(); + main->statusLabel->setText( + " HUSH/SGD=$ " + (QLocale(QLocale::English).toString(price,'f', 2)) ); - ui - > volumeExchange - > setText( - " $ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) + ui->volumeExchange->setText( + " $ " + (QLocale(QLocale::English).toString(volume,'f', 2)) ); - ui - > marketcapTab - > setText( - " $ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) + ui->marketcapTab->setText( + " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) ); - } else if (Settings::getInstance() - > get_currency_name() == "CHF") { - double price = Settings::getInstance() - > getCHFPrice(); - double volume = Settings::getInstance() - > getCHFVolume(); - double cap = Settings::getInstance() - > getCHFCAP(); - main - > statusLabel - > setText( - " HUSH/CHF= " + (QLocale(QLocale::German).toString(price, 'f', 2)) + " CHF" + } + else if (Settings::getInstance()->get_currency_name() == "CHF") + { + double price = Settings::getInstance()->getCHFPrice(); + double volume = Settings::getInstance()->getCHFVolume(); + double cap = Settings::getInstance()->getCHFCAP(); + main->statusLabel->setText( + " HUSH/CHF= " + (QLocale(QLocale::German).toString(price,'f', 2))+ " CHF" ); - ui - > volumeExchange - > setText( - QLocale(QLocale::German).toString(volume, 'f', 2) + " CHF" + ui->volumeExchange->setText( + QLocale(QLocale::German).toString(volume,'f', 2)+ " CHF" ); - ui - > marketcapTab - > setText( - QLocale(QLocale::German).toString(cap, 'f', 2) + " CHF" + ui->marketcapTab->setText( + QLocale(QLocale::German).toString(cap,'f', 2)+ " CHF" ); - } else if (Settings::getInstance() - > get_currency_name() == "INR") { - double price = Settings::getInstance() - > getINRPrice(); - double volume = Settings::getInstance() - > getINRVolume(); - double cap = Settings::getInstance() - > getINRCAP(); - main - > statusLabel - > setText( - " HUSH/INR=₹ " + (QLocale(QLocale::English).toString(price, 'f', 2)) + } + else if (Settings::getInstance()->get_currency_name() == "INR") + { + double price = Settings::getInstance()->getINRPrice(); + double volume = Settings::getInstance()->getINRVolume(); + double cap = Settings::getInstance()->getINRCAP(); + main->statusLabel->setText( + " HUSH/INR=₹ " + (QLocale(QLocale::English).toString(price,'f', 2)) ); - ui - > volumeExchange - > setText( - " ₹ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) + ui->volumeExchange->setText( + " ₹ " + (QLocale(QLocale::English).toString(volume,'f', 2)) ); - ui - > marketcapTab - > setText( - " ₹ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) + ui->marketcapTab->setText( + " ₹ " + (QLocale(QLocale::English).toString(cap,'f', 2)) ); - } else if (Settings::getInstance() - > get_currency_name() == "GBP") { - double price = Settings::getInstance() - > getGBPPrice(); - double volume = Settings::getInstance() - > getGBPVolume(); - double cap = Settings::getInstance() - > getGBPCAP(); - main - > statusLabel - > setText( - " HUSH/GBP=£ " + (QLocale(QLocale::English).toString(price, 'f', 2)) + } + else if (Settings::getInstance()->get_currency_name() == "GBP") + { + double price = Settings::getInstance()->getGBPPrice(); + double volume = Settings::getInstance()->getGBPVolume(); + double cap = Settings::getInstance()->getGBPCAP(); + main->statusLabel->setText( + " HUSH/GBP=£ " + (QLocale(QLocale::English).toString(price,'f', 2)) ); - ui - > volumeExchange - > setText( - " £ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) + ui->volumeExchange->setText( + " £ " + (QLocale(QLocale::English).toString(volume,'f', 2)) ); - ui - > marketcapTab - > setText( - " £ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) + ui->marketcapTab->setText( + " £ " + (QLocale(QLocale::English).toString(cap,'f', 2)) ); - } else if (Settings::getInstance() - > get_currency_name() == "AUD") { - double price = Settings::getInstance() - > getAUDPrice(); - double volume = Settings::getInstance() - > getAUDVolume(); - double cap = Settings::getInstance() - > getAUDCAP(); - main - > statusLabel - > setText( - " HUSH/AUD=$ " + (QLocale(QLocale::English).toString(price, 'f', 2)) + } + else if (Settings::getInstance()->get_currency_name() == "AUD") + { + double price = Settings::getInstance()->getAUDPrice(); + double volume = Settings::getInstance()->getAUDVolume(); + double cap = Settings::getInstance()->getAUDCAP(); + main->statusLabel->setText( + " HUSH/AUD=$ " + (QLocale(QLocale::English).toString(price,'f', 2)) ); - ui - > volumeExchange - > setText( - " $ " + (QLocale(QLocale::English).toString(volume, 'f', 2)) + ui->volumeExchange->setText( + " $ " + (QLocale(QLocale::English).toString(volume,'f', 2)) ); - ui - > marketcapTab - > setText( - " $ " + (QLocale(QLocale::English).toString(cap, 'f', 2)) + ui->marketcapTab->setText( + " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) ); - - } else { - main - > statusLabel - > setText( - " HUSH/USD=$" + QString::number(Settings::getInstance() - > getZECPrice(), 'f', 2) + + } + else + { + main->statusLabel->setText( + " HUSH/USD=$" + QString::number(Settings::getInstance()->getZECPrice(),'f',2 ) ); - ui - > volumeExchange - > setText( - " $ " + QString::number((double) Settings::getInstance() - > getUSDVolume(), 'f', 2) + ui->volumeExchange->setText( + " $ " + QString::number((double) Settings::getInstance()->getUSDVolume() ,'f',2) ); - ui - > marketcapTab - > setText( - " $ " + QString::number((double) Settings::getInstance() - > getUSDCAP(), 'f', 2) + ui->marketcapTab->setText( + " $ " + QString::number((double) Settings::getInstance()->getUSDCAP() ,'f',2) ); } - main - > statusLabel - > setToolTip(tooltip); - main - > statusIcon - > setPixmap(i.pixmap(16, 16)); - main - > statusIcon - > setToolTip(tooltip); + main->statusLabel->setToolTip(tooltip); + main->statusIcon->setPixmap(i.pixmap(16, 16)); + main->statusIcon->setToolTip(tooltip); // See if recurring payments needs anything - Recurring::getInstance() - > processPending(main); + Recurring::getInstance()->processPending(main); // Check if the wallet is locked/encrypted - zrpc - > fetchWalletEncryptionStatus([ = ](const json & reply) { - bool isEncrypted = reply["encrypted"].get < json::boolean_t > (); - bool isLocked = reply["locked"].get < json::boolean_t > (); - model - > setEncryptionStatus(isEncrypted, isLocked); + zrpc->fetchWalletEncryptionStatus([=] (const json& reply) { + bool isEncrypted = reply["encrypted"].get(); + bool isLocked = reply["locked"].get(); + model->setEncryptionStatus(isEncrypted, isLocked); }); - // Get the total supply and render it with thousand decimal - zrpc - > fetchSupply([ = ](const json & reply) { - int supply = reply["supply"].get < json::number_integer_t > (); - int zfunds = reply["zfunds"].get < json::number_integer_t > (); - int total = reply["total"].get < json::number_integer_t > (); + // Get the total supply and render it with thousand decimal + zrpc->fetchSupply([=] (const json& reply) { + int supply = reply["supply"].get(); + int zfunds = reply["zfunds"].get(); + int total = reply["total"].get(); if ( - Settings::getInstance() - > get_currency_name() == "EUR" || - Settings::getInstance() - > get_currency_name() == "CHF" || - Settings::getInstance() - > get_currency_name() == "RUB" - ) { - ui - > supply_taddr - > setText((QLocale(QLocale::German).toString(supply) + " Hush")); - ui - > supply_zaddr - > setText((QLocale(QLocale::German).toString(zfunds) + " Hush")); - ui - > supply_total - > setText((QLocale(QLocale::German).toString(total) + " Hush")); - } else { - ui - > supply_taddr - > setText("Hush " + (QLocale(QLocale::English).toString(supply))); - ui - > supply_zaddr - > setText("Hush " + (QLocale(QLocale::English).toString(zfunds))); - ui - > supply_total - > setText("Hush " + (QLocale(QLocale::English).toString(total))); + Settings::getInstance()->get_currency_name() == "EUR" || + Settings::getInstance()->get_currency_name() == "CHF" || + Settings::getInstance()->get_currency_name() == "RUB" + ) + { + ui->supply_taddr->setText((QLocale(QLocale::German).toString(supply)+ " Hush")); + ui->supply_zaddr->setText((QLocale(QLocale::German).toString(zfunds)+ " Hush")); + ui->supply_total->setText((QLocale(QLocale::German).toString(total)+ " Hush")); + } + else + { + ui->supply_taddr->setText("Hush " + (QLocale(QLocale::English).toString(supply))); + ui->supply_zaddr->setText("Hush " +(QLocale(QLocale::English).toString(zfunds))); + ui->supply_total->setText("Hush " +(QLocale(QLocale::English).toString(total))); } }); - if (doUpdate) { + if ( doUpdate ) + { // Something changed, so refresh everything. - refreshBalances(); - refreshAddresses(); // This calls refreshZSentTransactions() and refreshReceivedZTrans() + refreshBalances(); + refreshAddresses(); // This calls refreshZSentTransactions() and refreshReceivedZTrans() refreshTransactions(); } - }, [ = ](QString err) { + }, [=](QString err) { // hushd has probably disappeared. - this - > noConnection(); + this->noConnection(); // Prevent multiple dialog boxes, because these are called async static bool shown = false; if (!shown && prevCallSucceeded) // show error only first time - { + { shown = true; QMessageBox::critical( - main, - QObject::tr("Connection Error"), - QObject::tr("There was an error connecting to hushd. The error was") + ": \n\n" + err, + main, + QObject::tr("Connection Error"), + QObject::tr("There was an error connecting to hushd. The error was") + ": \n\n"+ err, QMessageBox::StandardButton::Ok ); shown = false; @@ -522,498 +556,518 @@ void Controller::getInfoThenRefresh(bool force) { }); } -void Controller::refreshAddresses() { - if (!zrpc - > haveConnection()) +void Controller::refreshAddresses() +{ + if (!zrpc->haveConnection()) return noConnection(); - - auto newzaddresses = new QList < QString > (); - auto newtaddresses = new QList < QString > (); - zrpc - > fetchAddresses([ = ](json reply) { - auto zaddrs = reply["z_addresses"].get < json::array_t > (); - for (auto & it: zaddrs) { - auto addr = QString::fromStdString(it.get < json::string_t > ()); - newzaddresses - > push_back(addr); + + auto newzaddresses = new QList(); + auto newtaddresses = new QList(); + zrpc->fetchAddresses([=] (json reply) { + auto zaddrs = reply["z_addresses"].get(); + for (auto& it : zaddrs) + { + auto addr = QString::fromStdString(it.get()); + newzaddresses->push_back(addr); } - model - > replaceZaddresses(newzaddresses); - auto taddrs = reply["t_addresses"].get < json::array_t > (); - for (auto & it: taddrs) { - auto addr = QString::fromStdString(it.get < json::string_t > ()); + model->replaceZaddresses(newzaddresses); + auto taddrs = reply["t_addresses"].get(); + for (auto& it : taddrs) + { + auto addr = QString::fromStdString(it.get()); if (Settings::isTAddress(addr)) - newtaddresses - > push_back(addr); + newtaddresses->push_back(addr); } - model - > replaceTaddresses(newtaddresses); + model->replaceTaddresses(newtaddresses); // Refresh the sent and received txs from all these z-addresses refreshTransactions(); }); - + } // Function to create the data model and update the views, used below. -void Controller::updateUI(bool anyUnconfirmed) { - ui - > unconfirmedWarning - > setVisible(anyUnconfirmed); +void Controller::updateUI(bool anyUnconfirmed) +{ + ui->unconfirmedWarning->setVisible(anyUnconfirmed); // Update balances model data, which will update the table too - balancesTableModel - > setNewData( - model - > getAllZAddresses(), - model - > getAllTAddresses(), - model - > getAllBalances(), - model - > getUTXOs() + balancesTableModel->setNewData( + model->getAllZAddresses(), + model->getAllTAddresses(), + model->getAllBalances(), + model->getUTXOs() ); }; // Function to process reply of the listunspent and z_listunspent API calls, used below. -void Controller::processUnspent(const json & reply, QMap < QString, CAmount > * balancesMap, QList < UnspentOutput > * unspentOutputs) { - auto processFn = [ = ](const json & array) { - for (auto & it: array) { - QString qsAddr = QString::fromStdString(it["address"]); - int block = it["created_in_block"].get < json::number_unsigned_t > (); - QString txid = QString::fromStdString(it["created_in_txid"]); - CAmount amount = CAmount::fromqint64(it["value"].get < json::number_unsigned_t > ()); - - bool spendable = it["unconfirmed_spent"].is_null() && it["spent"].is_null(); // TODO: Wait for 4 confirmations - bool pending = !it["unconfirmed_spent"].is_null(); - - unspentOutputs - > push_back( - UnspentOutput { - qsAddr, - txid, - amount, - block, - spendable, - pending - } +void Controller::processUnspent(const json& reply, QMap* balancesMap, QList* unspentOutputs) { + auto processFn = [=](const json& array) { + for (auto& it : array) + { + QString qsAddr = QString::fromStdString(it["address"]); + int block = it["created_in_block"].get(); + QString txid = QString::fromStdString(it["created_in_txid"]); + CAmount amount = CAmount::fromqint64(it["value"].get()); + + bool spendable = it["unconfirmed_spent"].is_null() && it["spent"].is_null(); // TODO: Wait for 4 confirmations + bool pending = !it["unconfirmed_spent"].is_null(); + + unspentOutputs->push_back( + UnspentOutput{ qsAddr, txid, amount, block, spendable, pending } ); - if (spendable) { - ( * balancesMap)[qsAddr] = ( * balancesMap)[qsAddr] + - CAmount::fromqint64(it["value"].get < json::number_unsigned_t > ()); + if (spendable) + { + (*balancesMap)[qsAddr] = (*balancesMap)[qsAddr] + + CAmount::fromqint64(it["value"].get()); } } }; - processFn(reply["unspent_notes"].get < json::array_t > ()); - processFn(reply["utxos"].get < json::array_t > ()); - processFn(reply["pending_notes"].get < json::array_t > ()); - processFn(reply["pending_utxos"].get < json::array_t > ()); + processFn(reply["unspent_notes"].get()); + processFn(reply["utxos"].get()); + processFn(reply["pending_notes"].get()); + processFn(reply["pending_utxos"].get()); }; -void Controller::updateUIBalances() { - CAmount balT = getModel() - > getBalT(); - CAmount balZ = getModel() - > getBalZ(); - CAmount balVerified = getModel() - > getBalVerified(); +void Controller::updateUIBalances() +{ + CAmount balT = getModel()->getBalT(); + CAmount balZ = getModel()->getBalZ(); + CAmount balVerified = getModel()->getBalVerified(); // Reduce the BalanceZ by the pending outgoing amount. We're adding // here because totalPending is already negative for outgoing txns. - balZ = balZ + getModel() - > getTotalPending(); + balZ = balZ + getModel()->getTotalPending(); - CAmount balTotal = balT + balZ; + CAmount balTotal = balT + balZ; CAmount balAvailable = balT + balVerified; - if (balZ < 0) + if (balZ < 0) balZ = CAmount::fromqint64(0); // Balances table - ui - > balSheilded - > setText(balZ.toDecimalhushString()); - ui - > balVerified - > setText(balVerified.toDecimalhushString()); - ui - > balTransparent - > setText(balT.toDecimalhushString()); - ui - > balTotal - > setText(balTotal.toDecimalhushString()); - - if (Settings::getInstance() - > get_currency_name() == "USD") { - ui - > balSheilded - > setToolTip(balZ.toDecimalUSDString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalUSDString()); - ui - > balTransparent - > setToolTip(balT.toDecimalUSDString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalUSDString()); - - } else if (Settings::getInstance() - > get_currency_name() == "EUR") { - ui - > balSheilded - > setToolTip(balZ.toDecimalEURString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalEURString()); - ui - > balTransparent - > setToolTip(balT.toDecimalEURString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalEURString()); - - } else if (Settings::getInstance() - > get_currency_name() == "BTC") { - ui - > balSheilded - > setToolTip(balZ.toDecimalBTCString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalBTCString()); - ui - > balTransparent - > setToolTip(balT.toDecimalBTCString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalBTCString()); - - } else if (Settings::getInstance() - > get_currency_name() == "CNY") { - ui - > balSheilded - > setToolTip(balZ.toDecimalCNYString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalCNYString()); - ui - > balTransparent - > setToolTip(balT.toDecimalCNYString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalCNYString()); - - } else if (Settings::getInstance() - > get_currency_name() == "RUB") { - ui - > balSheilded - > setToolTip(balZ.toDecimalRUBString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalRUBString()); - ui - > balTransparent - > setToolTip(balT.toDecimalRUBString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalRUBString()); - - } else if (Settings::getInstance() - > get_currency_name() == "CAD") { - ui - > balSheilded - > setToolTip(balZ.toDecimalCADString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalCADString()); - ui - > balTransparent - > setToolTip(balT.toDecimalCADString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalCADString()); - - } else if (Settings::getInstance() - > get_currency_name() == "SGD") { - ui - > balSheilded - > setToolTip(balZ.toDecimalSGDString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalSGDString()); - ui - > balTransparent - > setToolTip(balT.toDecimalSGDString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalSGDString()); - - } else if (Settings::getInstance() - > get_currency_name() == "CHF") { - ui - > balSheilded - > setToolTip(balZ.toDecimalCHFString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalCHFString()); - ui - > balTransparent - > setToolTip(balT.toDecimalCHFString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalCHFString()); - - } else if (Settings::getInstance() - > get_currency_name() == "INR") { - ui - > balSheilded - > setToolTip(balZ.toDecimalINRString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalINRString()); - ui - > balTransparent - > setToolTip(balT.toDecimalINRString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalINRString()); - - } else if (Settings::getInstance() - > get_currency_name() == "GBP") { - ui - > balSheilded - > setToolTip(balZ.toDecimalGBPString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalGBPString()); - ui - > balTransparent - > setToolTip(balT.toDecimalGBPString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalGBPString()); - - } else if (Settings::getInstance() - > get_currency_name() == "AUD") { - ui - > balSheilded - > setToolTip(balZ.toDecimalAUDString()); - ui - > balVerified - > setToolTip(balVerified.toDecimalAUDString()); - ui - > balTransparent - > setToolTip(balT.toDecimalAUDString()); - ui - > balTotal - > setToolTip(balTotal.toDecimalAUDString()); + ui->balSheilded->setText(balZ.toDecimalhushString()); + ui->balVerified->setText(balVerified.toDecimalhushString()); + ui->balTransparent->setText(balT.toDecimalhushString()); + ui->balTotal->setText(balTotal.toDecimalhushString()); + + if (Settings::getInstance()->get_currency_name() == "USD") + { + ui->balSheilded->setToolTip(balZ.toDecimalUSDString()); + ui->balVerified->setToolTip(balVerified.toDecimalUSDString()); + ui->balTransparent->setToolTip(balT.toDecimalUSDString()); + ui->balTotal->setToolTip(balTotal.toDecimalUSDString()); + + } + else if (Settings::getInstance()->get_currency_name() == "EUR") + { + ui->balSheilded->setToolTip(balZ.toDecimalEURString()); + ui->balVerified->setToolTip(balVerified.toDecimalEURString()); + ui->balTransparent->setToolTip(balT.toDecimalEURString()); + ui->balTotal->setToolTip(balTotal.toDecimalEURString()); + + } + else if (Settings::getInstance()->get_currency_name() == "BTC") + { + ui->balSheilded->setToolTip(balZ.toDecimalBTCString()); + ui->balVerified->setToolTip(balVerified.toDecimalBTCString()); + ui->balTransparent->setToolTip(balT.toDecimalBTCString()); + ui->balTotal->setToolTip(balTotal.toDecimalBTCString()); + + } + else if (Settings::getInstance()->get_currency_name() == "CNY") + { + ui->balSheilded->setToolTip(balZ.toDecimalCNYString()); + ui->balVerified->setToolTip(balVerified.toDecimalCNYString()); + ui->balTransparent->setToolTip(balT.toDecimalCNYString()); + ui->balTotal->setToolTip(balTotal.toDecimalCNYString()); + + } + else if (Settings::getInstance()->get_currency_name() == "RUB") + { + ui->balSheilded->setToolTip(balZ.toDecimalRUBString()); + ui->balVerified->setToolTip(balVerified.toDecimalRUBString()); + ui->balTransparent->setToolTip(balT.toDecimalRUBString()); + ui->balTotal->setToolTip(balTotal.toDecimalRUBString()); + + } + else if (Settings::getInstance()->get_currency_name() == "CAD") + { + ui->balSheilded->setToolTip(balZ.toDecimalCADString()); + ui->balVerified->setToolTip(balVerified.toDecimalCADString()); + ui->balTransparent->setToolTip(balT.toDecimalCADString()); + ui->balTotal->setToolTip(balTotal.toDecimalCADString()); + + } + else if (Settings::getInstance()->get_currency_name() == "SGD") + { + ui->balSheilded->setToolTip(balZ.toDecimalSGDString()); + ui->balVerified->setToolTip(balVerified.toDecimalSGDString()); + ui->balTransparent->setToolTip(balT.toDecimalSGDString()); + ui->balTotal->setToolTip(balTotal.toDecimalSGDString()); + + } + else if (Settings::getInstance()->get_currency_name() == "CHF") + { + ui->balSheilded->setToolTip(balZ.toDecimalCHFString()); + ui->balVerified->setToolTip(balVerified.toDecimalCHFString()); + ui->balTransparent->setToolTip(balT.toDecimalCHFString()); + ui->balTotal->setToolTip(balTotal.toDecimalCHFString()); + + } + else if (Settings::getInstance()->get_currency_name() == "INR") + { + ui->balSheilded->setToolTip(balZ.toDecimalINRString()); + ui->balVerified->setToolTip(balVerified.toDecimalINRString()); + ui->balTransparent->setToolTip(balT.toDecimalINRString()); + ui->balTotal->setToolTip(balTotal.toDecimalINRString()); + + } + else if (Settings::getInstance()->get_currency_name() == "GBP") + { + ui->balSheilded ->setToolTip(balZ.toDecimalGBPString()); + ui->balVerified ->setToolTip(balVerified.toDecimalGBPString()); + ui->balTransparent->setToolTip(balT.toDecimalGBPString()); + ui->balTotal ->setToolTip(balTotal.toDecimalGBPString()); + + } + else if (Settings::getInstance()->get_currency_name() == "AUD") + { + ui->balSheilded ->setToolTip(balZ.toDecimalAUDString()); + ui->balVerified ->setToolTip(balVerified.toDecimalAUDString()); + ui->balTransparent->setToolTip(balT.toDecimalAUDString()); + ui->balTotal ->setToolTip(balTotal.toDecimalAUDString()); } // Send tab - ui - > txtAvailablehush - > setText(balAvailable.toDecimalhushString()); + ui->txtAvailablehush->setText(balAvailable.toDecimalhushString()); - if (Settings::getInstance() - > get_currency_name() == "USD") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalUSDString()); + if (Settings::getInstance()->get_currency_name() == "USD") + ui->txtAvailableUSD->setText(balAvailable.toDecimalUSDString()); - else if (Settings::getInstance() - > get_currency_name() == "EUR") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalEURString()); + else if (Settings::getInstance()->get_currency_name() == "EUR") + ui->txtAvailableUSD->setText(balAvailable.toDecimalEURString()); - else if (Settings::getInstance() - > get_currency_name() == "BTC") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalBTCString()); + else if (Settings::getInstance()->get_currency_name() == "BTC") + ui->txtAvailableUSD->setText(balAvailable.toDecimalBTCString()); - else if (Settings::getInstance() - > get_currency_name() == "CNY") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalCNYString()); + else if (Settings::getInstance()->get_currency_name() == "CNY") + ui->txtAvailableUSD->setText(balAvailable.toDecimalCNYString()); - else if (Settings::getInstance() - > get_currency_name() == "RUB") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalRUBString()); + else if (Settings::getInstance()->get_currency_name() == "RUB") + ui->txtAvailableUSD->setText(balAvailable.toDecimalRUBString()); - else if (Settings::getInstance() - > get_currency_name() == "CAD") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalCADString()); + else if (Settings::getInstance()->get_currency_name() == "CAD") + ui->txtAvailableUSD->setText(balAvailable.toDecimalCADString()); - else if (Settings::getInstance() - > get_currency_name() == "SGD") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalSGDString()); + else if (Settings::getInstance()->get_currency_name() == "SGD") + ui->txtAvailableUSD->setText(balAvailable.toDecimalSGDString()); - else if (Settings::getInstance() - > get_currency_name() == "CHF") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalCHFString()); + else if (Settings::getInstance()->get_currency_name() == "CHF") + ui->txtAvailableUSD->setText(balAvailable.toDecimalCHFString()); - else if (Settings::getInstance() - > get_currency_name() == "INR") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalINRString()); + else if (Settings::getInstance()->get_currency_name() == "INR") + ui->txtAvailableUSD->setText(balAvailable.toDecimalINRString()); - else if (Settings::getInstance() - > get_currency_name() == "GBP") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalGBPString()); + else if (Settings::getInstance()->get_currency_name() == "GBP") + ui->txtAvailableUSD->setText(balAvailable.toDecimalGBPString()); - else if (Settings::getInstance() - > get_currency_name() == "AUD") - ui - > txtAvailableUSD - > setText(balAvailable.toDecimalAUDString()); + else if (Settings::getInstance()->get_currency_name() == "AUD") + ui->txtAvailableUSD->setText(balAvailable.toDecimalAUDString()); } -void Controller::refreshBalances() { - if (!zrpc - > haveConnection()) +void Controller::refreshBalances() +{ + if (!zrpc->haveConnection()) return noConnection(); // 1. Get the Balances - zrpc - > fetchBalance([ = ](json reply) { - CAmount balT = CAmount::fromqint64(reply["tbalance"].get < json::number_unsigned_t > ()); - CAmount balZ = CAmount::fromqint64(reply["zbalance"].get < json::number_unsigned_t > ()); - CAmount balVerified = CAmount::fromqint64(reply["verified_zbalance"].get < json::number_unsigned_t > ()); - - model - > setBalT(balT); - model - > setBalZ(balZ); - model - > setBalVerified(balVerified); + zrpc->fetchBalance([=] (json reply) { + CAmount balT = CAmount::fromqint64(reply["tbalance"].get()); + CAmount balZ = CAmount::fromqint64(reply["zbalance"].get()); + CAmount balVerified = CAmount::fromqint64(reply["verified_zbalance"].get()); + + model->setBalT(balT); + model->setBalZ(balZ); + model->setBalVerified(balVerified); // This is for the websockets - AppDataModel::getInstance() - > setBalances(balT, balZ); - + AppDataModel::getInstance()->setBalances(balT, balZ); + // This is for the datamodel CAmount balAvailable = balT + balVerified; - model - > setAvailableBalance(balAvailable); + model->setAvailableBalance(balAvailable); updateUIBalances(); }); // 2. Get the UTXOs // First, create a new UTXO list. It will be replacing the existing list when everything is processed. - auto newUnspentOutputs = new QList < UnspentOutput > (); - auto newBalances = new QMap < QString, CAmount > (); + auto newUnspentOutputs = new QList(); + auto newBalances = new QMap(); // Call the Transparent and Z unspent APIs serially and then, once they're done, update the UI - zrpc - > fetchUnspent([ = ](json reply) { + zrpc->fetchUnspent([=] (json reply) { processUnspent(reply, newBalances, newUnspentOutputs); // Swap out the balances and UTXOs - model - > replaceBalances(newBalances); - model - > replaceUTXOs(newUnspentOutputs); + model->replaceBalances(newBalances); + model->replaceUTXOs(newUnspentOutputs); // Find if any output is not spendable or is pending bool anyUnconfirmed = std::find_if( - newUnspentOutputs - > constBegin(), - newUnspentOutputs - > constEnd(), - [ = ](const UnspentOutput & u) - > bool { - return !u.spendable || u.pending; + newUnspentOutputs->constBegin(), + newUnspentOutputs->constEnd(), + [=](const UnspentOutput& u) -> bool { + return !u.spendable || u.pending; } - ) != newUnspentOutputs - > constEnd(); + ) != newUnspentOutputs->constEnd(); updateUI(anyUnconfirmed); - main - > balancesReady(); + main->balancesReady(); }); } -void Controller::refreshTransactions() { - if (!zrpc - > haveConnection()) +void Controller::refreshTransactions() { + if (!zrpc->haveConnection()) return noConnection(); - zrpc - > fetchTransactions([ = ](json reply) { - QList < TransactionItem > txdata; + zrpc->fetchTransactions([=] (json reply) { + QList txdata; - for (auto & it: reply.get < json::array_t > ()) { + for (auto& it : reply.get()) { QString address; CAmount total_amount; - QList < TransactionItemDetail > items; + QList items; long confirmations; - if (it.find("unconfirmed") != it.end() && it["unconfirmed"].get < json::boolean_t > ()) { + if (it.find("unconfirmed") != it.end() && it["unconfirmed"].get()) { confirmations = 0; } else { - confirmations = model - > getLatestBlock() - it["block_height"].get < json::number_integer_t > () + 1; + confirmations = model->getLatestBlock() - it["block_height"].get() + 1; } - + auto txid = QString::fromStdString(it["txid"]); - auto datetime = it["datetime"].get < json::number_integer_t > (); - + auto datetime = it["datetime"].get(); + // First, check if there's outgoing metadata if (!it["outgoing_metadata"].is_null()) { - - for (auto o: it["outgoing_metadata"].get < json::array_t > ()) { - - QString address; - + + for (auto o: it["outgoing_metadata"].get()) { + + QString address; + address = QString::fromStdString(o["address"]); - + // Sent items are -ve - CAmount amount = CAmount::fromqint64(-1 * o["value"].get < json::number_unsigned_t > ()); - - // Check for Memos - + CAmount amount = CAmount::fromqint64(-1* o["value"].get()); + + // Check for Memos + QString memo; if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"]); - QString cid; + QString cid; ChatItem item = ChatItem( - datetime, - address, - QString(""), - memo, - QString(""), - QString(""), - cid, - txid, - true - ); - qDebug() << "Memo : " << memo; - - DataStore::getChatDataStore() - > setData(ChatIDGenerator::getInstance() - > generateID(item), item); - - } - - items.push_back(TransactionItemDetail { - address, - amount, - memo - }); + datetime, + address, + QString(""), + memo, + QString(""), + QString(""), + cid, + txid, + true + ); + qDebug()<<"Memo : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); + + } + + items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; } - + { - QList < QString > addresses; - for (auto item: items) { - // Concat all the addresses - - addresses.push_back(item.address); - address = addresses.join(","); + QList addresses; + for (auto item : items) { + // Concat all the addresses + + + addresses.push_back(item.address); + address = addresses.join(","); } - - } - - txdata.push_back(TransactionItem { - "send", - datetime, - address, - txid, - confirmations, - items + + } + + txdata.push_back(TransactionItem{ + "send", datetime, address, txid,confirmations, items }); - + } else { // Incoming Transaction address = (it["address"].is_null() ? "" : QString::fromStdString(it["address"])); - model - > markAddressUsed(address); + model->markAddressUsed(address); QString memo; + QString test; if (!it["memo"].is_null()) { memo = QString::fromStdString(it["memo"]); } - items.push_back(TransactionItemDetail { + items.push_back(TransactionItemDetail{ address, - CAmount::fromqint64(it["amount"].get < json::number_integer_t > ()), + CAmount::fromqint64(it["amount"].get()), memo }); - TransactionItem tx { - "Receive", - datetime, - address, - txid, - confirmations, - items + TransactionItem tx{ + "Receive", datetime, address, txid,confirmations, items }; txdata.push_back(tx); - - QString type; - QString cid; - int position; - QString requestZaddr; + + QString type; + QString cid; + int position; + QString requestZaddr; if (!it["memo"].is_null()) { - if (memo.startsWith("{")) { - - QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); - - cid = headermemo["cid"].toString(); - type = headermemo["t"].toString(); - requestZaddr = headermemo["z"].toString(); - - chatModel - > addCid(txid, cid); - chatModel - > addrequestZaddr(txid, requestZaddr); + if (memo.startsWith("{")) { - } + QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); - if (chatModel - > getCidByTx(txid) != QString("0xdeadbeef")) { + cid = headermemo["cid"].toString(); + type = headermemo["t"].toString(); + requestZaddr = headermemo["z"].toString(); - cid = chatModel - > getCidByTx(txid); + chatModel->addCid(txid, cid); + chatModel->addrequestZaddr(txid, requestZaddr); - } else { - cid = ""; - } + } + + if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ - if (chatModel - > getrequestZaddrByTx(txid) != QString("0xdeadbeef")) { + cid = chatModel->getCidByTx(txid); - requestZaddr = chatModel - > getrequestZaddrByTx(txid); - } else { - requestZaddr = ""; + }else{ + cid = ""; } - position = it["position"].get < json::number_integer_t > (); + + if (chatModel->getrequestZaddrByTx(txid) != QString("0xdeadbeef")){ + + requestZaddr = chatModel->getrequestZaddrByTx(txid); + }else{ + requestZaddr = ""; + } + position = it["position"].get(); ChatItem item = ChatItem( - datetime, - address, - QString(""), - memo, - requestZaddr, - type, - cid, - txid, - false - ); - qDebug() << "Position : " << position; - - DataStore::getChatDataStore() - > setData(ChatIDGenerator::getInstance() - > generateID(item), item); - } + datetime, + address, + QString(""), + memo, + requestZaddr, + type, + cid, + txid, + false + ); + qDebug()<< "Position : " << position; + + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); + } } - + } // Calculate the total unspent amount that's pending. This will need to be // shown in the UI so the user can keep track of pending funds CAmount totalPending; - for (auto txitem: txdata) { + for (auto txitem : txdata) { if (txitem.confirmations == 0) { for (auto item: txitem.items) { totalPending = totalPending + item.amount; } } } - getModel() - > setTotalPending(totalPending); + getModel()->setTotalPending(totalPending); // Update UI Balance updateUIBalances(); - // Update model data, which updates the table view - transactionsTableModel - > replaceData(txdata); - chat - > renderChatBox(ui, ui - > listChat); + // Update model data, which updates the table view + transactionsTableModel->replaceData(txdata); + chat->renderChatBox(ui, ui->listChat); refreshContacts( - ui - > listContactWidget - + ui->listContactWidget + ); - }); + }); } -void Controller::refreshChat(QListView * listWidget) { - chat - > renderChatBox(ui, listWidget); - +void Controller::refreshChat(QListView *listWidget) +{ + chat->renderChatBox(ui, listWidget); + } -void Controller::refreshContacts(QListView * listWidget) { - contactModel - > renderContactList(listWidget); +void Controller::refreshContacts(QListView *listWidget) +{ + contactModel->renderContactList(listWidget); } // If the wallet is encrpyted and locked, we need to unlock it -void Controller::unlockIfEncrypted(std:: function < void(void) > cb, std:: function < void(void) > error) { - auto encStatus = getModel() - > getEncryptionStatus(); - if (encStatus.first && encStatus.second) { +void Controller::unlockIfEncrypted(std::function cb, std::function error) +{ + auto encStatus = getModel()->getEncryptionStatus(); + if (encStatus.first && encStatus.second) + { // Wallet is encrypted and locked. Ask for the password and unlock. QString password = QInputDialog::getText( - main, - main - > tr("Wallet Password"), - main - > tr("Your wallet is encrypted.\nPlease enter your wallet password"), + main, + main->tr("Wallet Password"), + main->tr("Your wallet is encrypted.\nPlease enter your wallet password"), QLineEdit::Password ); - if (password.isEmpty()) { + if (password.isEmpty()) + { QMessageBox::critical( - main, - main - > tr("Wallet Decryption Failed"), - main - > tr("Please enter a valid password"), + main, + main->tr("Wallet Decryption Failed"), + main->tr("Please enter a valid password"), QMessageBox::Ok ); error(); return; } - zrpc - > unlockWallet(password, [ = ](json reply) { - if (isJsonResultSuccess(reply)) { + zrpc->unlockWallet(password, [=](json reply) { + if (isJsonResultSuccess(reply)) + { cb(); // Refresh the wallet so the encryption status is now in sync. refresh(true); - } else { + } + else + { QMessageBox::critical( - main, - main - > tr("Wallet Decryption Failed"), - QString::fromStdString(reply["error"].get < json::string_t > ()), + main, + main->tr("Wallet Decryption Failed"), + QString::fromStdString(reply["error"].get()), QMessageBox::Ok ); error(); } }); - } else { + } + else + { // Not locked, so just call the function cb(); } @@ -1023,75 +1077,86 @@ void Controller::unlockIfEncrypted(std:: function < void(void) > cb, std:: funct * Execute a transaction with the standard UI. i.e., standard status bar message and standard error * handling */ -void Controller::executeStandardUITransaction(Tx tx) { - executeTransaction(tx, [ = ](QString txid) { - ui - > statusBar - > showMessage(Settings::txidStatusMessage + " " + txid); +void Controller::executeStandardUITransaction(Tx tx) +{ + executeTransaction(tx, [=] (QString txid) { + ui->statusBar->showMessage(Settings::txidStatusMessage + " " + txid); }, - [ = ](QString opid, QString errStr) { - ui - > statusBar - > showMessage( + [=] (QString opid, QString errStr) { + ui->statusBar->showMessage( QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000 ); if (!opid.isEmpty()) - errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; + errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; QMessageBox::critical( - main, - QObject::tr("Transaction Error"), - errStr, + main, + QObject::tr("Transaction Error"), + errStr, QMessageBox::Ok - ); + ); } ); } + // Execute a transaction! -void Controller::executeTransaction(Tx tx, - const std:: function < void(QString txid) > submitted, - const std:: function < void(QString txid, QString errStr) > error) { - unlockIfEncrypted([ = ]() { +void Controller::executeTransaction(Tx tx, + const std::function submitted, + const std::function error) +{ + unlockIfEncrypted([=] () { // First, create the json params json params = json::array(); fillTxJsonParams(params, tx); std::cout << std::setw(2) << params << std::endl; - zrpc - > sendTransaction(QString::fromStdString(params.dump()), [ = ](const json & reply) { - if (reply.find("txid") == reply.end()) { - error("", "Couldn't understand Response: " + QString::fromStdString(reply.dump())); - } else { - QString txid = QString::fromStdString(reply["txid"].get < json::string_t > ()); - submitted(txid); - } - }, - [ = ](QString errStr) { - error("", errStr); - }); - }, [ = ]() { - error("", main - > tr("Failed to unlock wallet")); + zrpc->sendTransaction(QString::fromStdString(params.dump()), [=](const json& reply) { + if (reply.find("txid") == reply.end()) + { + error("", "Couldn't understand Response: " + QString::fromStdString(reply.dump())); + } + else + { + QString txid = QString::fromStdString(reply["txid"].get()); + submitted(txid); + } + }, + [=](QString errStr) { + error("", errStr); + }); + }, [=]() { + error("", main->tr("Failed to unlock wallet")); }); } -void Controller::checkForUpdate(bool silent) { - if (!zrpc - > haveConnection()) + +void Controller::checkForUpdate(bool silent) +{ + if (!zrpc->haveConnection()) return noConnection(); QUrl cmcURL("https://api.github.com/repos/MyHush/SilentDragonLite/releases"); QNetworkRequest req; req.setUrl(cmcURL); + + QNetworkAccessManager *manager = new QNetworkAccessManager(this->main); + QNetworkReply *reply = manager->get(req); - QNetworkAccessManager * manager = new QNetworkAccessManager(this - > main); - QNetworkReply * reply = manager - > get(req); + QObject::connect(reply, &QNetworkReply::finished, [=] { + reply->deleteLater(); + manager->deleteLater(); - QObject::connect(reply, & QNetworkReply::finished, [ = ] { - reply - > deleteLater(); - manager - > deleteLater(); - - try { - if (reply - > error() == QNetworkReply::NoError) { - auto releases = QJsonDocument::fromJson(reply - > readAll()).array(); + try + { + if (reply->error() == QNetworkReply::NoError) + { + auto releases = QJsonDocument::fromJson(reply->readAll()).array(); QVersionNumber maxVersion(0, 0, 0); - for (QJsonValue rel: releases) { + for (QJsonValue rel : releases) + { if (!rel.toObject().contains("tag_name")) continue; @@ -1099,7 +1164,8 @@ void Controller::checkForUpdate(bool silent) { if (tag.startsWith("v")) tag = tag.right(tag.length() - 1); - if (!tag.isEmpty()) { + if (!tag.isEmpty()) + { auto v = QVersionNumber::fromString(tag); if (v > maxVersion) maxVersion = v; @@ -1107,367 +1173,418 @@ void Controller::checkForUpdate(bool silent) { } auto currentVersion = QVersionNumber::fromString(APP_VERSION); - + // Get the max version that the user has hidden updates for QSettings s; auto maxHiddenVersion = QVersionNumber::fromString( - s.value("update/lastversion", "0.0.0").toString()); + s.value("update/lastversion", "0.0.0" + ).toString()); qDebug() << "Version check: Current " << currentVersion << ", Available " << maxVersion; - if (maxVersion > currentVersion && (!silent || maxVersion > maxHiddenVersion)) { - auto ans = QMessageBox::information(main, QObject::tr("Update Available"), + if (maxVersion > currentVersion && (!silent || maxVersion > maxHiddenVersion)) + { + auto ans = QMessageBox::information(main, QObject::tr("Update Available"), QObject::tr("A new release v%1 is available! You have v%2.\n\nWould you like to visit the releases page?") - .arg(maxVersion.toString()) - .arg(currentVersion.toString()), + .arg(maxVersion.toString()) + .arg(currentVersion.toString()), QMessageBox::Yes, QMessageBox::Cancel); - if (ans == QMessageBox::Yes) { + if (ans == QMessageBox::Yes) + { QDesktopServices::openUrl(QUrl("https://github.com/MyHush/SilentDragonLite/releases")); - } else { + } + else + { // If the user selects cancel, don't bother them again for this version s.setValue("update/lastversion", maxVersion.toString()); } - } else { - if (!silent) { - QMessageBox::information(main, QObject::tr("No updates available"), + } + else + { + if (!silent) + { + QMessageBox::information(main, QObject::tr("No updates available"), QObject::tr("You already have the latest release v%1") - .arg(currentVersion.toString())); + .arg(currentVersion.toString())); } - } + } } - } catch (...) { + } + catch (...) + { // If anything at all goes wrong, just set the price to 0 and move on. qDebug() << QString("Caught something nasty"); - } + } }); } // Get the hush->USD price from coinmarketcap using their API -void Controller::refreshZECPrice() { - if (!zrpc - > haveConnection()) +void Controller::refreshZECPrice() +{ + if (!zrpc->haveConnection()) return noConnection(); - // TODO: use/render all this data + // TODO: use/render all this data QUrl cmcURL("https://api.coingecko.com/api/v3/simple/price?ids=hush&vs_currencies=btc%2Cusd%2Ceur%2Ceth%2Cgbp%2Ccny%2Cjpy%2Crub%2Ccad%2Csgd%2Cchf%2Cinr%2Caud%2Cinr&include_market_cap=true&include_24hr_vol=true&include_24hr_change=true"); - + QNetworkRequest req; req.setUrl(cmcURL); - QNetworkAccessManager * manager = new QNetworkAccessManager(this - > main); - QNetworkReply * reply = manager - > get(req); - QObject::connect(reply, & QNetworkReply::finished, [ = ] { - reply - > deleteLater(); - manager - > deleteLater(); - - try { - if (reply - > error() != QNetworkReply::NoError) { - auto parsed = json::parse(reply - > readAll(), nullptr, false); - if (!parsed.is_discarded() && !parsed["error"]["message"].is_null()) + QNetworkAccessManager *manager = new QNetworkAccessManager(this->main); + QNetworkReply *reply = manager->get(req); + QObject::connect(reply, &QNetworkReply::finished, [=] { + reply->deleteLater(); + manager->deleteLater(); + + try + { + if (reply->error() != QNetworkReply::NoError) + { + auto parsed = json::parse(reply->readAll(), nullptr, false); + if (!parsed.is_discarded() && !parsed["error"]["message"].is_null()) qDebug() << QString::fromStdString(parsed["error"]["message"]); else - qDebug() << reply - > errorString(); - - Settings::getInstance() - > setZECPrice(0); - Settings::getInstance() - > setEURPrice(0); - Settings::getInstance() - > setBTCPrice(0); - Settings::getInstance() - > setCNYPrice(0); - Settings::getInstance() - > setRUBPrice(0); - Settings::getInstance() - > setCADPrice(0); - Settings::getInstance() - > setSGDPrice(0); - Settings::getInstance() - > setCHFPrice(0); - Settings::getInstance() - > setGBPPrice(0); - Settings::getInstance() - > setAUDPrice(0); - Settings::getInstance() - > setINRPrice(0); - Settings::getInstance() - > setUSDVolume(0); - Settings::getInstance() - > setEURVolume(0); - Settings::getInstance() - > setBTCVolume(0); - Settings::getInstance() - > setCNYVolume(0); - Settings::getInstance() - > setRUBVolume(0); - Settings::getInstance() - > setCADVolume(0); - Settings::getInstance() - > setINRVolume(0); - Settings::getInstance() - > setSGDVolume(0); - Settings::getInstance() - > setCHFVolume(0); - Settings::getInstance() - > setGBPVolume(0); - Settings::getInstance() - > setAUDVolume(0); - Settings::getInstance() - > setUSDCAP(0); - Settings::getInstance() - > setEURCAP(0); - Settings::getInstance() - > setBTCCAP(0); - Settings::getInstance() - > setCNYCAP(0); - Settings::getInstance() - > setRUBCAP(0); - Settings::getInstance() - > setCADCAP(0); - Settings::getInstance() - > setINRCAP(0); - Settings::getInstance() - > setSGDCAP(0); - Settings::getInstance() - > setCHFCAP(0); - Settings::getInstance() - > setGBPCAP(0); - Settings::getInstance() - > setAUDCAP(0); + qDebug() << reply->errorString(); + + Settings::getInstance()->setZECPrice(0); + Settings::getInstance()->setEURPrice(0); + Settings::getInstance()->setBTCPrice(0); + Settings::getInstance()->setCNYPrice(0); + Settings::getInstance()->setRUBPrice(0); + Settings::getInstance()->setCADPrice(0); + Settings::getInstance()->setSGDPrice(0); + Settings::getInstance()->setCHFPrice(0); + Settings::getInstance()->setGBPPrice(0); + Settings::getInstance()->setAUDPrice(0); + Settings::getInstance()->setINRPrice(0); + Settings::getInstance()->setUSDVolume(0); + Settings::getInstance()->setEURVolume(0); + Settings::getInstance()->setBTCVolume(0); + Settings::getInstance()->setCNYVolume(0); + Settings::getInstance()->setRUBVolume(0); + Settings::getInstance()->setCADVolume(0); + Settings::getInstance()->setINRVolume(0); + Settings::getInstance()->setSGDVolume(0); + Settings::getInstance()->setCHFVolume(0); + Settings::getInstance()->setGBPVolume(0); + Settings::getInstance()->setAUDVolume(0); + Settings::getInstance()->setUSDCAP(0); + Settings::getInstance()->setEURCAP(0); + Settings::getInstance()->setBTCCAP(0); + Settings::getInstance()->setCNYCAP(0); + Settings::getInstance()->setRUBCAP(0); + Settings::getInstance()->setCADCAP(0); + Settings::getInstance()->setINRCAP(0); + Settings::getInstance()->setSGDCAP(0); + Settings::getInstance()->setCHFCAP(0); + Settings::getInstance()->setGBPCAP(0); + Settings::getInstance()->setAUDCAP(0); return; } qDebug() << "No network errors"; - auto all = reply - > readAll(); + auto all = reply->readAll(); auto parsed = json::parse(all, nullptr, false); - if (parsed.is_discarded()) { - Settings::getInstance() - > setZECPrice(0); - Settings::getInstance() - > setEURPrice(0); - Settings::getInstance() - > setBTCPrice(0); - Settings::getInstance() - > setCNYPrice(0); - Settings::getInstance() - > setRUBPrice(0); - Settings::getInstance() - > setCADPrice(0); - Settings::getInstance() - > setSGDPrice(0); - Settings::getInstance() - > setCHFPrice(0); - Settings::getInstance() - > setGBPPrice(0); - Settings::getInstance() - > setAUDPrice(0); - Settings::getInstance() - > setINRPrice(0); - Settings::getInstance() - > setUSDVolume(0); - Settings::getInstance() - > setEURVolume(0); - Settings::getInstance() - > setBTCVolume(0); - Settings::getInstance() - > setCNYVolume(0); - Settings::getInstance() - > setRUBVolume(0); - Settings::getInstance() - > setCADVolume(0); - Settings::getInstance() - > setINRVolume(0); - Settings::getInstance() - > setSGDVolume(0); - Settings::getInstance() - > setCHFVolume(0); - Settings::getInstance() - > setGBPVolume(0); - Settings::getInstance() - > setAUDVolume(0); - Settings::getInstance() - > setUSDCAP(0); - Settings::getInstance() - > setEURCAP(0); - Settings::getInstance() - > setBTCCAP(0); - Settings::getInstance() - > setCNYCAP(0); - Settings::getInstance() - > setRUBCAP(0); - Settings::getInstance() - > setCADCAP(0); - Settings::getInstance() - > setINRCAP(0); - Settings::getInstance() - > setSGDCAP(0); - Settings::getInstance() - > setCHFCAP(0); - Settings::getInstance() - > setGBPCAP(0); - Settings::getInstance() - > setAUDCAP(0); + if (parsed.is_discarded()) + { + Settings::getInstance()->setZECPrice(0); + Settings::getInstance()->setEURPrice(0); + Settings::getInstance()->setBTCPrice(0); + Settings::getInstance()->setCNYPrice(0); + Settings::getInstance()->setRUBPrice(0); + Settings::getInstance()->setCADPrice(0); + Settings::getInstance()->setSGDPrice(0); + Settings::getInstance()->setCHFPrice(0); + Settings::getInstance()->setGBPPrice(0); + Settings::getInstance()->setAUDPrice(0); + Settings::getInstance()->setINRPrice(0); + Settings::getInstance()->setUSDVolume(0); + Settings::getInstance()->setEURVolume(0); + Settings::getInstance()->setBTCVolume(0); + Settings::getInstance()->setCNYVolume(0); + Settings::getInstance()->setRUBVolume(0); + Settings::getInstance()->setCADVolume(0); + Settings::getInstance()->setINRVolume(0); + Settings::getInstance()->setSGDVolume(0); + Settings::getInstance()->setCHFVolume(0); + Settings::getInstance()->setGBPVolume(0); + Settings::getInstance()->setAUDVolume(0); + Settings::getInstance()->setUSDCAP(0); + Settings::getInstance()->setEURCAP(0); + Settings::getInstance()->setBTCCAP(0); + Settings::getInstance()->setCNYCAP(0); + Settings::getInstance()->setRUBCAP(0); + Settings::getInstance()->setCADCAP(0); + Settings::getInstance()->setINRCAP(0); + Settings::getInstance()->setSGDCAP(0); + Settings::getInstance()->setCHFCAP(0); + Settings::getInstance()->setGBPCAP(0); + Settings::getInstance()->setAUDCAP(0); return; } qDebug() << "Parsed JSON"; - const json & item = parsed.get < json::object_t > (); - const json & hush = item["hush"].get < json::object_t > (); + const json& item = parsed.get(); + const json& hush = item["hush"].get(); - if (hush["usd"] >= 0) { + if (hush["usd"] >= 0) + { qDebug() << "Found hush key in price json"; - qDebug() << "HUSH = $" << QString::number((double) hush["usd"]); - Settings::getInstance() - > setZECPrice(hush["usd"]); + qDebug() << "HUSH = $" << QString::number((double)hush["usd"]); + Settings::getInstance()->setZECPrice( hush["usd"] ); } - if (hush["eur"] >= 0) { - qDebug() << "HUSH = €" << QString::number((double) hush["eur"]); - Settings::getInstance() - > setEURPrice(hush["eur"]); + if (hush["eur"] >= 0) + { + qDebug() << "HUSH = €" << QString::number((double)hush["eur"]); + Settings::getInstance()->setEURPrice(hush["eur"]); } - if (hush["btc"] >= 0) { - qDebug() << "HUSH = BTC" << QString::number((double) hush["btc"]); - Settings::getInstance() - > setBTCPrice(hush["btc"]); + if (hush["btc"] >= 0) + { + qDebug() << "HUSH = BTC" << QString::number((double)hush["btc"]); + Settings::getInstance()->setBTCPrice( hush["btc"]); } - if (hush["cny"] >= 0) { - qDebug() << "HUSH = CNY" << QString::number((double) hush["cny"]); - Settings::getInstance() - > setCNYPrice(hush["cny"]); + if (hush["cny"] >= 0) + { + qDebug() << "HUSH = CNY" << QString::number((double)hush["cny"]); + Settings::getInstance()->setCNYPrice( hush["cny"]); } - if (hush["rub"] >= 0) { - qDebug() << "HUSH = RUB" << QString::number((double) hush["rub"]); - Settings::getInstance() - > setRUBPrice(hush["rub"]); + if (hush["rub"] >= 0) + { + qDebug() << "HUSH = RUB" << QString::number((double)hush["rub"]); + Settings::getInstance()->setRUBPrice( hush["rub"]); } - if (hush["cad"] >= 0) { - qDebug() << "HUSH = CAD" << QString::number((double) hush["cad"]); - Settings::getInstance() - > setCADPrice(hush["cad"]); + if (hush["cad"] >= 0) + { + qDebug() << "HUSH = CAD" << QString::number((double)hush["cad"]); + Settings::getInstance()->setCADPrice( hush["cad"]); } - if (hush["sgd"] >= 0) { - qDebug() << "HUSH = SGD" << QString::number((double) hush["sgd"]); - Settings::getInstance() - > setSGDPrice(hush["sgd"]); + if (hush["sgd"] >= 0) + { + qDebug() << "HUSH = SGD" << QString::number((double)hush["sgd"]); + Settings::getInstance()->setSGDPrice( hush["sgd"]); } - if (hush["chf"] >= 0) { - qDebug() << "HUSH = CHF" << QString::number((double) hush["chf"]); - Settings::getInstance() - > setCHFPrice(hush["chf"]); + if (hush["chf"] >= 0) + { + qDebug() << "HUSH = CHF" << QString::number((double)hush["chf"]); + Settings::getInstance()->setCHFPrice( hush["chf"]); } - if (hush["inr"] >= 0) { - qDebug() << "HUSH = INR" << QString::number((double) hush["inr"]); - Settings::getInstance() - > setINRPrice(hush["inr"]); + if (hush["inr"] >= 0) + { + qDebug() << "HUSH = INR" << QString::number((double)hush["inr"]); + Settings::getInstance()->setINRPrice( hush["inr"]); } - if (hush["gbp"] >= 0) { - qDebug() << "HUSH = GBP" << QString::number((double) hush["gbp"]); - Settings::getInstance() - > setGBPPrice(hush["gbp"]); + if (hush["gbp"] >= 0) + { + qDebug() << "HUSH = GBP" << QString::number((double)hush["gbp"]); + Settings::getInstance()->setGBPPrice( hush["gbp"]); } - if (hush["aud"] >= 0) { - qDebug() << "HUSH = AUD" << QString::number((double) hush["aud"]); - Settings::getInstance() - > setAUDPrice(hush["aud"]); + if (hush["aud"] >= 0) + { + qDebug() << "HUSH = AUD" << QString::number((double)hush["aud"]); + Settings::getInstance()->setAUDPrice( hush["aud"]); } - if (hush["btc_24h_vol"] >= 0) { - qDebug() << "HUSH = usd_24h_vol" << QString::number((double) hush["usd_24h_vol"]); - Settings::getInstance() - > setUSDVolume(hush["usd_24h_vol"]); + if (hush["btc_24h_vol"] >= 0) + { + qDebug() << "HUSH = usd_24h_vol" << QString::number((double)hush["usd_24h_vol"]); + Settings::getInstance()->setUSDVolume( hush["usd_24h_vol"]); } - if (hush["btc_24h_vol"] >= 0) { - qDebug() << "HUSH = euro_24h_vol" << QString::number((double) hush["eur_24h_vol"]); - Settings::getInstance() - > setEURVolume(hush["eur_24h_vol"]); + if (hush["btc_24h_vol"] >= 0) + { + qDebug() << "HUSH = euro_24h_vol" << QString::number((double)hush["eur_24h_vol"]); + Settings::getInstance()->setEURVolume( hush["eur_24h_vol"]); } - if (hush["btc_24h_vol"] >= 0) { - qDebug() << "HUSH = btc_24h_vol" << QString::number((double) hush["btc_24h_vol"]); - Settings::getInstance() - > setBTCVolume(hush["btc_24h_vol"]); + if (hush["btc_24h_vol"] >= 0) + { + qDebug() << "HUSH = btc_24h_vol" << QString::number((double)hush["btc_24h_vol"]); + Settings::getInstance()->setBTCVolume( hush["btc_24h_vol"]); } - - if (hush["cny_24h_vol"] >= 0) { - qDebug() << "HUSH = cny_24h_vol" << QString::number((double) hush["cny_24h_vol"]); - Settings::getInstance() - > setCNYVolume(hush["cny_24h_vol"]); + + if (hush["cny_24h_vol"] >= 0) + { + qDebug() << "HUSH = cny_24h_vol" << QString::number((double)hush["cny_24h_vol"]); + Settings::getInstance()->setCNYVolume( hush["cny_24h_vol"]); } - if (hush["rub_24h_vol"] >= 0) { - qDebug() << "HUSH = rub_24h_vol" << QString::number((double) hush["rub_24h_vol"]); - Settings::getInstance() - > setRUBVolume(hush["rub_24h_vol"]); + if (hush["rub_24h_vol"] >= 0) + { + qDebug() << "HUSH = rub_24h_vol" << QString::number((double)hush["rub_24h_vol"]); + Settings::getInstance()->setRUBVolume( hush["rub_24h_vol"]); } - - if (hush["cad_24h_vol"] >= 0) { - qDebug() << "HUSH = cad_24h_vol" << QString::number((double) hush["cad_24h_vol"]); - Settings::getInstance() - > setCADVolume(hush["cad_24h_vol"]); + + if (hush["cad_24h_vol"] >= 0) + { + qDebug() << "HUSH = cad_24h_vol" << QString::number((double)hush["cad_24h_vol"]); + Settings::getInstance()->setCADVolume( hush["cad_24h_vol"]); } - if (hush["sgd_24h_vol"] >= 0) { - qDebug() << "HUSH = sgd_24h_vol" << QString::number((double) hush["sgd_24h_vol"]); - Settings::getInstance() - > setSGDVolume(hush["sgd_24h_vol"]); + if (hush["sgd_24h_vol"] >= 0) + { + qDebug() << "HUSH = sgd_24h_vol" << QString::number((double)hush["sgd_24h_vol"]); + Settings::getInstance()->setSGDVolume( hush["sgd_24h_vol"]); } - if (hush["chf_24h_vol"] >= 0) { - qDebug() << "HUSH = chf_24h_vol" << QString::number((double) hush["chf_24h_vol"]); - Settings::getInstance() - > setCHFVolume(hush["chf_24h_vol"]); + if (hush["chf_24h_vol"] >= 0) + { + qDebug() << "HUSH = chf_24h_vol" << QString::number((double)hush["chf_24h_vol"]); + Settings::getInstance()->setCHFVolume( hush["chf_24h_vol"]); } - if (hush["inr_24h_vol"] >= 0) { - qDebug() << "HUSH = inr_24h_vol" << QString::number((double) hush["inr_24h_vol"]); - Settings::getInstance() - > setINRVolume(hush["inr_24h_vol"]); + if (hush["inr_24h_vol"] >= 0) + { + qDebug() << "HUSH = inr_24h_vol" << QString::number((double)hush["inr_24h_vol"]); + Settings::getInstance()->setINRVolume( hush["inr_24h_vol"]); } - if (hush["gbp_24h_vol"] >= 0) { - qDebug() << "HUSH = gbp_24h_vol" << QString::number((double) hush["gbp_24h_vol"]); - Settings::getInstance() - > setGBPVolume(hush["gbp_24h_vol"]); + if (hush["gbp_24h_vol"] >= 0) + { + qDebug() << "HUSH = gbp_24h_vol" << QString::number((double)hush["gbp_24h_vol"]); + Settings::getInstance()->setGBPVolume( hush["gbp_24h_vol"]); } - if (hush["aud_24h_vol"] >= 0) { - qDebug() << "HUSH = aud_24h_vol" << QString::number((double) hush["aud_24h_vol"]); - Settings::getInstance() - > setAUDVolume(hush["aud_24h_vol"]); + if (hush["aud_24h_vol"] >= 0) + { + qDebug() << "HUSH = aud_24h_vol" << QString::number((double)hush["aud_24h_vol"]); + Settings::getInstance()->setAUDVolume( hush["aud_24h_vol"]); } - if (hush["usd_market_cap"] >= 0) { - qDebug() << "HUSH = usd_market_cap" << QString::number((double) hush["usd_market_cap"]); - Settings::getInstance() - > setUSDCAP(hush["usd_market_cap"]); + if (hush["usd_market_cap"] >= 0) + { + qDebug() << "HUSH = usd_market_cap" << QString::number((double)hush["usd_market_cap"]); + Settings::getInstance()->setUSDCAP( hush["usd_market_cap"]); } - if (hush["eur_market_cap"] >= 0) { - qDebug() << "HUSH = eur_market_cap" << QString::number((double) hush["eur_market_cap"]); - Settings::getInstance() - > setEURCAP(hush["eur_market_cap"]); + if (hush["eur_market_cap"] >= 0) + { + qDebug() << "HUSH = eur_market_cap" << QString::number((double)hush["eur_market_cap"]); + Settings::getInstance()->setEURCAP( hush["eur_market_cap"]); } - if (hush["btc_market_cap"] >= 0) { - qDebug() << "HUSH = btc_market_cap" << QString::number((double) hush["btc_market_cap"]); - Settings::getInstance() - > setBTCCAP(hush["btc_market_cap"]); + if (hush["btc_market_cap"] >= 0) + { + qDebug() << "HUSH = btc_market_cap" << QString::number((double)hush["btc_market_cap"]); + Settings::getInstance()->setBTCCAP( hush["btc_market_cap"]); } - if (hush["cny_market_cap"] >= 0) { - qDebug() << "HUSH = cny_market_cap" << QString::number((double) hush["cny_market_cap"]); - Settings::getInstance() - > setCNYCAP(hush["cny_market_cap"]); + if (hush["cny_market_cap"] >= 0) + { + qDebug() << "HUSH = cny_market_cap" << QString::number((double)hush["cny_market_cap"]); + Settings::getInstance()->setCNYCAP( hush["cny_market_cap"]); } - if (hush["rub_market_cap"] >= 0) { - qDebug() << "HUSH = rub_market_cap" << QString::number((double) hush["rub_market_cap"]); - Settings::getInstance() - > setRUBCAP(hush["rub_market_cap"]); + if (hush["rub_market_cap"] >= 0) + { + qDebug() << "HUSH = rub_market_cap" << QString::number((double)hush["rub_market_cap"]); + Settings::getInstance()->setRUBCAP( hush["rub_market_cap"]); } - if (hush["cad_market_cap"] >= 0) { - qDebug() << "HUSH = cad_market_cap" << QString::number((double) hush["cad_market_cap"]); - Settings::getInstance() - > setCADCAP(hush["cad_market_cap"]); + if (hush["cad_market_cap"] >= 0) + { + qDebug() << "HUSH = cad_market_cap" << QString::number((double)hush["cad_market_cap"]); + Settings::getInstance()->setCADCAP( hush["cad_market_cap"]); } - if (hush["sgd_market_cap"] >= 0) { - qDebug() << "HUSH = sgd_market_cap" << QString::number((double) hush["sgd_market_cap"]); - Settings::getInstance() - > setSGDCAP(hush["sgd_market_cap"]); + if (hush["sgd_market_cap"] >= 0) + { + qDebug() << "HUSH = sgd_market_cap" << QString::number((double)hush["sgd_market_cap"]); + Settings::getInstance()->setSGDCAP( hush["sgd_market_cap"]); } - if (hush["chf_market_cap"] >= 0) { - qDebug() << "HUSH = chf_market_cap" << QString::number((double) hush["chf_market_cap"]); - Settings::getInstance() - > setCHFCAP(hush["chf_market_cap"]); + if (hush["chf_market_cap"] >= 0) + { + qDebug() << "HUSH = chf_market_cap" << QString::number((double)hush["chf_market_cap"]); + Settings::getInstance()->setCHFCAP( hush["chf_market_cap"]); } - if (hush["inr_market_cap"] >= 0) { - qDebug() << "HUSH = inr_market_cap" << QString::number((double) hush["inr_market_cap"]); - Settings::getInstance() - > setINRCAP(hush["inr_market_cap"]); + if (hush["inr_market_cap"] >= 0) + { + qDebug() << "HUSH = inr_market_cap" << QString::number((double)hush["inr_market_cap"]); + Settings::getInstance()->setINRCAP( hush["inr_market_cap"]); } - if (hush["gbp_market_cap"] >= 0) { - qDebug() << "HUSH = gbp_market_cap" << QString::number((double) hush["gbp_market_cap"]); - Settings::getInstance() - > setGBPCAP(hush["gbp_market_cap"]); + if (hush["gbp_market_cap"] >= 0) + { + qDebug() << "HUSH = gbp_market_cap" << QString::number((double)hush["gbp_market_cap"]); + Settings::getInstance()->setGBPCAP( hush["gbp_market_cap"]); } - if (hush["aud_market_cap"] >= 0) { - qDebug() << "HUSH = aud_market_cap" << QString::number((double) hush["aud_market_cap"]); - Settings::getInstance() - > setAUDCAP(hush["aud_market_cap"]); + if (hush["aud_market_cap"] >= 0) + { + qDebug() << "HUSH = aud_market_cap" << QString::number((double)hush["aud_market_cap"]); + Settings::getInstance()->setAUDCAP( hush["aud_market_cap"]); } return; - } catch (const std::exception & e) { + } + catch (const std::exception& e) + { // If anything at all goes wrong, just set the price to 0 and move on. qDebug() << QString("Caught something nasty: ") << e.what(); } // If nothing, then set the price to 0; - Settings::getInstance() - > setZECPrice(0); - Settings::getInstance() - > setEURPrice(0); - Settings::getInstance() - > setBTCPrice(0); - Settings::getInstance() - > setCNYPrice(0); - Settings::getInstance() - > setRUBPrice(0); - Settings::getInstance() - > setCADPrice(0); - Settings::getInstance() - > setSGDPrice(0); - Settings::getInstance() - > setCHFPrice(0); - Settings::getInstance() - > setGBPPrice(0); - Settings::getInstance() - > setAUDPrice(0); - Settings::getInstance() - > setINRPrice(0); - Settings::getInstance() - > setBTCVolume(0); - Settings::getInstance() - > setUSDVolume(0); - Settings::getInstance() - > setEURVolume(0); - Settings::getInstance() - > setBTCVolume(0); - Settings::getInstance() - > setCNYVolume(0); - Settings::getInstance() - > setRUBVolume(0); - Settings::getInstance() - > setCADVolume(0); - Settings::getInstance() - > setINRVolume(0); - Settings::getInstance() - > setSGDVolume(0); - Settings::getInstance() - > setCHFVolume(0); - Settings::getInstance() - > setGBPVolume(0); - Settings::getInstance() - > setAUDVolume(0); - Settings::getInstance() - > setUSDCAP(0); - Settings::getInstance() - > setEURCAP(0); - Settings::getInstance() - > setBTCCAP(0); - Settings::getInstance() - > setCNYCAP(0); - Settings::getInstance() - > setRUBCAP(0); - Settings::getInstance() - > setCADCAP(0); - Settings::getInstance() - > setINRCAP(0); - Settings::getInstance() - > setSGDCAP(0); - Settings::getInstance() - > setCHFCAP(0); - Settings::getInstance() - > setGBPCAP(0); - Settings::getInstance() - > setAUDCAP(0); + Settings::getInstance()->setZECPrice(0); + Settings::getInstance()->setEURPrice(0); + Settings::getInstance()->setBTCPrice(0); + Settings::getInstance()->setCNYPrice(0); + Settings::getInstance()->setRUBPrice(0); + Settings::getInstance()->setCADPrice(0); + Settings::getInstance()->setSGDPrice(0); + Settings::getInstance()->setCHFPrice(0); + Settings::getInstance()->setGBPPrice(0); + Settings::getInstance()->setAUDPrice(0); + Settings::getInstance()->setINRPrice(0); + Settings::getInstance()->setBTCVolume(0); + Settings::getInstance()->setUSDVolume(0); + Settings::getInstance()->setEURVolume(0); + Settings::getInstance()->setBTCVolume(0); + Settings::getInstance()->setCNYVolume(0); + Settings::getInstance()->setRUBVolume(0); + Settings::getInstance()->setCADVolume(0); + Settings::getInstance()->setINRVolume(0); + Settings::getInstance()->setSGDVolume(0); + Settings::getInstance()->setCHFVolume(0); + Settings::getInstance()->setGBPVolume(0); + Settings::getInstance()->setAUDVolume(0); + Settings::getInstance()->setUSDCAP(0); + Settings::getInstance()->setEURCAP(0); + Settings::getInstance()->setBTCCAP(0); + Settings::getInstance()->setCNYCAP(0); + Settings::getInstance()->setRUBCAP(0); + Settings::getInstance()->setCADCAP(0); + Settings::getInstance()->setINRCAP(0); + Settings::getInstance()->setSGDCAP(0); + Settings::getInstance()->setCHFCAP(0); + Settings::getInstance()->setGBPCAP(0); + Settings::getInstance()->setAUDCAP(0); }); } -void Controller::shutdownhushd() { +void Controller::shutdownhushd() +{ // Save the wallet and exit the lightclient library cleanly. - if (zrpc - > haveConnection()) { + if (zrpc->haveConnection()) + { QDialog d(main); Ui_ConnectionDialog connD; - connD.setupUi( & d); - connD.topIcon - > setPixmap(QIcon(":/icons/res/icon.ico").pixmap(256, 256)); - connD.status - > setText(QObject::tr("Please wait for SilentDragonLite to exit")); - connD.statusDetail - > setText(QObject::tr("Waiting for hushd to exit")); + connD.setupUi(&d); + connD.topIcon->setPixmap(QIcon(":/icons/res/icon.ico").pixmap(256, 256)); + connD.status->setText(QObject::tr("Please wait for SilentDragonLite to exit")); + connD.statusDetail->setText(QObject::tr("Waiting for hushd to exit")); bool finished = false; - zrpc - > saveWallet([ & ](json) { + zrpc->saveWallet([&] (json) { if (!finished) d.accept(); finished = true; @@ -1480,21 +1597,24 @@ void Controller::shutdownhushd() { /** * Get a Sapling address from the user's wallet - */ -QString Controller::getDefaultSaplingAddress() { - for (QString addr: model - > getAllZAddresses()) { - if (Settings::getInstance() - > isSaplingAddress(addr)) + */ +QString Controller::getDefaultSaplingAddress() +{ + for (QString addr: model->getAllZAddresses()) + { + if (Settings::getInstance()->isSaplingAddress(addr)) return addr; } return QString(); } -QString Controller::getDefaultTAddress() { - if (model - > getAllTAddresses().length() > 0) - return model - > getAllTAddresses().at(0); +QString Controller::getDefaultTAddress() +{ + if (model->getAllTAddresses().length() > 0) + return model->getAllTAddresses().at(0); - else + else return QString(); - -} \ No newline at end of file + +} From b40b482b32de5ac9b9dfa5410c7d11d84a2f402b Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 14 May 2020 14:22:26 +0200 Subject: [PATCH 108/251] switch back to getAllContactRequests for rendering --- src/chatmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 01aed54..1e72714 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -97,7 +97,7 @@ void MainWindow::renderContactRequest(){ QStandardItemModel* contactRequest = new QStandardItemModel(); { - for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()) + for (auto &c : DataStore::getChatDataStore()->getAllContactRequests()) { QStandardItem* Items = new QStandardItem(c.second.getAddress()); From 74aaa0482fafa66b2f9aca951e05605b7c66f96a Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 14 May 2020 22:52:28 +0200 Subject: [PATCH 109/251] improve some gui elements --- application.qrc | 5 +++ res/lock.png | Bin 0 -> 812 bytes res/lock.svg | 7 ++++ res/lock_blue.svg | 7 ++++ res/lock_green.svg | 7 ++++ res/unlocked.svg | 7 ++++ src/Chat/Chat.cpp | 11 +++-- src/Chat/Helper/ChatDelegator.h | 72 ++++++++++++++++++++++++++------ src/DataStore/ChatDataStore.cpp | 7 +++- src/Model/ChatItem.cpp | 39 +++++++++++++---- src/Model/ChatItem.h | 10 ++++- src/addressbook.cpp | 1 + src/chatmodel.h | 3 ++ src/contactmodel.cpp | 1 + src/controller.cpp | 4 ++ src/mainwindow.cpp | 1 + 16 files changed, 153 insertions(+), 29 deletions(-) create mode 100644 res/lock.png create mode 100644 res/lock.svg create mode 100644 res/lock_blue.svg create mode 100644 res/lock_green.svg create mode 100644 res/unlocked.svg diff --git a/application.qrc b/application.qrc index 29a1765..d323bff 100644 --- a/application.qrc +++ b/application.qrc @@ -36,6 +36,11 @@ res/upload.png res/upload.svg res/message-icon.svg + res/lock.svg + res/lock.png + res/lock_green.svg + res/lock_blue.svg + res/unlocked.svg res/hushdlogo.gif diff --git a/res/lock.png b/res/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..b05dc49e515101200ed38e5691913accf38d5667 GIT binary patch literal 812 zcmV+{1JnG8P)EX>4Tx04R}tkv&MmP!xqvTT4Z%4rUN>$WS|35EXIMDionYs1;guFnQ@8G%+M8 zE{=k0!NH%!s)LKOt`4q(Aov5~9J6k5c1;qgAsyXWxUeL%2LWt!DB257o% zW>QHpmtPShuLz?L0s@H3%ra&rDGlHHx~D#>y9Cej@B6cQ)q=%;uku-v%zO+nTZmTta@{6o#XTY$kMFRH^9Lm z5HC^on$NqtJLmRqPiuZZEdz3kXeP*K00006VoOIv0RI600RN!9r;`8x010qNS#tmY z4c7nw4c7reD4Tcy000McNliru`ai6{UIA?M@c5#R0oJ~$pEnybdcu0ztP{RVYafRn7|AnDqVEa60)gRoV4+rQ< z@@E)r2~vF~$tmn4*gJag7QR1FF4iHcH{4Ir`zxrXg~ec!jyjFH&{`)~L9G}ZHkKqG zBbhg&m0zQpaa=T#aR7tS>CTfe1LlLnnvL}!zl_Aa&~3E|E3XBU?dKKDh1Dh#Vk<$~ q(`<6wF^wvwF^Y1)YJsq$gh;=DyEZAQ + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + \ No newline at end of file diff --git a/res/lock_blue.svg b/res/lock_blue.svg new file mode 100644 index 0000000..752bc53 --- /dev/null +++ b/res/lock_blue.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + \ No newline at end of file diff --git a/res/lock_green.svg b/res/lock_green.svg new file mode 100644 index 0000000..1c5e4ef --- /dev/null +++ b/res/lock_green.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + \ No newline at end of file diff --git a/res/unlocked.svg b/res/unlocked.svg new file mode 100644 index 0000000..50ff5e1 --- /dev/null +++ b/res/unlocked.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index 7038fe1..5b34929 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -1,3 +1,6 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + #include "Chat.h" #include "../addressbook.h" #include "../DataStore/DataStore.h" @@ -23,9 +26,11 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view) { QStandardItem *Items = new QStandardItem(c.second.toChatLine()); - Items->setData("Outgoing", Qt::UserRole + 1); + + Items->setData(OUTGOING, Qt::UserRole + 1); chat->appendRow(Items); - ui->listChat->setModel(chat); + ui->listChat->setModel(chat); + } else { @@ -39,7 +44,7 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view) { QStandardItem *Items1 = new QStandardItem(c.second.toChatLine()); - Items1->setData("Incoming", Qt::UserRole + 1); + Items1->setData(INCOMING, Qt::UserRole + 1); chat->appendRow(Items1); ui->listChat->setModel(chat); } diff --git a/src/Chat/Helper/ChatDelegator.h b/src/Chat/Helper/ChatDelegator.h index ef6a150..6e3e676 100644 --- a/src/Chat/Helper/ChatDelegator.h +++ b/src/Chat/Helper/ChatDelegator.h @@ -1,3 +1,6 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + #ifndef CHATDELEGATOR_H #define CHATDELEGATOR_H @@ -6,6 +9,14 @@ #include #include +enum RenderType +{ + OUTGOING=0, + INCOMING=1, + INDATE=2, + OUTDATE=3 +}; + class ListViewDelegate : public QAbstractItemDelegate { int d_radius; @@ -26,7 +37,7 @@ class ListViewDelegate : public QAbstractItemDelegate inline QSize sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const; }; -inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(5), d_verticalmargin(15), d_horizontalmargin(10), d_pointerwidth(10), d_pointerheight(17), d_widthfraction(.7) +inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(5), d_verticalmargin(5), d_horizontalmargin(10), d_pointerwidth(10), d_pointerheight(17), d_widthfraction(.6) { } @@ -43,7 +54,9 @@ inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem cons qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding; bodydoc.setTextWidth(contentswidth); qreal bodyheight = bodydoc.size().height(); - bool outgoing = index.data(Qt::UserRole + 1).toString() == "Outgoing"; + int outgoing = index.data(Qt::UserRole + 1).toInt(); + int outdate = index.data(Qt::UserRole + 1).toInt(); + int indate = index.data(Qt::UserRole + 1).toInt(); painter->save(); painter->setRenderHint(QPainter::Antialiasing); @@ -53,10 +66,26 @@ inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem cons painter->translate(option.rect.left() + d_horizontalmargin, option.rect.top() + ((index.row() == 0) ? d_verticalmargin : 0)); - // background color for chat bubble - QColor bgcolor("#535353"); - if (outgoing) - bgcolor = "#eeeeee"; + QColor bgcolor("#ffffff"); + switch(outgoing) + { + case INDATE: + bgcolor = "transparent"; + break; + + case OUTDATE: + bgcolor = "transparent"; + break; + + case OUTGOING: + bgcolor = "#f8f9fa"; + break; + + default: + case INCOMING: + bgcolor = "#535353"; + break; + } // create chat bubble QPainterPath pointie; @@ -85,7 +114,7 @@ inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem cons pointie.closeSubpath(); // rotate bubble for outgoing messages - if (outgoing) + if ((outgoing == OUTGOING) || (outdate == OUTDATE)) { painter->translate(option.rect.width() - pointie.boundingRect().width() - d_horizontalmargin - d_pointerwidth, 0); painter->translate(pointie.boundingRect().center()); @@ -99,7 +128,7 @@ inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem cons painter->fillPath(pointie, QBrush(bgcolor)); // rotate back or painter is going to paint the text rotated... - if (outgoing) + if ((outgoing == OUTGOING) || (outdate == OUTDATE)) { painter->translate(pointie.boundingRect().center()); painter->rotate(-180); @@ -108,13 +137,30 @@ inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem cons // set text color used to draw message body QAbstractTextDocumentLayout::PaintContext ctx; - if (outgoing) - ctx.palette.setColor(QPalette::Text, QColor("black")); - else - ctx.palette.setColor(QPalette::Text, QColor("white")); + switch(outgoing) + { + case INDATE: + ctx.palette.setColor(QPalette::Text, QColor("Black")); + break; + + case OUTDATE: + ctx.palette.setColor(QPalette::Text, QColor("Black")); + break; + + case OUTGOING: + ctx.palette.setColor(QPalette::Text, QColor("Black")); + break; + + default: + case INCOMING: + ctx.palette.setColor(QPalette::Text, QColor("whitesmoke")); + break; + } + // draw body text - painter->translate((outgoing ? 0 : d_pointerwidth) + d_leftpadding, 0); + painter->translate((outgoing == OUTGOING ? 0 : d_pointerwidth) + d_leftpadding, 0); + painter->translate((outdate == OUTDATE ? 0 : d_pointerwidth) + d_leftpadding, 0); bodydoc.documentLayout()->draw(painter, ctx); painter->restore(); diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 4dfc605..5223d04 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -1,3 +1,6 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + #include "ChatDataStore.h" ChatDataStore* ChatDataStore::getInstance() @@ -43,8 +46,8 @@ std::map ChatDataStore::getAllContactRequests() for(auto &c: this->data) { if ( - (c.second.getType() == "cont") && - (c.second.isOutgoing() == false) && + (c.second.isOutgoing() == false) && + (c.second.getType() == "cont") && (c.second.getMemo().startsWith("{")) ) { diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index 39d4a68..afdde53 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -1,8 +1,11 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + #include "ChatItem.h" ChatItem::ChatItem() {} -ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid) +ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations) { _timestamp = timestamp; _address = address; @@ -12,10 +15,11 @@ ChatItem::ChatItem(long timestamp, QString address, QString contact, QString mem _type = type; _cid = cid; _txid = txid; + _confirmations = confirmations; _outgoing = false; } -ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, bool outgoing) +ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing) { _timestamp = timestamp; _address = address; @@ -25,6 +29,7 @@ ChatItem::ChatItem(long timestamp, QString address, QString contact, QString mem _type = type; _cid = cid; _txid = txid; + _confirmations = confirmations; _outgoing = outgoing; } @@ -66,6 +71,10 @@ QString ChatItem::getTxid() { return _txid; } +int ChatItem::getConfirmations() +{ + return _confirmations; +} bool ChatItem::isOutgoing() { @@ -110,26 +119,38 @@ void ChatItem::setTxid(QString txid) { _txid = txid; } +void ChatItem::setConfirmations(int confirmations) +{ + _confirmations = confirmations; +} void ChatItem::toggleOutgo() { _outgoing = true; } + QString ChatItem::toChatLine() { QDateTime myDateTime; + QString lock; myDateTime.setTime_t(_timestamp); - QString line = QString("[") + myDateTime.toString("d.M.yy hh:mm") + QString("] "); - line += QString("") + QString(_memo) + QString("\n\n"); + + if (_confirmations == 0){ + lock = " "; + }else{ + + lock = " "; + + } + + QString line = QString("") + myDateTime.toString("dd.MM.yyyy hh:mm"); + line += QString(lock) + QString(""); + line += QString("

") + _memo.toHtmlEscaped() + QString("

"); return line; } ChatItem::~ChatItem() { - /*delete timestamp; - delete address; - delete contact; - delete memo; - delete outgoing;*/ + } \ No newline at end of file diff --git a/src/Model/ChatItem.h b/src/Model/ChatItem.h index 467341f..6f27609 100644 --- a/src/Model/ChatItem.h +++ b/src/Model/ChatItem.h @@ -1,3 +1,6 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + #ifndef CHATITEM_H #define CHATITEM_H @@ -14,12 +17,13 @@ class ChatItem QString _type; QString _cid; QString _txid; + int _confirmations; bool _outgoing = false; public: ChatItem(); - ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid); - ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, bool outgoing); + ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid, int confirmations); + ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing); long getTimestamp(); QString getAddress(); QString getContact(); @@ -28,6 +32,7 @@ class ChatItem QString getType(); QString getCid(); QString getTxid(); + int getConfirmations(); bool isOutgoing(); void setTimestamp(long timestamp); void setAddress(QString address); @@ -37,6 +42,7 @@ class ChatItem void setType(QString type); void setCid(QString cid); void setTxid(QString txid); + void setConfirmations(int confirmations); void toggleOutgo(); QString toChatLine(); ~ChatItem(); diff --git a/src/addressbook.cpp b/src/addressbook.cpp index d17726c..c3fdc6c 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -1,5 +1,6 @@ // Copyright 2019-2020 The Hush developers // GPLv3 + #include "addressbook.h" #include "ui_addressbook.h" #include "ui_mainwindow.h" diff --git a/src/chatmodel.h b/src/chatmodel.h index 04493b8..bf3e255 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -1,3 +1,6 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + #ifndef CHATMODEL_H #define CHATMODEL_H #include diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index ad58ccb..6f452fa 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -1,5 +1,6 @@ // Copyright 2019-2020 The Hush developers // GPLv3 + #include "contactmodel.h" #include "addressbook.h" #include "mainwindow.h" diff --git a/src/controller.cpp b/src/controller.cpp index 47a1a1e..534fffe 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -878,9 +878,11 @@ void Controller::refreshTransactions() { QString(""), cid, txid, + confirmations, true ); qDebug()<<"Memo : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); @@ -973,9 +975,11 @@ void Controller::refreshTransactions() { type, cid, txid, + confirmations, false ); qDebug()<< "Position : " << position; + qDebug()<<"Confirmation :" << confirmations; DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 7a1f6c2..de034ac 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1,5 +1,6 @@ // Copyright 2019-2020 The Hush developers // GPLv3 + #include "mainwindow.h" #include "addressbook.h" #include "viewalladdresses.h" From 9f7fa3ae995c4c996f8bbd33d1c0987eeecd24be Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sat, 16 May 2020 11:48:15 +0200 Subject: [PATCH 110/251] update// improved addressbook performance --- src/addressbook.cpp | 45 ++++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index c3fdc6c..2c7c107 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -373,35 +373,38 @@ void AddressBook::readFromStorage() in >> version; qDebug() << "Detected old addressbook format"; // Convert old addressbook format v1 to v2 - QList> stuff; - in >> stuff; - //qDebug() << "Stuff: " << stuff; - for (int i=0; i < stuff.size(); i++) + if(in.status() == QDataStream::ReadCorruptData) { - //qDebug() << "0:" << stuff[i][0]; - //qDebug() << "1:" << stuff[i][1]; - //qDebug() << "2:" << stuff[i][2]; - ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); - //qDebug() << "contact=" << contact.toQTString(); - allLabels.push_back(contact); + qDebug() << "Error reading contacts! ---> Your hush contacts from disk maybe corrupted"; + QString filepath = QFileInfo(AddressBook::writeableFile()).absolutePath() + QString("/"); + QFile::rename(filepath + QString("addresslabels.dat"), filepath + QString("addresslabels.dat-corrupted")); + QMessageBox::critical( + nullptr, + QObject::tr("Error reading contacts!"), + QObject::tr("Your hush contacts from disk maybe corrupted"), + QMessageBox::Ok + ); } - - qDebug() << "Read " << version << " Hush contacts from disk..."; + else + { + qDebug() << "Read " << version << " Hush contacts from disk..."; + QList> stuff; + in >> stuff; + for (int i=0; i < stuff.size(); i++) + { + ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); + allLabels.push_back(contact); + } + + qDebug() << "Hush contacts readed from disk..."; + } + file.close(); } else { qDebug() << "No Hush contacts found on disk!"; } - - // Special. - // Add the default silentdragon donation address if it isn't already present - // QList allAddresses; - // std::transform(allLabels.begin(), allLabels.end(), - // std::back_inserter(allAddresses), [=] (auto i) { return i.getPartnerAddress(); }); - // if (!allAddresses.contains(Settings::getDonationAddr(true))) { - // allLabels.append(QPair("silentdragon donation", Settings::getDonationAddr(true))); - // } } void AddressBook::writeToStorage() From 1e59b30280a9bc837bc0b486340ff3009d8766ba Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 16 May 2020 20:29:35 +0200 Subject: [PATCH 111/251] undo addressbook fix --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- src/addressbook.cpp | 37 ++++++++++++++----------------------- 3 files changed, 18 insertions(+), 27 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index e198570..01613d0 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=1da0f0e3210db704edec74de1bc318b4e22cb6c8)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=1da0f0e3210db704edec74de1bc318b4e22cb6c8#1da0f0e3210db704edec74de1bc318b4e22cb6c8" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359#32ca60735b3529ff8589ab08fc16678f508a9359" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=1da0f0e3210db704edec74de1bc318b4e22cb6c8)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index bdf5a9b..fba5265 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "1da0f0e3210db704edec74de1bc318b4e22cb6c8" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "32ca60735b3529ff8589ab08fc16678f508a9359" } diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 2c7c107..8c4d132 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -373,39 +373,30 @@ void AddressBook::readFromStorage() in >> version; qDebug() << "Detected old addressbook format"; // Convert old addressbook format v1 to v2 - if(in.status() == QDataStream::ReadCorruptData) + QList> stuff; + in >> stuff; + //qDebug() << "Stuff: " << stuff; + for (int i=0; i < stuff.size(); i++) { - qDebug() << "Error reading contacts! ---> Your hush contacts from disk maybe corrupted"; - QString filepath = QFileInfo(AddressBook::writeableFile()).absolutePath() + QString("/"); - QFile::rename(filepath + QString("addresslabels.dat"), filepath + QString("addresslabels.dat-corrupted")); - QMessageBox::critical( - nullptr, - QObject::tr("Error reading contacts!"), - QObject::tr("Your hush contacts from disk maybe corrupted"), - QMessageBox::Ok - ); + //qDebug() << "0:" << stuff[i][0]; + //qDebug() << "1:" << stuff[i][1]; + //qDebug() << "2:" << stuff[i][2]; + ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); + //qDebug() << "contact=" << contact.toQTString(); + allLabels.push_back(contact); } - else + { - qDebug() << "Read " << version << " Hush contacts from disk..."; - QList> stuff; - in >> stuff; - for (int i=0; i < stuff.size(); i++) - { - ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); - allLabels.push_back(contact); - } - - qDebug() << "Hush contacts readed from disk..."; - } + qDebug() << "Read " << version << " Hush contacts from disk..."; file.close(); } - else + }else{ { qDebug() << "No Hush contacts found on disk!"; } } +} void AddressBook::writeToStorage() { From 4f584ac86ec55f6e59983e7c91e007a72c833a53 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sun, 17 May 2020 13:18:19 +0200 Subject: [PATCH 112/251] update// added filesystem and reformated addressbook --- silentdragon-lite.pro | 4 +- src/Crypto/FileEncryption.cpp | 102 ++++++++++++++++++++++++++++++++++ src/Crypto/FileEncryption.h | 18 ++++++ src/FileSystem/FileSystem.cpp | 82 +++++++++++++++++++++++++++ src/FileSystem/FileSystem.h | 24 ++++++++ src/Logger/LogContext.h | 11 ++++ src/Logger/LogCrtitical.h | 18 ++++++ src/Logger/LogDebug.h | 18 ++++++ src/Logger/LogError.h | 18 ++++++ src/Logger/LogFatal.h | 18 ++++++ src/Logger/LogInfo.h | 18 ++++++ src/Logger/LogStrategy.h | 11 ++++ src/Logger/LogSuccess.h | 18 ++++++ src/Logger/LogType.h | 47 ++++++++++++++++ src/Logger/LogWarning.h | 18 ++++++ src/Logger/LogWriter.cpp | 35 ++++++++++++ src/Logger/LogWriter.h | 22 ++++++++ src/Logger/Logger.h | 25 +++++++++ src/Logger/SimpleLogger.h | 84 ++++++++++++++++++++++++++++ src/Logger/test.cpp | 14 +++++ src/addressbook.cpp | 17 +++--- src/addressbook.h | 1 + 22 files changed, 615 insertions(+), 8 deletions(-) create mode 100644 src/Crypto/FileEncryption.cpp create mode 100644 src/Crypto/FileEncryption.h create mode 100644 src/FileSystem/FileSystem.cpp create mode 100644 src/FileSystem/FileSystem.h create mode 100644 src/Logger/LogContext.h create mode 100644 src/Logger/LogCrtitical.h create mode 100644 src/Logger/LogDebug.h create mode 100644 src/Logger/LogError.h create mode 100644 src/Logger/LogFatal.h create mode 100644 src/Logger/LogInfo.h create mode 100644 src/Logger/LogStrategy.h create mode 100644 src/Logger/LogSuccess.h create mode 100644 src/Logger/LogType.h create mode 100644 src/Logger/LogWarning.h create mode 100644 src/Logger/LogWriter.cpp create mode 100644 src/Logger/LogWriter.h create mode 100644 src/Logger/Logger.h create mode 100644 src/Logger/SimpleLogger.h create mode 100644 src/Logger/test.cpp diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index da53d6d..56c9e4c 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -79,7 +79,9 @@ SOURCES += \ src/Model/ContactRequestChatItem.cpp \ src/Model/ContactItem.cpp \ src/Chat/Helper/ChatIDGenerator.cpp \ - src/Chat/Chat.cpp + src/Chat/Chat.cpp \ + src/FileSystem/FileSystem.cpp \ + src/Crypto/FileEncryption.cpp HEADERS += \ src/firsttimewizard.h \ diff --git a/src/Crypto/FileEncryption.cpp b/src/Crypto/FileEncryption.cpp new file mode 100644 index 0000000..0100585 --- /dev/null +++ b/src/Crypto/FileEncryption.cpp @@ -0,0 +1,102 @@ +#include "FileEncryption.h" + +void FileEncryption::showConfig() +{ + qInfo() << FILEENCRYPTION_CHUNK_SIZE; +} + +int FileEncryption::encrypt(QString target_file, QString source_file, const unsigned char key[crypto_secretstream_xchacha20poly1305_KEYBYTES]) +{ + unsigned char buf_in[FILEENCRYPTION_CHUNK_SIZE]; + unsigned char buf_out[FILEENCRYPTION_CHUNK_SIZE + crypto_secretstream_xchacha20poly1305_ABYTES]; + unsigned char header[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; + crypto_secretstream_xchacha20poly1305_state st; + FILE *fp_t, *fp_s; + unsigned long long out_len; + size_t rlen; + int eof; + unsigned char tag; + + fp_s = fopen(source_file.toStdString().c_str(), "rb"); + fp_t = fopen(target_file.toStdString().c_str(), "wb"); + crypto_secretstream_xchacha20poly1305_init_push(&st, header, key); + fwrite(header, 1, sizeof header, fp_t); + do + { + rlen = fread(buf_in, 1, sizeof buf_in, fp_s); + eof = feof(fp_s); + tag = eof ? crypto_secretstream_xchacha20poly1305_TAG_FINAL : 0; + crypto_secretstream_xchacha20poly1305_push( + &st, + buf_out, + &out_len, + buf_in, + rlen, + NULL, + 0, + tag + ); + + fwrite(buf_out, 1, (size_t) out_len, fp_t); + } + while (! eof); + + fclose(fp_t); + fclose(fp_s); + return 0; +} + +int FileEncryption::decrypt(QString target_file, QString source_file, const unsigned char key[crypto_secretstream_xchacha20poly1305_KEYBYTES]) +{ + unsigned char buf_in[FILEENCRYPTION_CHUNK_SIZE + crypto_secretstream_xchacha20poly1305_ABYTES]; + unsigned char buf_out[FILEENCRYPTION_CHUNK_SIZE]; + unsigned char header[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; + crypto_secretstream_xchacha20poly1305_state st; + FILE *fp_t, *fp_s; + unsigned long long out_len; + size_t rlen; + int eof; + int ret = -1; + unsigned char tag; + + fp_s = fopen(source_file.toStdString().c_str(), "rb"); + fp_t = fopen(target_file.toStdString().c_str(), "wb"); + fread(header, 1, sizeof header, fp_s); + if (crypto_secretstream_xchacha20poly1305_init_pull(&st, header, key) != 0) + { + goto ret; /* incomplete header */ + } + + do + { + rlen = fread(buf_in, 1, sizeof buf_in, fp_s); + eof = feof(fp_s); + if (crypto_secretstream_xchacha20poly1305_pull( + &st, + buf_out, + &out_len, + &tag, + buf_in, + rlen, + NULL, + 0 + ) != 0) + { + goto ret; /* corrupted chunk */ + } + + if (tag == crypto_secretstream_xchacha20poly1305_TAG_FINAL && ! eof) + { + goto ret; /* premature end (end of file reached before the end of the stream) */ + } + + fwrite(buf_out, 1, (size_t) out_len, fp_t); + } + while (! eof); + ret = 0; + +ret: + fclose(fp_t); + fclose(fp_s); + return ret; +} \ No newline at end of file diff --git a/src/Crypto/FileEncryption.h b/src/Crypto/FileEncryption.h new file mode 100644 index 0000000..6db8977 --- /dev/null +++ b/src/Crypto/FileEncryption.h @@ -0,0 +1,18 @@ +#ifndef FILEENCRYPTION_H +#define FILEENCRYPTION_H +#include +#include +#include + +#define FILEENCRYPTION_CHUNK_SIZE 4096 + +class FileEncryption +{ + public: + static void showConfig(); + static int encrypt(QString target_file, QString source_file, const unsigned char key[crypto_secretstream_xchacha20poly1305_KEYBYTES]); + static int decrypt(QString target_file, QString source_file, const unsigned char key[crypto_secretstream_xchacha20poly1305_KEYBYTES]); +}; + + +#endif \ No newline at end of file diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp new file mode 100644 index 0000000..5ee2fef --- /dev/null +++ b/src/FileSystem/FileSystem.cpp @@ -0,0 +1,82 @@ +#include "FileSystem.h" + +#include +#include + +FileSystem::FileSystem() +{ +} + +FileSystem* FileSystem::getInstance() +{ + if(!FileSystem::instanced) + { + FileSystem::instanced = true; + FileSystem::instance = new FileSystem(); + FileEncryption::showConfig(); + } + + return FileSystem::instance; +} + +QList FileSystem::readContacts(QString file) +{ + QList contacts; + QFile _file(file); + if (_file.exists()) + { + contacts.clear(); + _file.open(QIODevice::ReadOnly); + QDataStream in(&_file); // read the data serialized from the file + QString version; + in >> version; + qDebug() << "Read " << version << " Hush contacts from disk..."; + qDebug() << "Detected old addressbook format"; + QList> stuff; + in >> stuff; + //qDebug() << "Stuff: " << stuff; + for (int i=0; i < stuff.size(); i++) + { + ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); + contacts.push_back(contact); + } + + _file.close(); + } + else + { + qDebug() << "No Hush contacts found on disk!"; + } + + return contacts; +} + +void FileSystem::writeContacts(QString file, QList contacts) +{ + QFile _file(file); + _file.open(QIODevice::ReadWrite | QIODevice::Truncate); + QDataStream out(&_file); // we will serialize the data into the file + QList> _contacts; + for(auto &item: contacts) + { + QList c; + c.push_back(item.getName()); + c.push_back(item.getPartnerAddress()); + c.push_back(item.getMyAddress()); + c.push_back(item.getCid()); + c.push_back(item.getAvatar()); + _contacts.push_back(c); + } + out << QString("v1") << _contacts; + _file.close(); +} + +FileSystem::~FileSystem() +{ + this->instance = nullptr; + this->instanced = false; + delete this->instance; +} + +FileSystem *FileSystem::instance = nullptr; +bool FileSystem::instanced = false; \ No newline at end of file diff --git a/src/FileSystem/FileSystem.h b/src/FileSystem/FileSystem.h new file mode 100644 index 0000000..995c586 --- /dev/null +++ b/src/FileSystem/FileSystem.h @@ -0,0 +1,24 @@ +#ifndef FILESYSTEM_H +#define FILESYSTEM_H + +#include +#include +#include "../Model/ContactItem.h" +#include "../Crypto/FileEncryption.h" + +class FileSystem +{ + private: + static bool instanced; + static FileSystem* instance; + FileSystem(); + + public: + static FileSystem* getInstance(); + QList readContacts(QString file); + void writeContacts(QString file, QList contacts); + ~FileSystem(); + +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogContext.h b/src/Logger/LogContext.h new file mode 100644 index 0000000..bd8e988 --- /dev/null +++ b/src/Logger/LogContext.h @@ -0,0 +1,11 @@ +#ifndef LOGCONTEXT_H +#define LOGCONTEXT_H + +#include +class LogContext +{ + public: + virtual void log(std::string message) {}; +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogCrtitical.h b/src/Logger/LogCrtitical.h new file mode 100644 index 0000000..cf08849 --- /dev/null +++ b/src/Logger/LogCrtitical.h @@ -0,0 +1,18 @@ +#ifndef LOGCRITICAL_H +#define LOGCRITICAL_H + +#include "LogType.h" +#include "LogStrategy.h" +#include "LogWriter.h" + +class LogCritical : public LogStrategy +{ + public: + void log(std::string message) + { + LogWriter* lw = LogWriter::getInstance(); + lw->write(LogType::CRITICAL, message); + } +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogDebug.h b/src/Logger/LogDebug.h new file mode 100644 index 0000000..e1dd644 --- /dev/null +++ b/src/Logger/LogDebug.h @@ -0,0 +1,18 @@ +#ifndef LOGDEBUG_H +#define LOGDEBUG_H + +#include "LogType.h" +#include "LogStrategy.h" +#include "LogWriter.h" + +class LogDebug : public LogStrategy +{ + public: + void log(std::string message) + { + LogWriter* lw = LogWriter::getInstance(); + lw->write(LogType::DEBUG, message); + } +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogError.h b/src/Logger/LogError.h new file mode 100644 index 0000000..34399c8 --- /dev/null +++ b/src/Logger/LogError.h @@ -0,0 +1,18 @@ +#ifndef LOGERROR_H +#define LOGERROR_H + +#include "LogType.h" +#include "LogStrategy.h" +#include "LogWriter.h" + +class LogError : public LogStrategy +{ + public: + void log(std::string message) + { + LogWriter* lw = LogWriter::getInstance(); + lw->write(LogType::ERROR, message); + } +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogFatal.h b/src/Logger/LogFatal.h new file mode 100644 index 0000000..4b376d3 --- /dev/null +++ b/src/Logger/LogFatal.h @@ -0,0 +1,18 @@ +#ifndef LOGFATAL_H +#define LOGFATAL_H + +#include "LogType.h" +#include "LogStrategy.h" +#include "LogWriter.h" + +class LogFatal : public LogStrategy +{ + public: + void log(std::string message) + { + LogWriter* lw = LogWriter::getInstance(); + lw->write(LogType::FATAL, message); + } +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogInfo.h b/src/Logger/LogInfo.h new file mode 100644 index 0000000..2a876a1 --- /dev/null +++ b/src/Logger/LogInfo.h @@ -0,0 +1,18 @@ +#ifndef LOGINFO_H +#define LOGINFO_H + +#include "LogType.h" +#include "LogStrategy.h" +#include "LogWriter.h" + +class LogInfo : public LogStrategy +{ + public: + void log(std::string message) + { + LogWriter* lw = LogWriter::getInstance(); + lw->write(LogType::INFO, message); + } +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogStrategy.h b/src/Logger/LogStrategy.h new file mode 100644 index 0000000..d619ae0 --- /dev/null +++ b/src/Logger/LogStrategy.h @@ -0,0 +1,11 @@ +#ifndef LOGSTRATEGY_H +#define LOGSTRATEGY_H + +#include +class LogStrategy +{ + public: + virtual void log(std::string message) {}; +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogSuccess.h b/src/Logger/LogSuccess.h new file mode 100644 index 0000000..8dae948 --- /dev/null +++ b/src/Logger/LogSuccess.h @@ -0,0 +1,18 @@ +#ifndef LOGSUCCESS_H +#define LOGSUCCESS_H + +#include "LogType.h" +#include "LogStrategy.h" +#include "LogWriter.h" + +class LogSuccess : public LogStrategy +{ + public: + void log(std::string message) + { + LogWriter* lw = LogWriter::getInstance(); + lw->write(LogType::SUCCESS, message); + } +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogType.h b/src/Logger/LogType.h new file mode 100644 index 0000000..3cb006a --- /dev/null +++ b/src/Logger/LogType.h @@ -0,0 +1,47 @@ +#ifndef LOGTYPE_H +#define LOGTYPE_H + +#include + +class LogType +{ + public: + enum TYPE { + INFO = 0, + DEBUG = 1, + SUCCESS = 2, + WARNING = 3, + ERROR = 4, + FATAL = 5, + CRITICAL = 6 + }; + + static std::string enum2String(int type) + { + switch (type) + { + default: + case 0: + return "INFO"; + + case 1: + return "DEBUG"; + + case 2: + return "SUCCESS"; + + case 3: + return "WARNING"; + + case 4: + return "ERROR"; + + case 5: + return "FATAL"; + + case 6: + return "CRITICAL"; + } + } +}; +#endif \ No newline at end of file diff --git a/src/Logger/LogWarning.h b/src/Logger/LogWarning.h new file mode 100644 index 0000000..58d6222 --- /dev/null +++ b/src/Logger/LogWarning.h @@ -0,0 +1,18 @@ +#ifndef LOGWARNING_H +#define LOGWARNING_H + +#include "LogType.h" +#include "LogStrategy.h" +#include "LogWriter.h" + +class LogWarning : public LogStrategy +{ + public: + void log(std::string message) + { + LogWriter* lw = LogWriter::getInstance(); + lw->write(LogType::WARNING, message); + } +}; + +#endif \ No newline at end of file diff --git a/src/Logger/LogWriter.cpp b/src/Logger/LogWriter.cpp new file mode 100644 index 0000000..622de6a --- /dev/null +++ b/src/Logger/LogWriter.cpp @@ -0,0 +1,35 @@ +#include "LogWriter.h" + +LogWriter* LogWriter::getInstance() +{ + if(instance == nullptr) + instance = new LogWriter(); + + return instance; +} + +void LogWriter::setLogFile(std::string file) +{ + this->logfile = file; +} + +void LogWriter::write(LogType::TYPE type, std::string message) +{ + std::ofstream writer(this->logfile, std::ios::out | std::ios::app); + if(writer.good()) + { + time_t now = time(0); + tm *ltm = localtime(&now); + std::stringstream ss; + ss << "[" << LogType::enum2String(type) << "] " << + ltm->tm_mon << "-" << + ltm->tm_mday << "-" << + (1900 + ltm->tm_year) << " " << + ltm->tm_hour << ":" << + ltm->tm_min << ":" << + ltm->tm_sec << " > " << message; + writer << ss.str() << "\n"; + } + + writer.close(); +} \ No newline at end of file diff --git a/src/Logger/LogWriter.h b/src/Logger/LogWriter.h new file mode 100644 index 0000000..f4e9776 --- /dev/null +++ b/src/Logger/LogWriter.h @@ -0,0 +1,22 @@ +#ifndef LOGWRITER_H +#define LOGWRITER_H + +#include +#include +#include +#include +#include "LogType.h" + +class LogWriter +{ + public: + static LogWriter* getInstance(); + std::string logfile = ""; + void setLogFile(std::string file); + void write(LogType::TYPE t, std::string message); + + private: + static LogWriter* instance; +}; + +#endif \ No newline at end of file diff --git a/src/Logger/Logger.h b/src/Logger/Logger.h new file mode 100644 index 0000000..4a307c8 --- /dev/null +++ b/src/Logger/Logger.h @@ -0,0 +1,25 @@ +#ifndef LOGGER_H +#define LOGGER_H + +#include "LogContext.h" +#include "LogStrategy.h" +#include "LogWriter.h" + +class Logger : LogContext +{ + private: + LogStrategy * strategy = nullptr; + + public: + Logger(LogStrategy * strategy) + { + this->strategy = strategy; + } + + void log(std::string message) + { + this->strategy->log(message); + } +}; +LogWriter* LogWriter::instance = nullptr; +#endif \ No newline at end of file diff --git a/src/Logger/SimpleLogger.h b/src/Logger/SimpleLogger.h new file mode 100644 index 0000000..7d18dc3 --- /dev/null +++ b/src/Logger/SimpleLogger.h @@ -0,0 +1,84 @@ +#ifndef SIMPLELOGGER_H +#define SIMPLELOGGER_H + +#include "Logger.h" +#include "LogInfo.h" +#include "LogDebug.h" +#include "LogSuccess.h" +#include "LogWarning.h" +#include "LogError.h" +#include "LogFatal.h" +#include "LogCrtitical.h" +#include "LogWriter.h" + +class SimpleLogger +{ + public: + SimpleLogger() + { + LogWriter::getInstance()->setLogFile("log.txt"); + } + + SimpleLogger(std::string logFile) + { + LogWriter::getInstance()->setLogFile(logFile); + } + + void logInfo(std::string message) + { + Logger* logger = nullptr; + LogStrategy* li = new LogInfo(); + logger = new Logger(li); + logger->log(message); + } + + void logDebug(std::string message) + { + Logger* logger = nullptr; + LogStrategy* li = new LogDebug(); + logger = new Logger(li); + logger->log(message); + } + + void logSuccess(std::string message) + { + Logger* logger = nullptr; + LogStrategy* li = new LogSuccess(); + logger = new Logger(li); + logger->log(message); + } + + void logWarning(std::string message) + { + Logger* logger = nullptr; + LogStrategy* li = new LogWarning(); + logger = new Logger(li); + logger->log(message); + } + + void logError(std::string message) + { + Logger* logger = nullptr; + LogStrategy* li = new LogError(); + logger = new Logger(li); + logger->log(message); + } + + void logFatal(std::string message) + { + Logger* logger = nullptr; + LogStrategy* li = new LogFatal(); + logger = new Logger(li); + logger->log(message); + } + + void logCritical(std::string message) + { + Logger* logger = nullptr; + LogStrategy* li = new LogCritical(); + logger = new Logger(li); + logger->log(message); + } +}; + +#endif \ No newline at end of file diff --git a/src/Logger/test.cpp b/src/Logger/test.cpp new file mode 100644 index 0000000..a717d18 --- /dev/null +++ b/src/Logger/test.cpp @@ -0,0 +1,14 @@ +#include "SimpleLogger.h" + +int main(int argc, char** argv) +{ + SimpleLogger sl = SimpleLogger("/tmp/simplelog.log"); + sl.logInfo("test info"); + sl.logDebug("test debug"); + sl.logSuccess("test success"); + sl.logWarning("test warning"); + sl.logError("test error"); + sl.logFatal("test fatal"); + sl.logCritical("test critical"); + return 0; +} \ No newline at end of file diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 8c4d132..55a3b5e 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -7,6 +7,7 @@ #include "settings.h" #include "mainwindow.h" #include "controller.h" +#include "FileSystem/FileSystem.h" AddressBookModel::AddressBookModel(QTableView *parent) : QAbstractTableModel(parent) @@ -362,7 +363,7 @@ AddressBook::AddressBook() void AddressBook::readFromStorage() { - QFile file(AddressBook::writeableFile()); + /*QFile file(AddressBook::writeableFile()); if (file.exists()) { @@ -392,15 +393,17 @@ void AddressBook::readFromStorage() file.close(); } }else{ - { - qDebug() << "No Hush contacts found on disk!"; - } -} + { + qDebug() << "No Hush contacts found on disk!"; + } + }*/ + allLabels = FileSystem::getInstance()->readContacts(AddressBook::writeableFile()); } void AddressBook::writeToStorage() { - QFile file(AddressBook::writeableFile()); + FileSystem::getInstance()->writeContacts(AddressBook::writeableFile(), allLabels); + /*QFile file(AddressBook::writeableFile()); file.open(QIODevice::ReadWrite | QIODevice::Truncate); QDataStream out(&file); // we will serialize the data into the file QList> contacts; @@ -415,7 +418,7 @@ void AddressBook::writeToStorage() contacts.push_back(c); } out << QString("v1") << contacts; - file.close(); + file.close();*/ } QString AddressBook::writeableFile() diff --git a/src/addressbook.h b/src/addressbook.h index fee3ac6..8e32fe8 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -3,6 +3,7 @@ #include "precompiled.h" #include "contactmodel.h" +#include "FileSystem/FileSystem.h" class MainWindow; From d4bf7a83c8b3bdac7948104c946c6aba63e56392 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sun, 17 May 2020 14:12:27 +0200 Subject: [PATCH 113/251] update// implemented dump method to each datastoretype --- .gdb_history | 35 ++++++++++++++++++++ peda-session-SilentDragonLite.txt | 2 ++ silentdragon-lite.pro | 1 + src/Chat/Chat.cpp | 2 +- src/DataStore/ChatDataStore.cpp | 11 +++++++ src/DataStore/ContactDataStore.cpp | 53 ++++++++++++++++++++++++++++++ src/DataStore/ContactDataStore.h | 34 +++++++++++++++++++ src/DataStore/DataStore.cpp | 5 +++ src/DataStore/DataStore.h | 2 ++ src/Model/ChatItem.cpp | 16 +++++++++ src/Model/ChatItem.h | 2 ++ src/Model/ContactItem.cpp | 11 +++++++ src/Model/ContactItem.h | 2 ++ src/addressbook.cpp | 8 +++++ 14 files changed, 183 insertions(+), 1 deletion(-) create mode 100644 .gdb_history create mode 100644 peda-session-SilentDragonLite.txt create mode 100644 src/DataStore/ContactDataStore.cpp create mode 100644 src/DataStore/ContactDataStore.h diff --git a/.gdb_history b/.gdb_history new file mode 100644 index 0000000..2eb34c2 --- /dev/null +++ b/.gdb_history @@ -0,0 +1,35 @@ +b ContactDataStore::dump() +r +n +q +b ContactDataStore::dump() +r +n +c +./build.sh +$(./build.sh) +$(./build.sh) +q +r +q +r +b ContactDataStore::dump() +r +n +b ContactItem::toJson() +r +c +n +q +b ContactItem::toJson() +r +n +c +c +c +c +c +c +c +c +q diff --git a/peda-session-SilentDragonLite.txt b/peda-session-SilentDragonLite.txt new file mode 100644 index 0000000..87f58c8 --- /dev/null +++ b/peda-session-SilentDragonLite.txt @@ -0,0 +1,2 @@ +break ContactItem::toJson() + diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 56c9e4c..bb10655 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -75,6 +75,7 @@ SOURCES += \ src/DataStore/DataStore.cpp \ src/DataStore/ChatDataStore.cpp \ src/DataStore/SietchDataStore.cpp \ + src/DataStore/ContactDataStore.cpp \ src/Model/ChatItem.cpp \ src/Model/ContactRequestChatItem.cpp \ src/Model/ContactItem.cpp \ diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index 5b34929..c7d6637 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -12,7 +12,7 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view) // ui->lcdNumber->setStyleSheet("background-color: red"); // ui->lcdNumber->setPalette(Qt::red); // ui->lcdNumber->display("1"); - + DataStore::getChatDataStore()->dump(); // test to see if the chat items in datastore are correctly dumped to json for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) { for (auto &c : DataStore::getChatDataStore()->getAllMemos()) diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 5223d04..ff56c79 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -32,6 +32,17 @@ ChatItem ChatDataStore::getData(QString key) QString ChatDataStore::dump() { + json chats; + chats["count"] = this->data.size(); + json j = {}; + for (auto &c: this->data) + { + j.push_back(c.second.toJson()); + } + chats["chatitems"] = j; + + std::string dump = chats.dump(4); + qDebug() << dump.c_str(); return ""; } diff --git a/src/DataStore/ContactDataStore.cpp b/src/DataStore/ContactDataStore.cpp new file mode 100644 index 0000000..4a1f691 --- /dev/null +++ b/src/DataStore/ContactDataStore.cpp @@ -0,0 +1,53 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + +#include "ContactDataStore.h" +#include + +ContactDataStore* ContactDataStore::getInstance() +{ + if(!ContactDataStore::instanced) + { + ContactDataStore::instanced = true; + ContactDataStore::instance = new ContactDataStore(); + } + + return ContactDataStore::instance; +} + +void ContactDataStore::clear() +{ + this->data.clear(); +} + + +void ContactDataStore::setData(QString key, ContactItem value) +{ + this->data[key] = value; +} + +ContactItem ContactDataStore::getData(QString key) +{ + return this->data[key]; +} + +QString ContactDataStore::dump() +{ + json contacts; + contacts["count"] = this->data.size(); + json j = {}; + for (auto &c: this->data) + { + qDebug() << c.second.toQTString(); + c.second.toJson(); + j.push_back(c.second.toJson()); + } + contacts["contacts"] = j; + + std::string dump = contacts.dump(4); + qDebug() << dump.c_str(); + return ""; +} + +ContactDataStore* ContactDataStore::instance = nullptr; +bool ContactDataStore::instanced = false; \ No newline at end of file diff --git a/src/DataStore/ContactDataStore.h b/src/DataStore/ContactDataStore.h new file mode 100644 index 0000000..009657e --- /dev/null +++ b/src/DataStore/ContactDataStore.h @@ -0,0 +1,34 @@ +#ifndef CONTACTDATASTORE_H +#define CONTACTDATASTORE_H +#include "../Model/ContactItem.h" +#include +using json = nlohmann::json; + +class ContactDataStore +{ + private: + static bool instanced; + static ContactDataStore* instance; + std::map data; + ContactDataStore() + { + + } + + public: + static ContactDataStore* getInstance(); + void clear(); + void setData(QString key, ContactItem value); + ContactItem getData(QString key); + QString dump(); + + ~ContactDataStore() + { + ContactDataStore::instanced = false; + ContactDataStore::instance = nullptr; + } +}; + + + +#endif \ No newline at end of file diff --git a/src/DataStore/DataStore.cpp b/src/DataStore/DataStore.cpp index d16c255..ae85ed6 100644 --- a/src/DataStore/DataStore.cpp +++ b/src/DataStore/DataStore.cpp @@ -8,4 +8,9 @@ SietchDataStore* DataStore::getSietchDataStore() ChatDataStore* DataStore::getChatDataStore() { return ChatDataStore::getInstance(); +} + +ContactDataStore* DataStore::getContactDataStore() +{ + return ContactDataStore::getInstance(); } \ No newline at end of file diff --git a/src/DataStore/DataStore.h b/src/DataStore/DataStore.h index 6715c02..9fa42d3 100644 --- a/src/DataStore/DataStore.h +++ b/src/DataStore/DataStore.h @@ -3,12 +3,14 @@ #include "SietchDataStore.h" #include "ChatDataStore.h" +#include "ContactDataStore.h" class DataStore { public: static SietchDataStore* getSietchDataStore(); static ChatDataStore* getChatDataStore(); + static ContactDataStore* getContactDataStore(); }; #endif \ No newline at end of file diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index afdde53..dd43785 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -150,6 +150,22 @@ QString ChatItem::toChatLine() return line; } +json ChatItem::toJson() +{ + json j; + j["_timestamp"] = _timestamp; + j["_address"] = _address.toStdString(); + j["_contact"] = _contact.toStdString(); + j["_memo"] = _memo.toStdString(); + j["_requestZaddr"] = _requestZaddr.toStdString(); + j["_type"] = _type.toStdString(); + j["_cid"] = _cid.toStdString(); + j["_txid"] = _txid.toStdString(); + j["_confirmations"] = _confirmations; + j["_outgoing"] = _outgoing; + return j; +} + ChatItem::~ChatItem() { diff --git a/src/Model/ChatItem.h b/src/Model/ChatItem.h index 6f27609..be8a807 100644 --- a/src/Model/ChatItem.h +++ b/src/Model/ChatItem.h @@ -5,6 +5,7 @@ #define CHATITEM_H #include +using json = nlohmann::json; class ChatItem { @@ -45,6 +46,7 @@ class ChatItem void setConfirmations(int confirmations); void toggleOutgo(); QString toChatLine(); + json toJson(); ~ChatItem(); }; diff --git a/src/Model/ContactItem.cpp b/src/Model/ContactItem.cpp index f338552..d38c1c5 100644 --- a/src/Model/ContactItem.cpp +++ b/src/Model/ContactItem.cpp @@ -63,4 +63,15 @@ void ContactItem::setAvatar(QString avatar) QString ContactItem::toQTString() { return _name + "|" + _partnerAddress + "|" + _myAddress + "|" + _cid + "|" + _avatar; +} + +json ContactItem::toJson() +{ + json j; + j["_myAddress"] = _myAddress.toStdString(); + j["_partnerAddress"] = _partnerAddress.toStdString(); + j["_name"] = _name.toStdString(); + j["_cid"] = _cid.toStdString(); + j["_avatar"] = _avatar.toStdString(); + return j; } \ No newline at end of file diff --git a/src/Model/ContactItem.h b/src/Model/ContactItem.h index a18d0f7..f066740 100644 --- a/src/Model/ContactItem.h +++ b/src/Model/ContactItem.h @@ -3,6 +3,7 @@ #include #include +using json = nlohmann::json; class ContactItem { @@ -27,6 +28,7 @@ public: void setcid(QString cid); void setAvatar(QString avatar); QString toQTString(); + json toJson(); }; #endif \ No newline at end of file diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 55a3b5e..58c8695 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -7,6 +7,7 @@ #include "settings.h" #include "mainwindow.h" #include "controller.h" +#include "DataStore/DataStore.h" #include "FileSystem/FileSystem.h" @@ -398,6 +399,13 @@ void AddressBook::readFromStorage() } }*/ allLabels = FileSystem::getInstance()->readContacts(AddressBook::writeableFile()); + + // test to see if the contact items in datastore are correctly dumped to json + for(ContactItem item: allLabels) + { + DataStore::getContactDataStore()->setData(item.getCid(), item); + } + DataStore::getContactDataStore()->dump(); } void AddressBook::writeToStorage() From e6b8f000c94ff14f5f7f6dfe5c839334bc6246ad Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sun, 17 May 2020 14:57:38 +0200 Subject: [PATCH 114/251] update// added new writer method to filesystem to convert old format to new --- .gdb_history | 15 +++++++ peda-session-SilentDragonLite.txt | 2 +- src/DataStore/ChatDataStore.cpp | 5 +-- src/DataStore/ContactDataStore.cpp | 5 +-- src/FileSystem/FileSystem.cpp | 65 +++++++++++++++++++++--------- src/FileSystem/FileSystem.h | 9 ++++- src/addressbook.cpp | 7 +++- 7 files changed, 76 insertions(+), 32 deletions(-) diff --git a/.gdb_history b/.gdb_history index 2eb34c2..4e303b8 100644 --- a/.gdb_history +++ b/.gdb_history @@ -33,3 +33,18 @@ c c c q +b FileSystem::writeContacts(QString file, json j) +b FileSystem::writeContacts +r +q +b FileSystem::writeContacts +r +b ContactDataStore::dump() +r +c +n +q +b FileSystem::writeContacts +r +n +q diff --git a/peda-session-SilentDragonLite.txt b/peda-session-SilentDragonLite.txt index 87f58c8..f57fa7c 100644 --- a/peda-session-SilentDragonLite.txt +++ b/peda-session-SilentDragonLite.txt @@ -1,2 +1,2 @@ -break ContactItem::toJson() +break FileSystem::writeContacts diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index ff56c79..22c10f5 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -40,10 +40,7 @@ QString ChatDataStore::dump() j.push_back(c.second.toJson()); } chats["chatitems"] = j; - - std::string dump = chats.dump(4); - qDebug() << dump.c_str(); - return ""; + return QString::fromStdString(chats.dump()); } std::map ChatDataStore::getAllRawChatItems() diff --git a/src/DataStore/ContactDataStore.cpp b/src/DataStore/ContactDataStore.cpp index 4a1f691..e853770 100644 --- a/src/DataStore/ContactDataStore.cpp +++ b/src/DataStore/ContactDataStore.cpp @@ -43,10 +43,7 @@ QString ContactDataStore::dump() j.push_back(c.second.toJson()); } contacts["contacts"] = j; - - std::string dump = contacts.dump(4); - qDebug() << dump.c_str(); - return ""; + return QString::fromStdString(contacts.dump(4)); } ContactDataStore* ContactDataStore::instance = nullptr; diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index 5ee2fef..49c8178 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -20,6 +20,51 @@ FileSystem* FileSystem::getInstance() } QList FileSystem::readContacts(QString file) +{ + return this->readContactsOldFormat(file); //will be called if addresses are in the old dat-format +} + +void FileSystem::writeContacts(QString file, QString data) +{ + qDebug() << data; + QFile _file(file); + if (_file.exists()) + { + std::ofstream f(file.toStdString().c_str()); + if(f.is_open()) + { + f << data.toStdString(); + } + + f.close(); + } + else + { + qInfo() << file << "not exist"; + } +} + +void FileSystem::writeContactsOldFormat(QString file, QList contacts) +{ + QFile _file(file); + _file.open(QIODevice::ReadWrite | QIODevice::Truncate); + QDataStream out(&_file); // we will serialize the data into the file + QList> _contacts; + for(auto &item: contacts) + { + QList c; + c.push_back(item.getName()); + c.push_back(item.getPartnerAddress()); + c.push_back(item.getMyAddress()); + c.push_back(item.getCid()); + c.push_back(item.getAvatar()); + _contacts.push_back(c); + } + out << QString("v1") << _contacts; + _file.close(); +} + +QList FileSystem::readContactsOldFormat(QString file) { QList contacts; QFile _file(file); @@ -51,26 +96,6 @@ QList FileSystem::readContacts(QString file) return contacts; } -void FileSystem::writeContacts(QString file, QList contacts) -{ - QFile _file(file); - _file.open(QIODevice::ReadWrite | QIODevice::Truncate); - QDataStream out(&_file); // we will serialize the data into the file - QList> _contacts; - for(auto &item: contacts) - { - QList c; - c.push_back(item.getName()); - c.push_back(item.getPartnerAddress()); - c.push_back(item.getMyAddress()); - c.push_back(item.getCid()); - c.push_back(item.getAvatar()); - _contacts.push_back(c); - } - out << QString("v1") << _contacts; - _file.close(); -} - FileSystem::~FileSystem() { this->instance = nullptr; diff --git a/src/FileSystem/FileSystem.h b/src/FileSystem/FileSystem.h index 995c586..30dd5fc 100644 --- a/src/FileSystem/FileSystem.h +++ b/src/FileSystem/FileSystem.h @@ -5,7 +5,8 @@ #include #include "../Model/ContactItem.h" #include "../Crypto/FileEncryption.h" - +#include +using json = nlohmann::json; class FileSystem { private: @@ -16,7 +17,11 @@ class FileSystem public: static FileSystem* getInstance(); QList readContacts(QString file); - void writeContacts(QString file, QList contacts); + void writeContacts(QString file, QString data); + + //converter + QList readContactsOldFormat(QString file); + void writeContactsOldFormat(QString file, QList contacts); ~FileSystem(); }; diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 58c8695..b557dd9 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -406,11 +406,16 @@ void AddressBook::readFromStorage() DataStore::getContactDataStore()->setData(item.getCid(), item); } DataStore::getContactDataStore()->dump(); + AddressBook::writeToStorage(); } void AddressBook::writeToStorage() { - FileSystem::getInstance()->writeContacts(AddressBook::writeableFile(), allLabels); + //FileSystem::getInstance()->writeContacts(AddressBook::writeableFile(), DataStore::getContactDataStore()->dump()); + + FileSystem::getInstance()->writeContactsOldFormat(AddressBook::writeableFile(), allLabels); + + /*QFile file(AddressBook::writeableFile()); file.open(QIODevice::ReadWrite | QIODevice::Truncate); QDataStream out(&file); // we will serialize the data into the file From ea7f3bc72a50cb641c19a4fbf5913f0195629cf7 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Sun, 17 May 2020 15:03:49 +0200 Subject: [PATCH 115/251] update// implemented reader for addressbook --- src/FileSystem/FileSystem.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index 49c8178..d560d98 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -22,6 +22,23 @@ FileSystem* FileSystem::getInstance() QList FileSystem::readContacts(QString file) { return this->readContactsOldFormat(file); //will be called if addresses are in the old dat-format + + QFile _file(file); + if (_file.exists()) + { + std::ifstream f(file.toStdString().c_str(), std::ios::binary); + if(f.is_open()) + { + std::vector buffer(std::istreambuf_iterator(f), {}); + //todo covert to string to use is as json to feed the data store in addressbook + } + + f.close(); + } + else + { + qInfo() << file << "not exist"; + } } void FileSystem::writeContacts(QString file, QString data) @@ -33,6 +50,8 @@ void FileSystem::writeContacts(QString file, QString data) std::ofstream f(file.toStdString().c_str()); if(f.is_open()) { + //ENCRYPT HERE + f << data.toStdString(); } From 3431af2f6e6e29658562125776996fdac0b5a15f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 17 May 2020 19:39:14 +0200 Subject: [PATCH 116/251] update lib --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 01613d0..b48d1b4 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=e368816c6d12267f25fbebec0aaac4c15d62d2a3)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359#32ca60735b3529ff8589ab08fc16678f508a9359" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=e368816c6d12267f25fbebec0aaac4c15d62d2a3#e368816c6d12267f25fbebec0aaac4c15d62d2a3" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=e368816c6d12267f25fbebec0aaac4c15d62d2a3)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index fba5265..9784a1a 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "32ca60735b3529ff8589ab08fc16678f508a9359" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "e368816c6d12267f25fbebec0aaac4c15d62d2a3" } From 41e3bbdfae808f7496aab68dca27c4570686b64c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 20 May 2020 20:53:14 +0200 Subject: [PATCH 117/251] add new icons, dont write over send button --- application.qrc | 9 +++ res/addContactBlack.png | Bin 0 -> 21089 bytes res/addContactWhite.png | Bin 0 -> 12617 bytes res/getAddrBlack.png | Bin 0 -> 20966 bytes res/getAddrWhite.png | Bin 0 -> 12887 bytes res/lock_green.png | Bin 0 -> 1041 bytes res/requestBlack.png | Bin 0 -> 22429 bytes res/requestWhite.png | Bin 0 -> 12883 bytes res/send-white.png | Bin 0 -> 11875 bytes res/sendBlack.png | Bin 0 -> 16812 bytes res/unlocked.png | Bin 0 -> 1006 bytes src/DataStore/ChatDataStore.cpp | 24 +++++++- src/DataStore/ChatDataStore.h | 3 +- src/chatmodel.cpp | 77 +++++++++++++------------ src/chatmodel.h | 5 ++ src/contactrequest.ui | 18 ++++-- src/mainwindow.cpp | 29 ++++------ src/mainwindow.h | 5 -- src/mainwindow.ui | 98 ++++++++++++++------------------ 19 files changed, 147 insertions(+), 121 deletions(-) create mode 100644 res/addContactBlack.png create mode 100644 res/addContactWhite.png create mode 100644 res/getAddrBlack.png create mode 100644 res/getAddrWhite.png create mode 100644 res/lock_green.png create mode 100644 res/requestBlack.png create mode 100644 res/requestWhite.png create mode 100644 res/send-white.png create mode 100644 res/sendBlack.png create mode 100644 res/unlocked.png diff --git a/application.qrc b/application.qrc index d323bff..7ab9af5 100644 --- a/application.qrc +++ b/application.qrc @@ -41,6 +41,15 @@ res/lock_green.svg res/lock_blue.svg res/unlocked.svg + res/getAddrWhite.png + res/send-white.png + res/requestWhite.png + res/addContactWhite.png + res/getAddrBlack.png + res/sendBlack.png + res/requestBlack.png + res/addContactBlack.png +
res/hushdlogo.gif diff --git a/res/addContactBlack.png b/res/addContactBlack.png new file mode 100644 index 0000000000000000000000000000000000000000..984c6e3e10659d2923f961ae2243b0be928b56da GIT binary patch literal 21089 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 literal 0 HcmV?d00001 diff --git a/res/addContactWhite.png b/res/addContactWhite.png new file mode 100644 index 0000000000000000000000000000000000000000..fea4efc6eb1278e228ffb015041034d288a69afc GIT binary patch literal 12617 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 ab|vNW;h(G-u@8fPCX7!>JUC8X{Qm(Zf7iAE literal 0 HcmV?d00001 diff --git a/res/getAddrWhite.png b/res/getAddrWhite.png new file mode 100644 index 0000000000000000000000000000000000000000..6caeeae319540c6c3bbc1b0b91af02aa7e042a72 GIT binary patch literal 12887 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 literal 0 HcmV?d00001 diff --git a/res/lock_green.png b/res/lock_green.png new file mode 100644 index 0000000000000000000000000000000000000000..cd7c2abaa256da5a3c5675a42e005578830973b6 GIT binary patch literal 1041 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 literal 0 HcmV?d00001 diff --git a/res/send-white.png b/res/send-white.png new file mode 100644 index 0000000000000000000000000000000000000000..96c76214708a25c7218a7472b9aadcb520517890 GIT binary patch literal 11875 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 AAOHXW literal 0 HcmV?d00001 diff --git a/res/sendBlack.png b/res/sendBlack.png new file mode 100644 index 0000000000000000000000000000000000000000..62d9d1e25f4f452aecaa6c35b682028fa361dbf3 GIT binary patch literal 16812 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 literal 0 HcmV?d00001 diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 22c10f5..2ede26d 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -2,6 +2,7 @@ // GPLv3 #include "ChatDataStore.h" +#include "addressbook.h" ChatDataStore* ChatDataStore::getInstance() { @@ -48,15 +49,15 @@ std::map ChatDataStore::getAllRawChatItems() return this->data; } -std::map ChatDataStore::getAllContactRequests() +std::map ChatDataStore::getAllNewContactRequests() { std::map filteredItems; for(auto &c: this->data) { if ( (c.second.isOutgoing() == false) && - (c.second.getType() == "cont") && - (c.second.getMemo().startsWith("{")) + (c.second.getType() == "cont") + ) { filteredItems[c.first] = c.second; @@ -65,6 +66,23 @@ std::map ChatDataStore::getAllContactRequests() return filteredItems; } +std::map ChatDataStore::getAllOldContactRequests() +{ + std::map filteredItems; + for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) + for(auto &c: this->data) + { + if ( + (c.second.isOutgoing() == false) && + (c.second.getType() == "cont") && + (p.getPartnerAddress() == c.second.getRequestZaddr()) + ) + { + filteredItems[c.first] = c.second; + } + } + return filteredItems; +} std::map ChatDataStore::getAllMemos() { diff --git a/src/DataStore/ChatDataStore.h b/src/DataStore/ChatDataStore.h index 444c704..7fb0998 100644 --- a/src/DataStore/ChatDataStore.h +++ b/src/DataStore/ChatDataStore.h @@ -22,7 +22,8 @@ class ChatDataStore void setData(QString key, ChatItem value); ChatItem getData(QString key); std::map getAllRawChatItems(); - std::map getAllContactRequests(); + std::map getAllNewContactRequests(); + std::map getAllOldContactRequests(); std::map getAllMemos(); QString dump(); diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 1e72714..b669302 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -10,7 +10,6 @@ #include "addressbook.h" #include "ui_memodialog.h" #include "ui_contactrequest.h" -#include "addressbook.h" #include #include #include "DataStore/DataStore.h" @@ -97,7 +96,7 @@ void MainWindow::renderContactRequest(){ QStandardItemModel* contactRequest = new QStandardItemModel(); { - for (auto &c : DataStore::getChatDataStore()->getAllContactRequests()) + for (auto &c : DataStore::getChatDataStore()->getAllOldContactRequests()) { QStandardItem* Items = new QStandardItem(c.second.getAddress()); @@ -109,18 +108,17 @@ void MainWindow::renderContactRequest(){ QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { - for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){//this->chatItems){ + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){ QModelIndex index = requestContact.requestContact->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); QStandardItemModel* contactMemo = new QStandardItemModel(); - if (c.second.isOutgoing() == false) { - if (label_contact == c.second.getAddress()) { - if(c.second.getMemo().startsWith("{")){ + if ((c.second.isOutgoing() == false) && (label_contact == c.second.getAddress()) && (c.second.getType() == "cont")) + + { - }else{ QStandardItem* Items = new QStandardItem(c.second.getMemo()); - contactMemo->appendRow(Items); + contactMemo->appendRow(Items); requestContact.requestMemo->setModel(contactMemo); requestContact.requestMemo->show(); @@ -128,11 +126,11 @@ void MainWindow::renderContactRequest(){ requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestCID->setText(c.second.getCid()); requestContact.requestMyAddr->setText(c.second.getAddress()); - } + }else{} } - } - } + + }); QObject::connect(requestContact.pushButton, &QPushButton::clicked, [&] () { @@ -173,7 +171,6 @@ void MainWindow::renderContactRequest(){ QMessageBox::information(this, "Added Contact","successfully added your new contact. You can now Chat with this contact"); }); - dialog.exec(); } @@ -425,7 +422,8 @@ QString MainWindow::doSendChatTxValidations(Tx tx) { } void::MainWindow::addContact() { - + + Ui_Dialog request; QDialog dialog(this); request.setupUi(&dialog); @@ -434,24 +432,31 @@ void::MainWindow::addContact() { bool sapling = true; rpc->createNewZaddr(sapling, [=] (json reply) { QString myAddr = QString::fromStdString(reply.get()[0]); - QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + request.myzaddr->setText(myAddr); ui->listReceiveAddresses->insertItem(0, myAddr); ui->listReceiveAddresses->setCurrentIndex(0); - qDebug() << "new generated myAddr" << myAddr; - request.myzaddr->setText(myAddr); + }); + + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); request.cid->setText(cid); - }); + + QObject::connect(request.sendRequestButton, &QPushButton::clicked, [&] () { + QString cid = request.cid->text(); auto addr = request.zaddr->text().trimmed(); QString newLabel = request.labelRequest->text().trimmed(); auto myAddr = request.myzaddr->text().trimmed(); + // ChatModel->addSendRequest(myAddr, cid, addr); + + + QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); if (addr.isEmpty() || newLabel.isEmpty()) @@ -490,15 +495,24 @@ void::MainWindow::addContact() { return; }); - dialog.exec(); } + + // Create a Tx for a contact Request Tx MainWindow::createTxForSafeContactRequest() { - Tx tx; + Ui_Dialog request; + QDialog dialog(this); + request.setupUi(&dialog); + Settings::saveRestore(&dialog); + +Tx tx; + +{ + // For each addr/amt in the Chat tab { @@ -510,18 +524,14 @@ Tx MainWindow::createTxForSafeContactRequest() { amt = CAmount::fromDecimalString("0"); totalAmt = totalAmt + amt; - - for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - if (ui->contactNameMemo->text().trimmed() == c.getName()) { - - - QString cid = c.getCid(); - QString myAddr = c.getMyAddress(); + + QString cid = request.cid->text(); + QString myAddr = request.myzaddr->text().trimmed(); QString type = "cont"; - QString addr = c.getPartnerAddress(); + QString addr = request.zaddr->text().trimmed(); QString hmemo= createHeaderMemo(type,cid,myAddr); - QString memo = ui->memoTxtChat->toPlainText().trimmed(); + QString memo = request.memorequest->toPlainText().trimmed(); tx.toAddrs.push_back(ToFields{addr, amt, memo}); tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); @@ -532,19 +542,16 @@ Tx MainWindow::createTxForSafeContactRequest() { } tx.fee = Settings::getMinerFee(); - +} return tx; qDebug() << "RequestTx created"; - - } - } void MainWindow::ContactRequest() { - if (ui->contactNameMemo->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { + /* if (request.labelRequest->text().trimmed().isEmpty() || request.memorequest->toPlainText().trimmed().isEmpty()) { // auto addr = ""; // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { @@ -554,7 +561,7 @@ void MainWindow::ContactRequest() { msg.exec(); return; - } + }*/ Tx tx = createTxForSafeContactRequest(); @@ -632,7 +639,7 @@ void MainWindow::ContactRequest() { QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); } ); - + } diff --git a/src/chatmodel.h b/src/chatmodel.h index bf3e255..a96f3bd 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -19,6 +19,9 @@ #include "Chat/Helper/ChatDelegator.h" #include "Chat/Helper/ChatIDGenerator.h" +namespace Ui { + class MainWindow; +} class ChatModel { private: @@ -28,6 +31,7 @@ class ChatModel MainWindow* main; std::map cidMap; std::map requestZaddrMap; + std::map> sendrequestMap; public: ChatModel() {}; @@ -44,6 +48,7 @@ class ChatModel void addMessage(QString timestamp, ChatItem item); void addCid(QString tx, QString cid); void addrequestZaddr(QString tx, QString requestZaddr); + void addSendRequest(int i, QString myAddr, QString cid, QString addr ); QString getCidByTx(QString tx); QString getrequestZaddrByTx(QString tx); void killCidCache(); diff --git a/src/contactrequest.ui b/src/contactrequest.ui index d2ae8ef..9ce3c22 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -14,7 +14,7 @@ Send a contact request - + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> @@ -28,7 +28,7 @@ - + @@ -185,6 +185,9 @@ + + + @@ -192,7 +195,7 @@ - + @@ -231,6 +234,13 @@ + + + + Send Contact + + + @@ -255,7 +265,7 @@ sendRequestButton clicked() Dialog - accept() + update() 536 diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index de034ac..b3868d4 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1011,52 +1011,45 @@ void MainWindow::setupchatTab() { auto theme = Settings::getInstance()->get_theme_name(); if (theme == "dark" || theme == "midnight") { - QPixmap send(":/icons/res/send-new-white.png"); + QPixmap send(":/icons/res/send-white.png"); QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); - QPixmap notification(":/icons/res/notification.png"); + QPixmap notification(":/icons/res/requestWhite.png"); QIcon notificationIcon(notification); ui->pushContact->setIcon(notificationIcon); - QPixmap addContact(":/icons/res/add_contact.png"); + QPixmap addContact(":/icons/res/addContactWhite.png"); QIcon addContactIcon(addContact); ui->safeContactRequest->setIcon(addContactIcon); - QPixmap newAddr(":/icons/res/add_contact.png"); + QPixmap newAddr(":/icons/res/getAddrWhite.png"); QIcon addnewAddrIcon(newAddr); ui->givemeZaddr->setIcon(addnewAddrIcon); - QPixmap sendContact(":/icons/res/upload.png"); - QIcon addSendContactIcon(sendContact); - ui->sendContact->setIcon(addSendContactIcon); }else{ - QPixmap pixmap(":/icons/res/send-new.svg"); - QIcon sendIcon(pixmap); + + QPixmap send(":/icons/res/sendBlack.png"); + QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); - QPixmap notification(":/icons/res/notification.svg"); + QPixmap notification(":/icons/res/requestBlack.png"); QIcon notificationIcon(notification); ui->pushContact->setIcon(notificationIcon); - QPixmap addContact(":/icons/res/add_contact.svg"); + QPixmap addContact(":/icons/res/addContactBlack.png"); QIcon addContactIcon(addContact); - ui->safeContactRequest->setIcon(addContact); + ui->safeContactRequest->setIcon(addContactIcon); - QPixmap newAddr(":/icons/res/add_contact.svg"); + QPixmap newAddr(":/icons/res/getAddrBlack.png"); QIcon addnewAddrIcon(newAddr); ui->givemeZaddr->setIcon(addnewAddrIcon); - - QPixmap sendContact(":/icons/res/upload.svg"); - QIcon addSendContactIcon(sendContact); - ui->sendContact->setIcon(addSendContactIcon); } QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); - QObject::connect(ui->sendContact, &QPushButton::clicked, this, &MainWindow::ContactRequest); QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); QObject::connect(ui->pushContact, &QPushButton::clicked, this , &MainWindow::renderContactRequest); diff --git a/src/mainwindow.h b/src/mainwindow.h index ff4b76a..ea0a3a4 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -62,12 +62,7 @@ public: void updateLabels(); void updateTAddrCombo(bool checked); - // void renderContactRequest(); - // void setChatItem(ChatItem* item); - //void ChatItem* getChatItem(); - - // Disable recurring on mainnet void disableRecurring(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 3e82d7a..82b4260 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1409,9 +1409,21 @@ 81 + + false + font: 11pt "Noto Color Emoji"; + + QTextEdit::AutoNone + + + QTextEdit::FixedColumnWidth + + + 80 + @@ -1435,7 +1447,7 @@ - 1170 + 1160 560 91 81 @@ -1455,12 +1467,12 @@ - :/icons/res/send-new-white.png + :/icons/res/sendBlack.png - 41 + 50 49 @@ -1533,18 +1545,21 @@ 0 + + Add a new contact + - :/icons/res/add_contact.png + :/icons/res/addContactBlack.png - 43 - 49 + 50 + 45 @@ -1554,10 +1569,10 @@ - 10 - 30 - 41 - 41 + 50 + 20 + 61 + 51 @@ -1566,6 +1581,9 @@ 0 + + Incoming contact request + false @@ -1574,71 +1592,41 @@ - :/icons/res/notification.png:/icons/res/notification.png + :/icons/res/requestBlack.png:/icons/res/requestBlack.png - 33 - 35 + 50 + 45 true - + - 270 - 510 - 51 + 210 + 20 + 61 51 - - - 100 - 0 - + + Get a new Address - - - :/icons/res/add_contact.png - - - - - 43 - 49 - - - - true - - - - - - 60 - 30 - 111 - 41 - - - - New Addr - - :/icons/res/add_contact.png:/icons/res/add_contact.png + :/icons/res/getAddrBlack.png:/icons/res/getAddrBlack.png - 33 - 35 + 50 + 45 @@ -1648,8 +1636,8 @@ - 40 - 20 + 90 + 10 21 16 @@ -2042,7 +2030,7 @@ AddressCombo QComboBox -
addresscombo.h
+
addresscombo.h
QRCodeLabel From da65008a880a1c41e89e37930705004d27b52972 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 20 May 2020 20:58:23 +0200 Subject: [PATCH 118/251] change text with theme --- src/mainwindow.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b3868d4..e895947 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1027,6 +1027,8 @@ void MainWindow::setupchatTab() { QIcon addnewAddrIcon(newAddr); ui->givemeZaddr->setIcon(addnewAddrIcon); + ui->memoTxtChat->setTextColor("White"); + }else{ QPixmap send(":/icons/res/sendBlack.png"); @@ -1044,6 +1046,8 @@ void MainWindow::setupchatTab() { QPixmap newAddr(":/icons/res/getAddrBlack.png"); QIcon addnewAddrIcon(newAddr); ui->givemeZaddr->setIcon(addnewAddrIcon); + + ui->memoTxtChat->setTextColor("Black"); } @@ -1109,11 +1113,6 @@ void ChatMemoEdit::setMaxLen(int len) { updateDisplay(); } -void ChatMemoEdit::setSendChatButton(QPushButton* button) { - this->sendChatButton = button; -} - - void MainWindow::updateChat() { rpc->refreshChat(ui->listChat); From 69799fb81260fd9fd2f911f5daeb2c137f32f307 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 20 May 2020 23:53:39 +0200 Subject: [PATCH 119/251] fix selection on chattab --- src/DataStore/ChatDataStore.cpp | 7 +- src/Model/ChatItem.cpp | 2 +- src/chatmodel.cpp | 106 +++--- src/contactrequest.ui | 18 +- src/controller.cpp | 19 +- src/mainwindow.h | 1 + src/requestContactDialog.ui | 627 +++++++++++++++----------------- 7 files changed, 383 insertions(+), 397 deletions(-) diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 2ede26d..1313103 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -52,11 +52,14 @@ std::map ChatDataStore::getAllRawChatItems() std::map ChatDataStore::getAllNewContactRequests() { std::map filteredItems; + for(auto &c: this->data) { if ( (c.second.isOutgoing() == false) && - (c.second.getType() == "cont") + (c.second.getType() == "Cont") && + (c.second.getContact() == "") + ) { @@ -74,7 +77,7 @@ std::map ChatDataStore::getAllOldContactRequests() { if ( (c.second.isOutgoing() == false) && - (c.second.getType() == "cont") && + (c.second.getType() == "Cont") && (p.getPartnerAddress() == c.second.getRequestZaddr()) ) { diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index dd43785..540c7ba 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -144,7 +144,7 @@ QString ChatItem::toChatLine() } - QString line = QString("") + myDateTime.toString("dd.MM.yyyy hh:mm"); + QString line = QString("") + myDateTime.toString("dd.MM.yyyy hh:mm"); line += QString(lock) + QString(""); line += QString("

") + _memo.toHtmlEscaped() + QString("

"); return line; diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index b669302..450d903 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -26,20 +26,6 @@ ChatModel::ChatModel(std::vector chatItems) this->setItems(chatItems); } -/*QString ChatModel::generateChatItemID(ChatItem item) -{ - QString key = QString::number(item.getTimestamp()) + QString("-"); - key += QString(QCryptographicHash::hash( - QString( - QString::number(item.getTimestamp()) + - item.getAddress() + - item.getContact() + - item.getMemo() - ).toUtf8() - ,QCryptographicHash::Md5).toHex()); - return key; -}*/ - std::map ChatModel::getItems() { return this->chatItems; @@ -81,10 +67,12 @@ void ChatModel::showMessages() { for(auto &c : this->chatItems) { - qDebug() << c.second.toChatLine(); + // qDebug() << c.second.toChatLine(); } } + + void MainWindow::renderContactRequest(){ @@ -95,8 +83,11 @@ void MainWindow::renderContactRequest(){ QStandardItemModel* contactRequest = new QStandardItemModel(); - { - for (auto &c : DataStore::getChatDataStore()->getAllOldContactRequests()) + // auto labels = AddressBook::getInstance()->getAllAddressLabels(); + for (auto &c : DataStore::getChatDataStore()->getAllNewContactRequests()) + + + // if (labels.adress() != c.second.getRequestZaddr()) { QStandardItem* Items = new QStandardItem(c.second.getAddress()); @@ -104,7 +95,17 @@ void MainWindow::renderContactRequest(){ requestContact.requestContact->setModel(contactRequest); requestContact.requestContact->show(); } - } + QStandardItemModel* contactRequestOld = new QStandardItemModel(); + + for (auto &c : DataStore::getChatDataStore()->getAllOldContactRequests()) + { + + QStandardItem* Items = new QStandardItem(c.second.getAddress()); + contactRequestOld->appendRow(Items); + requestContact.requestContactOld->setModel(contactRequestOld); + requestContact.requestContactOld->show(); + } + //} QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { @@ -113,7 +114,7 @@ void MainWindow::renderContactRequest(){ QString label_contact = index.data(Qt::DisplayRole).toString(); QStandardItemModel* contactMemo = new QStandardItemModel(); - if ((c.second.isOutgoing() == false) && (label_contact == c.second.getAddress()) && (c.second.getType() == "cont")) + if ((c.second.isOutgoing() == false) && (label_contact == c.second.getAddress()) && (c.second.getType() != "Cont")) { @@ -283,7 +284,8 @@ Tx MainWindow::createTxFromChatPage() { qDebug() << "pushback chattx"; - } } + } + } tx.fee = Settings::getMinerFee(); @@ -440,16 +442,14 @@ void::MainWindow::addContact() { QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); request.cid->setText(cid); - - - - - + QObject::connect(request.sendRequestButton, &QPushButton::clicked, [&] () { - + + QString cid = request.cid->text(); auto addr = request.zaddr->text().trimmed(); + QString getrequest = addr; QString newLabel = request.labelRequest->text().trimmed(); auto myAddr = request.myzaddr->text().trimmed(); @@ -494,27 +494,28 @@ void::MainWindow::addContact() { ); return; + }); + + + // QObject::connect(request.sendRequestButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); dialog.exec(); + rpc->refreshContacts( + ui->listContactWidget + + ); } // Create a Tx for a contact Request Tx MainWindow::createTxForSafeContactRequest() { - - Ui_Dialog request; - QDialog dialog(this); - request.setupUi(&dialog); - Settings::saveRestore(&dialog); - + Tx tx; { - - // For each addr/amt in the Chat tab { CAmount totalAmt; QString amtStr = "0"; @@ -525,29 +526,40 @@ Tx tx; totalAmt = totalAmt + amt; - QString cid = request.cid->text(); - QString myAddr = request.myzaddr->text().trimmed(); - QString type = "cont"; - QString addr = request.zaddr->text().trimmed(); + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + + if (ui->contactNameMemo->text().trimmed() == c.getName()) { - QString hmemo= createHeaderMemo(type,cid,myAddr); - QString memo = request.memorequest->toPlainText().trimmed(); + QString cid = c.getCid(); + QString myAddr = c.getMyAddress(); + QString type = "Cont"; + QString addr = c.getPartnerAddress(); + + + QString hmemo= createHeaderMemo(type,cid,myAddr); + QString memo = ui->memoTxtChat->toPlainText().trimmed(); + - tx.toAddrs.push_back(ToFields{addr, amt, memo}); - tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); - + // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat + + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); + tx.toAddrs.push_back(ToFields{addr, amt, memo}); - qDebug() << "pushback chattx"; - - } + + + qDebug() << "pushback chattx"; + tx.fee = Settings::getMinerFee(); + + } } return tx; qDebug() << "RequestTx created"; } +} void MainWindow::ContactRequest() { @@ -671,4 +683,4 @@ QString MainWindow::doSendRequestTxValidations(Tx tx) { } return ""; -} \ No newline at end of file +} diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 9ce3c22..e099111 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -6,15 +6,15 @@ 0 0 - 780 - 416 + 777 + 427
Send a contact request - + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> @@ -185,9 +185,6 @@ - - - @@ -234,13 +231,6 @@ - - - - Send Contact - - -
@@ -265,7 +255,7 @@ sendRequestButton clicked() Dialog - update() + accept() 536 diff --git a/src/controller.cpp b/src/controller.cpp index 534fffe..db895a1 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -102,6 +102,10 @@ void Controller::setConnection(Connection* c) DataStore::getSietchDataStore()->setData("Sietch" + QString(i), zdust.toUtf8()); }); } + refreshContacts( + ui->listContactWidget + + ); } // Build the RPC JSON Parameters for this tx @@ -797,6 +801,7 @@ void Controller::refreshBalances() CAmount balAvailable = balT + balVerified; model->setAvailableBalance(balAvailable); updateUIBalances(); + }); // 2. Get the UTXOs @@ -881,8 +886,8 @@ void Controller::refreshTransactions() { confirmations, true ); - qDebug()<<"Memo : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); @@ -978,8 +983,8 @@ void Controller::refreshTransactions() { confirmations, false ); - qDebug()<< "Position : " << position; - qDebug()<<"Confirmation :" << confirmations; + // qDebug()<< "Position : " << position; + // qDebug()<<"Confirmation :" << confirmations; DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } @@ -1005,10 +1010,10 @@ void Controller::refreshTransactions() { // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); chat->renderChatBox(ui, ui->listChat); - refreshContacts( - ui->listContactWidget + // refreshContacts( + // ui->listContactWidget - ); + // ); }); } diff --git a/src/mainwindow.h b/src/mainwindow.h index ea0a3a4..4419fcb 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -50,6 +50,7 @@ public: QString doSendTxValidations(Tx tx); QString doSendChatTxValidations(Tx tx); QString doSendRequestTxValidations(Tx tx); + QString getCid(); void replaceWormholeClient(WormholeClient* newClient); bool isWebsocketListening(); diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index b862cda..d2a3b68 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -6,350 +6,325 @@ 0 0 - 1011 - 503 + 1025 + 562
Incoming contact request - - - - 9 - 9 - 256 - 461 - - - - true - - - QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked - - - false - - - QAbstractItemView::SingleSelection - - - - - - 263 - 9 - 741 - 271 - - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - QAbstractScrollArea::AdjustToContents - - - QAbstractItemView::NoEditTriggers - - - QListView::Adjust - - - 0 - - - false - - - true - - - - - - 276 - 296 - 101 - 17 - - - - Request from : - - - - - - 393 - 296 - 601 - 25 - - - - - - - 276 - 327 - 30 - 17 - - - - Cid : - - - - - - 393 - 327 - 601 - 25 - - - - - - - 276 - 358 - 71 - 17 - - - - My Zaddr : - - - - - - 393 - 358 - 601 - 25 - - - - - - - 276 - 389 - 68 - 17 - - - - Nickname - - - - - - 393 - 389 - 221 - 25 - - - - - - - 276 - 420 - 228 - 17 - - - - <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> - - - - - - 510 - 420 - 106 - 25 - - - - - Stag - - - - :/icons/res/Stag.png - - + + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + + - - - Elsa - - - - :/icons/res/Elsa.png - - + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> + + - - - Denio - - - - :/icons/res/Denio.png - - + + + + true + + + QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked + + + false + + + QAbstractItemView::SingleSelection + + - - - Duke - - - - :/icons/res/Duke.png - - + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + QAbstractScrollArea::AdjustToContents + + + QAbstractItemView::NoEditTriggers + + + QListView::Adjust + + + 0 + + + false + + + true + + - - - Yoda - - - - :/icons/res/Yoda.png - - + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + + - - - Berg - - - - :/icons/res/Berg.png - - + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + - - - Sharpee - - - - :/icons/res/Sharpee.png - - + + + + true + + + QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked + + + false + + + QAbstractItemView::SingleSelection + + - - - Garfield - - - - :/icons/res/Garfield.png - - + + + + Request from : + + - - - Snoopy - - - - :/icons/res/Snoopy.png - - + + - - - Popey - - - - :/icons/res/Popey.png - - + + + + Cid : + + - - - Pinguin - - - - :/icons/res/Pinguin.png - - + + - - - Mickey - - - - :/icons/res/Mickey.png - - + + + + My Zaddr : + + - - - SDLogo - - - - :/icons/res/sdlogo2.png - - + + - - - - - 300 - 470 - 80 - 25 - - - - - 100 - 0 - - - - Cancel - - - false - - - - - - 400 - 470 - 101 - 25 - - - - Add Contact - - + + + + Nickname + + + + + + + + + + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + + + + + + + + Stag + + + + :/icons/res/Stag.png + + + + + + Elsa + + + + :/icons/res/Elsa.png + + + + + + Denio + + + + :/icons/res/Denio.png + + + + + + Duke + + + + :/icons/res/Duke.png + + + + + + Yoda + + + + :/icons/res/Yoda.png + + + + + + Berg + + + + :/icons/res/Berg.png + + + + + + Sharpee + + + + :/icons/res/Sharpee.png + + + + + + Garfield + + + + :/icons/res/Garfield.png + + + + + + Snoopy + + + + :/icons/res/Snoopy.png + + + + + + Popey + + + + :/icons/res/Popey.png + + + + + + Pinguin + + + + :/icons/res/Pinguin.png + + + + + + Mickey + + + + :/icons/res/Mickey.png + + + + + + SDLogo + + + + :/icons/res/sdlogo2.png + + + + + + + + + + 100 + 0 + + + + Cancel + + + false + + + + + + + Add this new Contact + + + +
- + + + cancel + clicked() + requestDialog + reject() + + + 339 + 482 + + + 505 + 251 + + + + From ca090d62ddd91f2edf27477bcda3f93d947ea2ec Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 21 May 2020 00:08:32 +0200 Subject: [PATCH 120/251] show oldrequest information --- src/chatmodel.cpp | 44 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 450d903..ae123a9 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -83,11 +83,8 @@ void MainWindow::renderContactRequest(){ QStandardItemModel* contactRequest = new QStandardItemModel(); - // auto labels = AddressBook::getInstance()->getAllAddressLabels(); for (auto &c : DataStore::getChatDataStore()->getAllNewContactRequests()) - - // if (labels.adress() != c.second.getRequestZaddr()) { QStandardItem* Items = new QStandardItem(c.second.getAddress()); @@ -95,17 +92,20 @@ void MainWindow::renderContactRequest(){ requestContact.requestContact->setModel(contactRequest); requestContact.requestContact->show(); } - QStandardItemModel* contactRequestOld = new QStandardItemModel(); + QStandardItemModel* contactRequestOld = new QStandardItemModel(); + for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) for (auto &c : DataStore::getChatDataStore()->getAllOldContactRequests()) { - + if (p.getPartnerAddress() == c.second.getRequestZaddr()) + { QStandardItem* Items = new QStandardItem(c.second.getAddress()); contactRequestOld->appendRow(Items); requestContact.requestContactOld->setModel(contactRequestOld); requestContact.requestContactOld->show(); + }else{} } - //} + QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { @@ -132,6 +132,33 @@ void MainWindow::renderContactRequest(){ + }); + + QObject::connect(requestContact.requestContactOld, &QTableView::clicked, [&] () { + + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){ + QModelIndex index = requestContact.requestContactOld->currentIndex(); + QString label_contactold = index.data(Qt::DisplayRole).toString(); + QStandardItemModel* contactMemo = new QStandardItemModel(); + + if ((c.second.isOutgoing() == false) && (label_contactold == c.second.getAddress()) && (c.second.getType() != "Cont")) + + { + + QStandardItem* Items = new QStandardItem(c.second.getMemo()); + contactMemo->appendRow(Items); + requestContact.requestMemo->setModel(contactMemo); + requestContact.requestMemo->show(); + + + requestContact.requestZaddr->setText(c.second.getRequestZaddr()); + requestContact.requestCID->setText(c.second.getCid()); + requestContact.requestMyAddr->setText(c.second.getAddress()); + }else{} + } + + + }); QObject::connect(requestContact.pushButton, &QPushButton::clicked, [&] () { @@ -174,6 +201,11 @@ void MainWindow::renderContactRequest(){ }); dialog.exec(); + + rpc->refreshContacts( + ui->listContactWidget + + ); } void ChatModel::addCid(QString tx, QString cid) From 5ad5d07c1c883ca793ba319e3f203209bd3e8604 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Thu, 21 May 2020 12:12:32 +0200 Subject: [PATCH 121/251] update// created request objects to store inportant information --- silentdragon-lite.pro | 1 + src/Model/ContactRequest.cpp | 67 +++++++++++++++ src/Model/ContactRequest.h | 33 ++++++++ src/chatmodel.cpp | 158 ++++++++++++++--------------------- src/chatmodel.h | 1 + 5 files changed, 165 insertions(+), 95 deletions(-) create mode 100644 src/Model/ContactRequest.cpp create mode 100644 src/Model/ContactRequest.h diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index bb10655..86f38b0 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -79,6 +79,7 @@ SOURCES += \ src/Model/ChatItem.cpp \ src/Model/ContactRequestChatItem.cpp \ src/Model/ContactItem.cpp \ + src/Model/ContactRequest.cpp \ src/Chat/Helper/ChatIDGenerator.cpp \ src/Chat/Chat.cpp \ src/FileSystem/FileSystem.cpp \ diff --git a/src/Model/ContactRequest.cpp b/src/Model/ContactRequest.cpp new file mode 100644 index 0000000..68b4ed3 --- /dev/null +++ b/src/Model/ContactRequest.cpp @@ -0,0 +1,67 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + +#include "ContactRequest.h" + +ContactRequest::ContactRequest() {} + +ContactRequest::ContactRequest(QString sender, QString receiver, QString memo, QString cid) +{ + _senderAddress = sender; + _receiverAddress = receiver; + _memo = memo; + _cid = cid; +} + +QString ContactRequest::getSenderAddress() +{ + return _senderAddress; +} + +QString ContactRequest::getReceiverAddress() +{ + return _receiverAddress; +} + +QString ContactRequest::getMemo() +{ + return _memo; +} + +QString ContactRequest::getCid() +{ + return _cid; +} + +void ContactRequest::setSenderAddress(QString address) +{ + _senderAddress = address; +} + +void ContactRequest::setReceiverAddress(QString address) +{ + _receiverAddress = address; +} + +void ContactRequest::setMemo(QString memo) +{ + _memo = memo; +} + +void ContactRequest::setCid(QString cid) +{ + _cid = cid; +} + +QString ContactRequest::toString() +{ + return "sender: " + _senderAddress + " receiver: " + _receiverAddress + " memo: " + _memo + " cid: " + _cid; +} + +ContactRequest::~ContactRequest() +{ + _senderAddress = ""; + _receiverAddress = ""; + _memo = ""; + _cid = ""; +} \ No newline at end of file diff --git a/src/Model/ContactRequest.h b/src/Model/ContactRequest.h new file mode 100644 index 0000000..5339d5c --- /dev/null +++ b/src/Model/ContactRequest.h @@ -0,0 +1,33 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + +#ifndef CONTACTREQUEST_H +#define CONTACTREQUEST_H + +#include +using json = nlohmann::json; + +class ContactRequest +{ + private: + QString _senderAddress; + QString _receiverAddress; + QString _memo; + QString _cid; + + public: + ContactRequest(); + ContactRequest(QString sender, QString receiver, QString memo, QString cid); + QString getSenderAddress(); + QString getReceiverAddress(); + QString getMemo(); + QString getCid(); + void setSenderAddress(QString address); + void setReceiverAddress(QString contact); + void setMemo(QString memo); + void setCid(QString cid); + QString toString(); + ~ContactRequest(); +}; + +#endif \ No newline at end of file diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index ae123a9..e8f8015 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -16,6 +16,8 @@ using namespace std; +ContactRequest contactRequest = ContactRequest(); + ChatModel::ChatModel(std::map chatItems) { this->chatItems = chatItems; @@ -455,45 +457,38 @@ QString MainWindow::doSendChatTxValidations(Tx tx) { return ""; } -void::MainWindow::addContact() { - - +void::MainWindow::addContact() +{ Ui_Dialog request; QDialog dialog(this); request.setupUi(&dialog); Settings::saveRestore(&dialog); - - bool sapling = true; - rpc->createNewZaddr(sapling, [=] (json reply) { - QString myAddr = QString::fromStdString(reply.get()[0]); - request.myzaddr->setText(myAddr); - ui->listReceiveAddresses->insertItem(0, myAddr); - ui->listReceiveAddresses->setCurrentIndex(0); - qDebug() << "new generated myAddr" << myAddr; - }); - - QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); - request.cid->setText(cid); - - QObject::connect(request.sendRequestButton, &QPushButton::clicked, [&] () { - - - - QString cid = request.cid->text(); - auto addr = request.zaddr->text().trimmed(); - QString getrequest = addr; - QString newLabel = request.labelRequest->text().trimmed(); - auto myAddr = request.myzaddr->text().trimmed(); - - // ChatModel->addSendRequest(myAddr, cid, addr); - - - - QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); + bool sapling = true; + rpc->createNewZaddr(sapling, [=] (json reply) { + QString myAddr = QString::fromStdString(reply.get()[0]); + request.myzaddr->setText(myAddr); + ui->listReceiveAddresses->insertItem(0, myAddr); + ui->listReceiveAddresses->setCurrentIndex(0); + qDebug() << "new generated myAddr" << myAddr; + }); - if (addr.isEmpty() || newLabel.isEmpty()) + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + request.cid->setText(cid); + + QObject::connect(request.sendRequestButton, &QPushButton::clicked, [&] () { + QString cid = request.cid->text(); + QString addr = request.zaddr->text().trimmed(); + QString getrequest = addr; + QString newLabel = request.labelRequest->text().trimmed(); + QString myAddr = request.myzaddr->text().trimmed(); + contactRequest.setSenderAddress(myAddr); + contactRequest.setReceiverAddress(addr); + contactRequest.setMemo(newLabel); + contactRequest.setCid(cid); + QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); + if (addr.isEmpty() || newLabel.isEmpty()) { - QMessageBox::critical( + QMessageBox::critical( this, QObject::tr("Address or Label Error"), QObject::tr("Address or Label cannot be empty"), @@ -505,7 +500,7 @@ void::MainWindow::addContact() { // Test if address is valid. if (!Settings::isValidAddress(addr)) { - QMessageBox::critical( + QMessageBox::critical( this, QObject::tr("Address Format Error"), QObject::tr("%1 doesn't seem to be a valid hush address.").arg(addr), @@ -517,80 +512,53 @@ void::MainWindow::addContact() { ///////Todo: Test if label allready exist! ////// Success, so show it - AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); - QMessageBox::information( - this, - QObject::tr("Added Contact"), - QObject::tr("successfully added your new contact").arg(newLabel), - QMessageBox::Ok - ); - return; - - - }); - - - // QObject::connect(request.sendRequestButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); - - dialog.exec(); - rpc->refreshContacts( - ui->listContactWidget - + AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); + QMessageBox::information( + this, + QObject::tr("Added Contact"), + QObject::tr("successfully added your new contact").arg(newLabel), + QMessageBox::Ok ); + return; + }); + + dialog.exec(); + rpc->refreshContacts(ui->listContactWidget); } // Create a Tx for a contact Request -Tx MainWindow::createTxForSafeContactRequest() { - -Tx tx; - +Tx MainWindow::createTxForSafeContactRequest() { - - { - CAmount totalAmt; - QString amtStr = "0"; - CAmount amt; - - - amt = CAmount::fromDecimalString("0"); - totalAmt = totalAmt + amt; - - - for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - - if (ui->contactNameMemo->text().trimmed() == c.getName()) { - + Tx tx; + CAmount totalAmt; + QString amtStr = "0"; + CAmount amt; + amt = CAmount::fromDecimalString("0"); + totalAmt = totalAmt + amt; + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + { + if (ui->contactNameMemo->text().trimmed() == c.getName()) + { QString cid = c.getCid(); QString myAddr = c.getMyAddress(); QString type = "Cont"; QString addr = c.getPartnerAddress(); - - - QString hmemo= createHeaderMemo(type,cid,myAddr); - QString memo = ui->memoTxtChat->toPlainText().trimmed(); - - - // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat + qDebug() << contactRequest.toString(); + QString hmemo= createHeaderMemo(type,cid,myAddr); + QString memo = ui->memoTxtChat->toPlainText().trimmed(); + // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat - tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); - tx.toAddrs.push_back(ToFields{addr, amt, memo}); - - - - qDebug() << "pushback chattx"; - - - tx.fee = Settings::getMinerFee(); - + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); + tx.toAddrs.push_back(ToFields{addr, amt, memo}); + qDebug() << "pushback chattx"; + tx.fee = Settings::getMinerFee(); } -} - return tx; - - qDebug() << "RequestTx created"; - -} + } + + return tx; + qDebug() << "RequestTx created"; } void MainWindow::ContactRequest() { diff --git a/src/chatmodel.h b/src/chatmodel.h index a96f3bd..e8bc3e7 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -16,6 +16,7 @@ #include "settings.h" #include "camount.h" #include "Model/ChatItem.h" +#include "Model/ContactRequest.h" #include "Chat/Helper/ChatDelegator.h" #include "Chat/Helper/ChatIDGenerator.h" From c1954633de37fe8972859020a94cb7e0dafb04f4 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 21 May 2020 16:00:25 +0200 Subject: [PATCH 122/251] merge PR, send request from Contacttab --- src/Model/ContactRequest.cpp | 28 +++++++- src/Model/ContactRequest.h | 8 ++- src/chatmodel.cpp | 122 +++++++++++++++++++++++++++-------- src/contactrequest.ui | 63 ++++++++++++++---- src/mainwindow.h | 2 + 5 files changed, 182 insertions(+), 41 deletions(-) diff --git a/src/Model/ContactRequest.cpp b/src/Model/ContactRequest.cpp index 68b4ed3..9741ba0 100644 --- a/src/Model/ContactRequest.cpp +++ b/src/Model/ContactRequest.cpp @@ -5,12 +5,14 @@ ContactRequest::ContactRequest() {} -ContactRequest::ContactRequest(QString sender, QString receiver, QString memo, QString cid) +ContactRequest::ContactRequest(QString sender, QString receiver, QString memo, QString cid, QString label, QString avatar) { _senderAddress = sender; _receiverAddress = receiver; _memo = memo; _cid = cid; + _label = label; + _avatar = avatar; } QString ContactRequest::getSenderAddress() @@ -33,6 +35,16 @@ QString ContactRequest::getCid() return _cid; } +QString ContactRequest::getLabel() +{ + return _label; +} + +QString ContactRequest::getAvatar() +{ + return _avatar; +} + void ContactRequest::setSenderAddress(QString address) { _senderAddress = address; @@ -53,9 +65,19 @@ void ContactRequest::setCid(QString cid) _cid = cid; } +void ContactRequest::setLabel(QString label) +{ + _label = label; +} + +void ContactRequest::setAvatar(QString avatar) +{ + _avatar = avatar; +} + QString ContactRequest::toString() { - return "sender: " + _senderAddress + " receiver: " + _receiverAddress + " memo: " + _memo + " cid: " + _cid; + return "sender: " + _senderAddress + " receiver: " + _receiverAddress + " memo: " + _memo + " cid: " + _cid + " label: " + _label + " avatar: " + _avatar; } ContactRequest::~ContactRequest() @@ -64,4 +86,6 @@ ContactRequest::~ContactRequest() _receiverAddress = ""; _memo = ""; _cid = ""; + _label = ""; + _avatar = ""; } \ No newline at end of file diff --git a/src/Model/ContactRequest.h b/src/Model/ContactRequest.h index 5339d5c..5335434 100644 --- a/src/Model/ContactRequest.h +++ b/src/Model/ContactRequest.h @@ -14,18 +14,24 @@ class ContactRequest QString _receiverAddress; QString _memo; QString _cid; + QString _label; + QString _avatar; public: ContactRequest(); - ContactRequest(QString sender, QString receiver, QString memo, QString cid); + ContactRequest(QString sender, QString receiver, QString memo, QString cid, QString label, QString avatar); QString getSenderAddress(); QString getReceiverAddress(); QString getMemo(); QString getCid(); + QString getLabel(); + QString getAvatar(); void setSenderAddress(QString address); void setReceiverAddress(QString contact); void setMemo(QString memo); void setCid(QString cid); + void setLabel(QString label); + void setAvatar(QString avatar); QString toString(); ~ContactRequest(); }; diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index e8f8015..42a2419 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -463,6 +463,8 @@ void::MainWindow::addContact() QDialog dialog(this); request.setupUi(&dialog); Settings::saveRestore(&dialog); + + bool sapling = true; rpc->createNewZaddr(sapling, [=] (json reply) { QString myAddr = QString::fromStdString(reply.get()[0]); @@ -471,21 +473,48 @@ void::MainWindow::addContact() ui->listReceiveAddresses->setCurrentIndex(0); qDebug() << "new generated myAddr" << myAddr; }); + + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + request.cid->setText(cid); + + - QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); - request.cid->setText(cid); - QObject::connect(request.sendRequestButton, &QPushButton::clicked, [&] () { - QString cid = request.cid->text(); - QString addr = request.zaddr->text().trimmed(); - QString getrequest = addr; - QString newLabel = request.labelRequest->text().trimmed(); + + QString addr = request.zaddr->text(); QString myAddr = request.myzaddr->text().trimmed(); + QString memo = request.memorequest->toPlainText().trimmed(); + QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); + QString label = request.labelRequest->text().trimmed(); + + contactRequest.setSenderAddress(myAddr); contactRequest.setReceiverAddress(addr); - contactRequest.setMemo(newLabel); + contactRequest.setMemo(memo); contactRequest.setCid(cid); - QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); + contactRequest.setAvatar(avatar); + contactRequest.setLabel(label); + + }); + + QObject::connect(request.sendRequestButton, &QPushButton::clicked, this, &MainWindow::saveandsendContact); + QObject::connect(request.onlyAdd, &QPushButton::clicked, this, &MainWindow::saveContact); + + dialog.exec(); + + rpc->refreshContacts(ui->listContactWidget); + +} + +void MainWindow::saveandsendContact() +{ + this->ContactRequest(); + QString addr = contactRequest.getReceiverAddress(); + QString newLabel = contactRequest.getLabel(); + QString myAddr = contactRequest.getSenderAddress(); + QString cid = contactRequest.getCid(); + QString avatar = contactRequest.getAvatar(); + if (addr.isEmpty() || newLabel.isEmpty()) { QMessageBox::critical( @@ -520,42 +549,83 @@ void::MainWindow::addContact() QMessageBox::Ok ); return; - }); - - dialog.exec(); - rpc->refreshContacts(ui->listContactWidget); + + + } +void MainWindow::saveContact() +{ + QString addr = contactRequest.getReceiverAddress(); + QString newLabel = contactRequest.getLabel(); + QString myAddr = contactRequest.getSenderAddress(); + QString cid = contactRequest.getCid(); + QString avatar = contactRequest.getAvatar(); + + if (addr.isEmpty() || newLabel.isEmpty()) + { + QMessageBox::critical( + this, + QObject::tr("Address or Label Error"), + QObject::tr("Address or Label cannot be empty"), + QMessageBox::Ok + ); + return; + } + + // Test if address is valid. + if (!Settings::isValidAddress(addr)) + { + QMessageBox::critical( + this, + QObject::tr("Address Format Error"), + QObject::tr("%1 doesn't seem to be a valid hush address.").arg(addr), + QMessageBox::Ok + ); + return; + } + + ///////Todo: Test if label allready exist! + + ////// Success, so show it + AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); + QMessageBox::information( + this, + QObject::tr("Added Contact"), + QObject::tr("successfully added your new contact").arg(newLabel), + QMessageBox::Ok + ); + return; + +} // Create a Tx for a contact Request Tx MainWindow::createTxForSafeContactRequest() { Tx tx; +{ CAmount totalAmt; QString amtStr = "0"; CAmount amt; amt = CAmount::fromDecimalString("0"); totalAmt = totalAmt + amt; - for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - { - if (ui->contactNameMemo->text().trimmed() == c.getName()) - { - QString cid = c.getCid(); - QString myAddr = c.getMyAddress(); + + QString cid = contactRequest.getCid(); + QString myAddr = contactRequest.getSenderAddress(); QString type = "Cont"; - QString addr = c.getPartnerAddress(); - qDebug() << contactRequest.toString(); + QString addr = contactRequest.getReceiverAddress(); + QString hmemo= createHeaderMemo(type,cid,myAddr); - QString memo = ui->memoTxtChat->toPlainText().trimmed(); + QString memo = contactRequest.getMemo(); // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); tx.toAddrs.push_back(ToFields{addr, amt, memo}); qDebug() << "pushback chattx"; tx.fee = Settings::getMinerFee(); - } - } + +} return tx; qDebug() << "RequestTx created"; @@ -563,7 +633,7 @@ Tx MainWindow::createTxForSafeContactRequest() void MainWindow::ContactRequest() { - /* if (request.labelRequest->text().trimmed().isEmpty() || request.memorequest->toPlainText().trimmed().isEmpty()) { + if (contactRequest.getReceiverAddress().isEmpty() || contactRequest.getMemo().isEmpty()) { // auto addr = ""; // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { @@ -573,7 +643,7 @@ void MainWindow::ContactRequest() { msg.exec(); return; - }*/ + } Tx tx = createTxForSafeContactRequest(); diff --git a/src/contactrequest.ui b/src/contactrequest.ui index e099111..5f4d6ec 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -14,21 +14,21 @@ Send a contact request - + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> - + <html><head/><body><p>Please insert a Nickname for your contact :</p></body></html> - + @@ -162,44 +162,54 @@ - + - + <html><head/><body><p>Please insert the Address of your contact :</p></body></html> - + - + + + + Insert a memo for the request + + + + Your HushChat Address - + + + + - + The Conversation ID - + - + @@ -215,7 +225,36 @@ + + + + Qt::Horizontal + + + + 278 + 20 + + + + + + + + 100 + 0 + + + + Only add this contact + + + false + + + + @@ -224,7 +263,7 @@ - Add Contact + Add Contact & send request false diff --git a/src/mainwindow.h b/src/mainwindow.h index 4419fcb..445e3f6 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -56,6 +56,8 @@ public: bool isWebsocketListening(); void createWebsocket(QString wormholecode); void stopWebsocket(); + void saveContact(); + void saveandsendContact(); void balancesReady(); From ee672cfcca1e6a091b62219e3a4603aa80d3c100 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 21 May 2020 17:41:12 +0200 Subject: [PATCH 123/251] contact gui fix --- src/chatmodel.cpp | 11 +- src/contactrequest.ui | 148 +++++++++++++++++++---- src/mainwindow.ui | 227 +----------------------------------- src/requestContactDialog.ui | 144 ++++++++++++----------- 4 files changed, 205 insertions(+), 325 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 42a2419..29ba9c9 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -127,7 +127,6 @@ void MainWindow::renderContactRequest(){ requestContact.requestZaddr->setText(c.second.getRequestZaddr()); - requestContact.requestCID->setText(c.second.getCid()); requestContact.requestMyAddr->setText(c.second.getAddress()); }else{} } @@ -152,9 +151,8 @@ void MainWindow::renderContactRequest(){ requestContact.requestMemo->setModel(contactMemo); requestContact.requestMemo->show(); - - requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestCID->setText(c.second.getCid()); + requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestMyAddr->setText(c.second.getAddress()); }else{} } @@ -468,14 +466,15 @@ void::MainWindow::addContact() bool sapling = true; rpc->createNewZaddr(sapling, [=] (json reply) { QString myAddr = QString::fromStdString(reply.get()[0]); + rpc->refreshAddresses(); request.myzaddr->setText(myAddr); ui->listReceiveAddresses->insertItem(0, myAddr); ui->listReceiveAddresses->setCurrentIndex(0); - qDebug() << "new generated myAddr" << myAddr; + qDebug() << "new generated myAddr add Contact" << myAddr; }); QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); - request.cid->setText(cid); + @@ -483,7 +482,7 @@ void::MainWindow::addContact() QString addr = request.zaddr->text(); QString myAddr = request.myzaddr->text().trimmed(); - QString memo = request.memorequest->toPlainText().trimmed(); + QString memo = request.memorequest->text().trimmed(); QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); QString label = request.labelRequest->text().trimmed(); diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 5f4d6ec..8667057 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -10,25 +10,31 @@ 427 + + + 780 + 427 + + Send a contact request - + - <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + <html><head/><body><p align="right"><span style=" font-weight:600; text-decoration: underline;">Choose a avatar for your contact :</span></p></body></html> - <html><head/><body><p>Please insert a Nickname for your contact :</p></body></html> + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Please insert a Nickname for your contact :</span></p></body></html> - + @@ -168,49 +174,120 @@ - <html><head/><body><p>Please insert the Address of your contact :</p></body></html> + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Please insert the Address of your contact :</span></p></body></html> - - - - - - - Insert a memo for the request + + + + + 650 + 25 + + + + + 650 + 25 + - Your HushChat Address + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address :</span></p></body></html> - - + + + + + 650 + 25 + + + + + 650 + 25 + + + + <html><head/><body><p><span style=" color:#d3d7cf;">Generate your HushChat Address - please wait a second - </span></p></body></html> + + - - + + + + Qt::Vertical + + + + 20 + 148 + + + - - + + - The Conversation ID + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request</span></p></body></html> - - - - + + + + + 500 + 71 + + + + + 500 + 71 + + + + Qt::NoContextMenu + + + false + + + Qt::ImhSensitiveData + + + 512 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + false + + + Add some memo to your request + + + true + + + 80 + 25 + + 100 @@ -220,6 +297,9 @@ Cancel + + false + false @@ -240,6 +320,12 @@ + + + 152 + 25 + + 100 @@ -249,13 +335,22 @@ Only add this contact + + false + false - + + + + 188 + 25 + + 100 @@ -265,6 +360,9 @@ Add Contact & send request + + false + false diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 82b4260..1ce2a50 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1569,7 +1569,7 @@ - 50 + 0 20 61 51 @@ -1607,7 +1607,7 @@ - 210 + 70 20 61 51 @@ -1633,229 +1633,6 @@ true - - - - 90 - 10 - 21 - 16 - - - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - 239 - 41 - 41 - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - 239 - 41 - 41 - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - - - 190 - 190 - 190 - - - - - - - 190 - 190 - 190 - - - - - - - 239 - 41 - 41 - - - - - - - 190 - 190 - 190 - - - - - - - 204 - 0 - 0 - - - - - - - 204 - 0 - 0 - - - - - - - 0 - 0 - 0 - - - - - - - - - 12 - - - - Qt::LeftToRight - - - 1 - - - Qt::AutoText - - diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index d2a3b68..7e676e7 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -14,10 +14,26 @@ Incoming contact request - - + + - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + My Zaddr : + + + + + + + true + + + QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked + + + false + + + QAbstractItemView::SingleSelection @@ -44,6 +60,16 @@ + + + + + + + Give a Nickname: + + + @@ -72,13 +98,6 @@ - - - - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> - - - @@ -86,66 +105,10 @@ - - - - true - - - QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked - - - false - - - QAbstractItemView::SingleSelection - - - - - - - Request from : - - - - - - - - - - Cid : - - - - - - - - - - My Zaddr : - - - - - - - - - - Nickname - - - - - - - - + + - <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> @@ -283,6 +246,19 @@ + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + + + + + + + + + @@ -294,6 +270,9 @@ Cancel + + false + false @@ -304,6 +283,33 @@ Add this new Contact + + false + + + + + + + Request from : + + + + + + + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + + + + + + + + + + Cid : + From 7e0748dd24dd0ae9253b1891e243c79abb9dab10 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 21 May 2020 20:31:54 +0200 Subject: [PATCH 124/251] set maxLen for Chatmessages --- src/Chat/Chat.cpp | 43 ++++++++++++++++++++++++++++++++++++++++++- src/Chat/Chat.h | 2 +- src/chatmodel.cpp | 4 ++-- src/controller.cpp | 6 +++--- src/controller.h | 2 +- src/mainwindow.cpp | 39 ++++++--------------------------------- src/mainwindow.h | 17 +++++++++++------ src/mainwindow.ui | 23 ++++++++++++++++++++++- 8 files changed, 88 insertions(+), 48 deletions(-) diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index c7d6637..d6c8445 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -6,8 +6,49 @@ #include "../DataStore/DataStore.h" Chat::Chat() {} -void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view) +ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QTextEdit(parent) { + QObject::connect(this, &QTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); +} + +void ChatMemoEdit::updateDisplay() { + QString txt = this->toPlainText(); + if (lenDisplayLabel) + lenDisplayLabel->setText(QString::number(txt.toUtf8().size()) + "/" + QString::number(maxlen)); + + if (txt.toUtf8().size() <= maxlen) { + // Everything is fine + if (sendChatButton) + sendChatButton->setEnabled(true); + + if (lenDisplayLabel) + lenDisplayLabel->setStyleSheet(""); + } + else { + // Overweight + if (sendChatButton) + sendChatButton->setEnabled(false); + + if (lenDisplayLabel) + lenDisplayLabel->setStyleSheet("color: red;"); + } +} + +void ChatMemoEdit::setMaxLen(int len) { + this->maxlen = len; + updateDisplay(); +} + +void ChatMemoEdit::SetSendChatButton(QPushButton* button) { + this->sendChatButton = button; +} + +void ChatMemoEdit::setLenDisplayLabel(QLabel* label) { + this->lenDisplayLabel = label; +} + +void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) { + QStandardItemModel *chat = new QStandardItemModel(); // ui->lcdNumber->setStyleSheet("background-color: red"); // ui->lcdNumber->setPalette(Qt::red); diff --git a/src/Chat/Chat.h b/src/Chat/Chat.h index 526aa36..efe5b56 100644 --- a/src/Chat/Chat.h +++ b/src/Chat/Chat.h @@ -28,7 +28,7 @@ class Chat // Chat Controller public: Chat(); //QString zaddr(); - void renderChatBox(Ui::MainWindow* ui, QListView *view); // action + void renderChatBox(Ui::MainWindow* ui, QListView *view, QLabel *label); // action // void renderContactRequest(); /*void triggerRequest(); void showMessages(); diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 29ba9c9..349f8be 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -308,7 +308,7 @@ Tx MainWindow::createTxFromChatPage() { QString memo = ui->memoTxtChat->toPlainText().trimmed(); - // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); tx.toAddrs.push_back(ToFields{addr, amt, memo}); @@ -326,7 +326,7 @@ Tx MainWindow::createTxFromChatPage() { qDebug() << "ChatTx created"; } -void MainWindow::sendChatButton() { +void MainWindow::sendChat() { ////////////////////////////Todo: Check if a Contact is selected////////// diff --git a/src/controller.cpp b/src/controller.cpp index db895a1..8c3b603 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1009,7 +1009,7 @@ void Controller::refreshTransactions() { // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); - chat->renderChatBox(ui, ui->listChat); + chat->renderChatBox(ui, ui->listChat,ui->memoSize); // refreshContacts( // ui->listContactWidget @@ -1017,9 +1017,9 @@ void Controller::refreshTransactions() { }); } -void Controller::refreshChat(QListView *listWidget) +void Controller::refreshChat(QListView *listWidget, QLabel *label) { - chat->renderChatBox(ui, listWidget); + chat->renderChatBox(ui, listWidget, label); } diff --git a/src/controller.h b/src/controller.h index cfd3bbb..b34aeb4 100644 --- a/src/controller.h +++ b/src/controller.h @@ -74,7 +74,7 @@ public: void refreshGBPCAP(); void refreshAUDCAP(); - void refreshChat(QListView *listWidget); + void refreshChat(QListView *listWidget, QLabel *label); void refreshContacts(QListView *listWidget); void executeStandardUITransaction(Tx tx); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index e895947..4f0f08f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -50,6 +50,8 @@ MainWindow::MainWindow(QWidget *parent) : ui->memoTxtChat->setAutoFillBackground(false); ui->memoTxtChat->setPlaceholderText("Send Message"); ui->memoTxtChat->setTextColor(Qt::white); + + // Status Bar setupStatusBar(); @@ -1053,7 +1055,7 @@ void MainWindow::setupchatTab() { - QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); + QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChat); QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); QObject::connect(ui->pushContact, &QPushButton::clicked, this , &MainWindow::renderContactRequest); @@ -1078,45 +1080,16 @@ void MainWindow::setupchatTab() { }); - -} - -ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { - QObject::connect(this, &QPlainTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); +ui->memoTxtChat->setLenDisplayLabel(ui->memoSize);// Todo -> activate lendisplay for chat } -void ChatMemoEdit::updateDisplay() { - QString txt = this->toPlainText(); - if (lenDisplayLabel) - lenDisplayLabel->setText(QString::number(txt.toUtf8().size()) + "/" + QString::number(maxlen)); - - if (txt.toUtf8().size() <= maxlen) { - // Everything is fine - if (sendChatButton) - sendChatButton->setEnabled(true); - - if (lenDisplayLabel) - lenDisplayLabel->setStyleSheet(""); - } - else { - // Overweight - if (sendChatButton) - sendChatButton->setEnabled(false); - - if (lenDisplayLabel) - lenDisplayLabel->setStyleSheet("color: red;"); - } -} -void ChatMemoEdit::setMaxLen(int len) { - this->maxlen = len; - updateDisplay(); -} void MainWindow::updateChat() { - rpc->refreshChat(ui->listChat); + rpc->refreshChat(ui->listChat,ui->memoSize); rpc->refresh(true); + } diff --git a/src/mainwindow.h b/src/mainwindow.h index 445e3f6..85f4feb 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -58,6 +58,8 @@ public: void stopWebsocket(); void saveContact(); void saveandsendContact(); + void setMaxLen(int len); + void updateDisplay(); void balancesReady(); @@ -108,7 +110,7 @@ private: void setuphushdTab(); void setupchatTab(); void renderContactRequest(); - void setLenDisplayLabel(QLabel* label); + // void setLenDisplayLabel(QLabel* label); void updateContacts(); void updateChat(); @@ -130,9 +132,11 @@ private: void cancelButton(); void sendButton(); - void sendChatButton(); + void sendChat(); void addContact(); void ContactRequest(); + + void addAddressSection(); void maxAmountChecked(int checked); @@ -171,6 +175,7 @@ private: WSServer* wsserver = nullptr; WormholeClient* wormhole = nullptr; + Controller* rpc = nullptr; QCompleter* labelCompleter = nullptr; @@ -182,15 +187,14 @@ private: QMovie* loadingMovie; }; -class ChatMemoEdit : public QPlainTextEdit +class ChatMemoEdit : public QTextEdit { public: ChatMemoEdit(QWidget* parent); void setMaxLen(int len); - - void setSendChatButton(QPushButton* button); - void includeReplyTo(QString replyToAddress); + void setLenDisplayLabel(QLabel* label); + void SetSendChatButton(QPushButton* button); void updateDisplay(); private: @@ -199,4 +203,5 @@ private: QPushButton* sendChatButton = nullptr; }; + #endif // MAINWINDOW_H diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 1ce2a50..399e3e9 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1400,7 +1400,7 @@ <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> - + 340 @@ -1633,6 +1633,22 @@ true + + + + 1160 + 540 + 91 + 17 + + + + 0 / 512 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + +
@@ -1819,6 +1835,11 @@ QLabel
fillediconlabel.h
+ + ChatMemoEdit + QTextEdit +
mainwindow.h
+
Address1 From 747580151ac4999280391232d466b4d73a384692 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 21 May 2020 21:32:45 +0200 Subject: [PATCH 125/251] change some gui elements --- src/Chat/Chat.cpp | 10 ++--- src/Chat/Helper/ChatDelegator.h | 2 +- src/DataStore/ChatDataStore.cpp | 1 + src/chatmodel.cpp | 4 +- src/controller.cpp | 2 +- src/mainwindow.cpp | 4 +- src/mainwindow.ui | 76 +++++++++++++++++++++++++++------ 7 files changed, 74 insertions(+), 25 deletions(-) diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index d6c8445..30a827d 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -50,9 +50,6 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) { QStandardItemModel *chat = new QStandardItemModel(); - // ui->lcdNumber->setStyleSheet("background-color: red"); - // ui->lcdNumber->setPalette(Qt::red); - // ui->lcdNumber->display("1"); DataStore::getChatDataStore()->dump(); // test to see if the chat items in datastore are correctly dumped to json for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) { @@ -63,7 +60,7 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) if ( (p.getName() == ui->contactNameMemo->text().trimmed()) && (p.getPartnerAddress() == c.second.getAddress()) && - (c.second.isOutgoing() == true)) + (c.second.isOutgoing() == true)) { QStandardItem *Items = new QStandardItem(c.second.toChatLine()); @@ -81,8 +78,9 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) if ( (p.getName() == ui->contactNameMemo->text().trimmed()) && (p.getMyAddress() == c.second.getAddress()) && - (c.second.isOutgoing() == false)) - + (c.second.isOutgoing() == false) && + (c.second.getCid() == p.getCid()) + ) { QStandardItem *Items1 = new QStandardItem(c.second.toChatLine()); Items1->setData(INCOMING, Qt::UserRole + 1); diff --git a/src/Chat/Helper/ChatDelegator.h b/src/Chat/Helper/ChatDelegator.h index 6e3e676..10b45e5 100644 --- a/src/Chat/Helper/ChatDelegator.h +++ b/src/Chat/Helper/ChatDelegator.h @@ -37,7 +37,7 @@ class ListViewDelegate : public QAbstractItemDelegate inline QSize sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const; }; -inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(5), d_verticalmargin(5), d_horizontalmargin(10), d_pointerwidth(10), d_pointerheight(17), d_widthfraction(.6) +inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(7), d_verticalmargin(5), d_horizontalmargin(10), d_pointerwidth(10), d_pointerheight(17), d_widthfraction(.7) { } diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 1313103..21ddef9 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -96,6 +96,7 @@ std::map ChatDataStore::getAllMemos() (c.second.getMemo().startsWith("{") == false) && (c.second.getMemo().isEmpty() == false) + ) { diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 349f8be..28f7dfe 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -125,7 +125,7 @@ void MainWindow::renderContactRequest(){ requestContact.requestMemo->setModel(contactMemo); requestContact.requestMemo->show(); - + requestContact.requestCID->setText(c.second.getCid()); requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestMyAddr->setText(c.second.getAddress()); }else{} @@ -617,7 +617,7 @@ Tx MainWindow::createTxForSafeContactRequest() QString hmemo= createHeaderMemo(type,cid,myAddr); QString memo = contactRequest.getMemo(); - // ui->memoSizeChat->setLenDisplayLabel();// Todo -> activate lendisplay for chat + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); tx.toAddrs.push_back(ToFields{addr, amt, memo}); diff --git a/src/controller.cpp b/src/controller.cpp index 8c3b603..d3c05fe 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1009,7 +1009,7 @@ void Controller::refreshTransactions() { // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); - chat->renderChatBox(ui, ui->listChat,ui->memoSize); + chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); // refreshContacts( // ui->listContactWidget diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 4f0f08f..0e231f4 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1080,14 +1080,14 @@ void MainWindow::setupchatTab() { }); -ui->memoTxtChat->setLenDisplayLabel(ui->memoSize);// Todo -> activate lendisplay for chat +ui->memoTxtChat->setLenDisplayLabel(ui->memoSizeChat); } void MainWindow::updateChat() { - rpc->refreshChat(ui->listChat,ui->memoSize); + rpc->refreshChat(ui->listChat,ui->memoSizeChat); rpc->refresh(true); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 399e3e9..2d85bd5 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1506,16 +1506,16 @@ - Qt::ScrollBarAlwaysOff + Qt::ScrollBarAsNeeded - Qt::ScrollBarAlwaysOff + Qt::ScrollBarAsNeeded QAbstractScrollArea::AdjustToContents - QAbstractItemView::NoEditTriggers + QAbstractItemView::AllEditTriggers QListView::Adjust @@ -1533,12 +1533,24 @@ - 270 - 580 + 10 + 20 51 51 + + + 51 + 51 + + + + + 51 + 51 + + 100 @@ -1569,12 +1581,24 @@ - 0 + 80 20 - 61 + 51 51 + + + 51 + 51 + + + + + 51 + 51 + + 100 @@ -1607,12 +1631,24 @@ - 70 + 150 20 - 61 + 51 51 + + + 51 + 51 + + + + + 51 + 51 + + Get a new Address @@ -1633,15 +1669,18 @@ true - + - 1160 - 540 + 1140 + 640 91 17 + + QFrame::Sunken + 0 / 512 @@ -1649,6 +1688,17 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + listContactWidget + label_39 + contactNameMemo + contactNameMemo_3 + safeContactRequest + pushContact + givemeZaddr + memoSizeChat + listChat + memoTxtChat + sendChatButton @@ -1838,7 +1888,7 @@ ChatMemoEdit QTextEdit -
mainwindow.h
+
mainwindow.h
From 1a36a7f3c404373dd63c44ff5d6377e9c5bb7918 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 21 May 2020 21:44:21 +0200 Subject: [PATCH 126/251] try catch myZaddr --- src/addressbook.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index b557dd9..f51e279 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -144,22 +144,35 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) // Connect the dialog's closing to updating the label address completor QObject::connect(&d, &QDialog::finished, [=] (auto) { parent->updateLabels(); }); + Controller* rpc = parent->getRPC(); bool sapling = true; + try + { rpc->createNewZaddr(sapling, [=] (json reply) { QString myAddr = QString::fromStdString(reply.get()[0]); QString message = QString("New Chat Address for your partner: ") + myAddr; QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + + rpc->refreshAddresses(); parent->ui->listReceiveAddresses->insertItem(0, myAddr); parent->ui->listReceiveAddresses->setCurrentIndex(0); - qDebug() << "new generated myAddr" << myAddr; + qDebug() << " new Addr in Addressbook" << myAddr; ab.cid->setText(cid); ab.addr_chat->setText(myAddr); }); - model.updateUi(); //todo fix updating gui after adding - //rpc->refresh(true); + } + + catch(...) + { + + + qDebug() << QString("Caught something nasty with myZaddr Addressbook"); + } + + // model.updateUi(); //todo fix updating gui after adding // If there is a target then make it the addr for the "Add to" button if (target != nullptr && Settings::isValidAddress(target->text())) From eae77fb8aa8087f0fec0f4d0b8420373302b5d0c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 21 May 2020 22:19:31 +0200 Subject: [PATCH 127/251] fix windows icons --- application.qrc | 5 +- src/Model/ChatItem.cpp | 4 +- src/chatmodel.cpp | 2 + src/requestContactDialog.ui | 213 ++++++++++++++++++++++++------------ 4 files changed, 148 insertions(+), 76 deletions(-) diff --git a/application.qrc b/application.qrc index 7ab9af5..bf9a3b9 100644 --- a/application.qrc +++ b/application.qrc @@ -38,9 +38,8 @@ res/message-icon.svg res/lock.svg res/lock.png - res/lock_green.svg - res/lock_blue.svg - res/unlocked.svg + res/lock_green.png + res/unlocked.png res/getAddrWhite.png res/send-white.png res/requestWhite.png diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index 540c7ba..fff8f9a 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -137,10 +137,10 @@ QString ChatItem::toChatLine() myDateTime.setTime_t(_timestamp); if (_confirmations == 0){ - lock = " "; + lock = " "; }else{ - lock = " "; + lock = " "; } diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 28f7dfe..d3abd34 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -126,6 +126,7 @@ void MainWindow::renderContactRequest(){ requestContact.requestMemo->show(); requestContact.requestCID->setText(c.second.getCid()); + requestContact.requestCID->setVisible(false); requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestMyAddr->setText(c.second.getAddress()); }else{} @@ -152,6 +153,7 @@ void MainWindow::renderContactRequest(){ requestContact.requestMemo->show(); requestContact.requestCID->setText(c.second.getCid()); + requestContact.requestCID->setVisible(false); requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestMyAddr->setText(c.second.getAddress()); }else{} diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index 7e676e7..2eb4bc0 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -6,38 +6,28 @@ 0 0 - 1025 - 562 + 812 + 495
+ + + 812 + 495 + + Incoming contact request - - + + - My Zaddr : - - - - - - - true - - - QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked - - - false - - - QAbstractItemView::SingleSelection + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> - + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> @@ -46,6 +36,12 @@ + + + 256 + 231 + + true @@ -60,18 +56,14 @@ - - - - - - - Give a Nickname: - - - - + + + + 521 + 231 + + Qt::ScrollBarAlwaysOff @@ -98,22 +90,112 @@ - - + + - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> - - + + + + + 256 + 192 + + + + true + + + QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked + + + false + + + QAbstractItemView::SingleSelection + + + + + - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + Request from : - + + + + + 351 + 25 + + + + + 351 + 25 + + + + + + + + My Zaddr : + + + + + + + + 351 + 25 + + + + + 351 + 25 + + + + + + + + Give a Nickname: + + + + + + + + + + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + + + + + + + 106 + 25 + + + + + 106 + 25 + + Stag @@ -246,21 +328,14 @@ - - - - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> - - - - - - - - - - + + + + 80 + 25 + + 100 @@ -278,8 +353,14 @@ - + + + + 153 + 25 + + Add this new Contact @@ -288,27 +369,17 @@ - - - - Request from : - - - - - + + - <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + - - - - - + + - Cid : + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> From 200a7cfb6d233ada287e1339f086097376d854a2 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 22 May 2020 19:15:56 +0200 Subject: [PATCH 128/251] set conf to 1 to send funds --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- src/controller.cpp | 16 ++++++++++------ 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index b48d1b4..07f7981 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=e368816c6d12267f25fbebec0aaac4c15d62d2a3)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=e368816c6d12267f25fbebec0aaac4c15d62d2a3#e368816c6d12267f25fbebec0aaac4c15d62d2a3" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592#fb07cae93c706cce929beef98690109e5f2d7592" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=e368816c6d12267f25fbebec0aaac4c15d62d2a3)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 9784a1a..1d49baf 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "e368816c6d12267f25fbebec0aaac4c15d62d2a3" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "fb07cae93c706cce929beef98690109e5f2d7592" } diff --git a/src/controller.cpp b/src/controller.cpp index d3c05fe..8007205 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -140,7 +140,7 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) DataStore::getSietchDataStore()->clear(); // clears the datastore // Dust amt/memo, construct the JSON - for(uint8_t i = 0; i < 10; i++) + for(uint8_t i = 0; i < 8; i++) { dust.at(i)["amount"] = 0; dust.at(i)["memo"] = ""; @@ -166,9 +166,8 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) dust.at(3), dust.at(4), dust.at(5), - dust.at(6), - dust.at(7), - dust.at(8) + dust.at(6) + }) ; } @@ -305,6 +304,7 @@ void Controller::getInfoThenRefresh(bool force) QString chainName = Settings::getInstance()->isTestnet() ? "test" : "main"; main->statusLabel->setText(chainName + "(" + QString::number(curBlock) + ")"); + // use currency ComboBox as input if (Settings::getInstance()->get_currency_name() == "USD") @@ -322,6 +322,8 @@ void Controller::getInfoThenRefresh(bool force) " $ " + (QLocale(QLocale::English).toString(cap,'f', 2)) ); + + } else if (Settings::getInstance()->get_currency_name() == "EUR") { @@ -614,7 +616,7 @@ void Controller::processUnspent(const json& reply, QMap* balan QString txid = QString::fromStdString(it["created_in_txid"]); CAmount amount = CAmount::fromqint64(it["value"].get()); - bool spendable = it["unconfirmed_spent"].is_null() && it["spent"].is_null(); // TODO: Wait for 4 confirmations + bool spendable = it["unconfirmed_spent"].is_null() && it["spent"].is_null(); // TODO: Wait for 1 confirmations bool pending = !it["unconfirmed_spent"].is_null(); unspentOutputs->push_back( @@ -648,7 +650,9 @@ void Controller::updateUIBalances() CAmount balAvailable = balT + balVerified; if (balZ < 0) balZ = CAmount::fromqint64(0); - + double price = (Settings::getInstance()->getBTCPrice() / 1000); + // ui->PriceMemo->setText(" The price of \n one HushChat \n Message is :\n BTC " + (QLocale(QLocale::English).toString(price, 'f',8)) + //+ " Messages left :" + ((balTotal.toDecimalhushString()) /0.0001) ); // Balances table ui->balSheilded->setText(balZ.toDecimalhushString()); ui->balVerified->setText(balVerified.toDecimalhushString()); From 4a5cb7f144ca7006edc5de59f01cd74f743944fa Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 22 May 2020 19:16:10 +0200 Subject: [PATCH 129/251] set a new version --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index f3c7693..875d8ab 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.2.2" +#define APP_VERSION "1.3-Chat-Alpha" From 29a86b852b62e02a59e0d689180f7852e5f68a01 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.com> Date: Fri, 22 May 2020 19:23:29 +0200 Subject: [PATCH 130/251] update// added clear --- src/Model/ContactRequest.cpp | 7 ++++++- src/Model/ContactRequest.h | 1 + src/chatmodel.cpp | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Model/ContactRequest.cpp b/src/Model/ContactRequest.cpp index 9741ba0..3ad804f 100644 --- a/src/Model/ContactRequest.cpp +++ b/src/Model/ContactRequest.cpp @@ -80,7 +80,7 @@ QString ContactRequest::toString() return "sender: " + _senderAddress + " receiver: " + _receiverAddress + " memo: " + _memo + " cid: " + _cid + " label: " + _label + " avatar: " + _avatar; } -ContactRequest::~ContactRequest() +void ContactRequest::clear() { _senderAddress = ""; _receiverAddress = ""; @@ -88,4 +88,9 @@ ContactRequest::~ContactRequest() _cid = ""; _label = ""; _avatar = ""; +} + +ContactRequest::~ContactRequest() +{ + clear(); } \ No newline at end of file diff --git a/src/Model/ContactRequest.h b/src/Model/ContactRequest.h index 5335434..930ad56 100644 --- a/src/Model/ContactRequest.h +++ b/src/Model/ContactRequest.h @@ -33,6 +33,7 @@ class ContactRequest void setLabel(QString label); void setAvatar(QString avatar); QString toString(); + void clear(); ~ContactRequest(); }; diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index d3abd34..91e46d5 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -515,6 +515,7 @@ void MainWindow::saveandsendContact() QString myAddr = contactRequest.getSenderAddress(); QString cid = contactRequest.getCid(); QString avatar = contactRequest.getAvatar(); + contactRequest.clear(); if (addr.isEmpty() || newLabel.isEmpty()) { From fe8a52b9c7ed2c8bc55050fe52fda77a81825d2d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 23 May 2020 11:30:27 +0200 Subject: [PATCH 131/251] add crypto_generichash for pw --- src/mainwindow.cpp | 68 ++++++++++++++++++++++++++++++---------------- 1 file changed, 44 insertions(+), 24 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 0e231f4..9af5c43 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -22,6 +22,8 @@ #include "chatmodel.h" #include "requestdialog.h" #include "websockets.h" +#include "sodium.h" +#include "sodium/crypto_generichash_blake2b.h" #include using json = nlohmann::json; @@ -251,17 +253,23 @@ void MainWindow::closeEvent(QCloseEvent* event) { QMainWindow::closeEvent(event); } +void dump_hex_buff(unsigned char buf[], unsigned int len) +{ + int i; + for (i=0; igetModel()->getEncryptionStatus(); + /* auto encStatus = rpc->getModel()->getEncryptionStatus(); if (encStatus.first) { QMessageBox::information(this, tr("Wallet is already encrypted"), tr("Your wallet is already encrypted with a password.\nPlease use 'Remove Wallet Encryption' if you want to remove the wallet encryption."), QMessageBox::Ok ); return; - } + }*/ QDialog d(this); Ui_encryptionDialog ed; @@ -278,12 +286,13 @@ void MainWindow::encryptWallet() { ed.lblPasswordMatch->setText(tr("Passwords don't match")); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); } + }; QObject::connect(ed.txtConfirmPassword, &QLineEdit::textChanged, fnPasswordEdited); QObject::connect(ed.txtPassword, &QLineEdit::textChanged, fnPasswordEdited); - ed.txtPassword->setText(""); + /* ed.txtPassword->setText(""); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); auto fnShowError = [=](QString title, const json& res) { @@ -291,32 +300,43 @@ void MainWindow::encryptWallet() { tr("Error was:\n") + QString::fromStdString(res.dump()), QMessageBox::Ok ); - }; + };*/ if (d.exec() == QDialog::Accepted) { - rpc->encryptWallet(ed.txtPassword->text(), [=](json res) { - if (isJsonResultSuccess(res)) { - // Save the wallet - rpc->saveWallet([=] (json reply) { - if (isJsonResultSuccess(reply)) { - QMessageBox::information(this, tr("Wallet Encrypted"), - tr("Your wallet was successfully encrypted! The password will be needed to send funds or export private keys."), - QMessageBox::Ok - ); - } else { - fnShowError(tr("Wallet Encryption Failed"), reply); - } - }); + QString str = ed.txtPassword->text(); // data comes from a db in my case + int length = str.length(); + + char *sequence = NULL; + sequence = new char[length+1]; + strncpy(sequence, str.toLocal8Bit(), length +1); + + #define MESSAGE ((const unsigned char *) sequence) + #define MESSAGE_LEN length + + + + qDebug()<<"Generating cryptographic key from password: " <refresh(true); - } else { - fnShowError(tr("Wallet Encryption Failed"), res); - } - }); - } } +} +//The following snippet demonstrates how to calculate the hash of a very long message using the init/update/final interface: + + + void MainWindow::removeWalletEncryption() { // Check if wallet is already encrypted auto encStatus = rpc->getModel()->getEncryptionStatus(); From 52f7a64417d74264a2d7f9cae9cd49d12041f423 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 23 May 2020 11:38:58 +0200 Subject: [PATCH 132/251] add qdebugs --- src/mainwindow.cpp | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 9af5c43..128d4c8 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -261,15 +261,6 @@ void dump_hex_buff(unsigned char buf[], unsigned int len) } void MainWindow::encryptWallet() { - // Check if wallet is already encrypted - /* auto encStatus = rpc->getModel()->getEncryptionStatus(); - if (encStatus.first) { - QMessageBox::information(this, tr("Wallet is already encrypted"), - tr("Your wallet is already encrypted with a password.\nPlease use 'Remove Wallet Encryption' if you want to remove the wallet encryption."), - QMessageBox::Ok - ); - return; - }*/ QDialog d(this); Ui_encryptionDialog ed; @@ -292,18 +283,9 @@ void MainWindow::encryptWallet() { QObject::connect(ed.txtConfirmPassword, &QLineEdit::textChanged, fnPasswordEdited); QObject::connect(ed.txtPassword, &QLineEdit::textChanged, fnPasswordEdited); - /* ed.txtPassword->setText(""); - ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); - - auto fnShowError = [=](QString title, const json& res) { - QMessageBox::critical(this, title, - tr("Error was:\n") + QString::fromStdString(res.dump()), - QMessageBox::Ok - ); - };*/ - if (d.exec() == QDialog::Accepted) { - QString str = ed.txtPassword->text(); // data comes from a db in my case + + QString str = ed.txtPassword->text(); // data comes from user inputs int length = str.length(); char *sequence = NULL; @@ -313,8 +295,6 @@ void MainWindow::encryptWallet() { #define MESSAGE ((const unsigned char *) sequence) #define MESSAGE_LEN length - - qDebug()<<"Generating cryptographic key from password: " < Date: Sat, 23 May 2020 12:21:49 +0200 Subject: [PATCH 133/251] debug password --- src/mainwindow.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 128d4c8..42b511c 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -295,10 +295,10 @@ void MainWindow::encryptWallet() { #define MESSAGE ((const unsigned char *) sequence) #define MESSAGE_LEN length - qDebug()<<"Generating cryptographic key from password: " < Date: Sat, 23 May 2020 12:44:13 +0200 Subject: [PATCH 134/251] encrypt addresslabels --- src/mainwindow.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 42b511c..9138c7c 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -307,6 +307,11 @@ void MainWindow::encryptWallet() { qDebug()<<"secret key generated:\n"; dump_hex_buff(hash,crypto_secretstream_xchacha20poly1305_KEYBYTES); + + QString source_file = "/home/denio/.local/share/Hush/SilentDragonLite/addresslabel.dat"; + QString target_file = "/home/denio/.local/share/Hush/SilentDragonLite/addresslabel-encrypt.dat"; + + FileEncryption::encrypt(target_file, source_file, hash); d.exec(); From a72ba09ee3680741347fb9cd81efc7cdbbf9695a Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.found> Date: Sat, 23 May 2020 15:23:07 +0200 Subject: [PATCH 135/251] update// added some stuff --- .gdb_history | 6 ++++ peda-session-SilentDragonLite.txt | 2 +- silentdragon-lite.pro | 3 +- src/Crypto/FileEncryption.cpp | 48 +++++++++++++++++++------------ src/Crypto/FileEncryption.h | 6 ++++ src/Crypto/passwd.cpp | 39 +++++++++++++++++++++++++ src/Crypto/passwd.h | 14 +++++++++ src/FileSystem/FileSystem.cpp | 8 ++++++ 8 files changed, 106 insertions(+), 20 deletions(-) create mode 100644 src/Crypto/passwd.cpp create mode 100644 src/Crypto/passwd.h diff --git a/.gdb_history b/.gdb_history index 4e303b8..06f6849 100644 --- a/.gdb_history +++ b/.gdb_history @@ -48,3 +48,9 @@ b FileSystem::writeContacts r n q +r +b FileEncryption::encrypt +r +s +n +q diff --git a/peda-session-SilentDragonLite.txt b/peda-session-SilentDragonLite.txt index f57fa7c..6f620bf 100644 --- a/peda-session-SilentDragonLite.txt +++ b/peda-session-SilentDragonLite.txt @@ -1,2 +1,2 @@ -break FileSystem::writeContacts +break FileEncryption::encrypt diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 86f38b0..7d3a281 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -83,7 +83,8 @@ SOURCES += \ src/Chat/Helper/ChatIDGenerator.cpp \ src/Chat/Chat.cpp \ src/FileSystem/FileSystem.cpp \ - src/Crypto/FileEncryption.cpp + src/Crypto/FileEncryption.cpp \ + src/Crypto/passwd.cpp HEADERS += \ src/firsttimewizard.h \ diff --git a/src/Crypto/FileEncryption.cpp b/src/Crypto/FileEncryption.cpp index 0100585..fae9bbc 100644 --- a/src/Crypto/FileEncryption.cpp +++ b/src/Crypto/FileEncryption.cpp @@ -7,42 +7,48 @@ void FileEncryption::showConfig() int FileEncryption::encrypt(QString target_file, QString source_file, const unsigned char key[crypto_secretstream_xchacha20poly1305_KEYBYTES]) { - unsigned char buf_in[FILEENCRYPTION_CHUNK_SIZE]; - unsigned char buf_out[FILEENCRYPTION_CHUNK_SIZE + crypto_secretstream_xchacha20poly1305_ABYTES]; + unsigned char plain_data[FILEENCRYPTION_CHUNK_SIZE]; + unsigned char cipher_data[FILEENCRYPTION_CHUNK_SIZE + crypto_secretstream_xchacha20poly1305_ABYTES]; unsigned char header[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; - crypto_secretstream_xchacha20poly1305_state st; - FILE *fp_t, *fp_s; - unsigned long long out_len; + crypto_secretstream_xchacha20poly1305_state state; + FILE *target, *source; + unsigned long long cipher_len; size_t rlen; int eof; unsigned char tag; - fp_s = fopen(source_file.toStdString().c_str(), "rb"); - fp_t = fopen(target_file.toStdString().c_str(), "wb"); - crypto_secretstream_xchacha20poly1305_init_push(&st, header, key); - fwrite(header, 1, sizeof header, fp_t); + if(!FileEncryption::exists(source_file.toStdString())) + { + qDebug() << "File not exits" << source_file; + return -1; + } + + source = fopen(source_file.toStdString().c_str(), "rb"); + target = fopen(target_file.toStdString().c_str(), "wb"); + crypto_secretstream_xchacha20poly1305_init_push(&state, header, key); + fwrite(header, 1, sizeof header, target); do { - rlen = fread(buf_in, 1, sizeof buf_in, fp_s); - eof = feof(fp_s); + rlen = fread(plain_data, 1, sizeof plain_data, source); + eof = feof(source); tag = eof ? crypto_secretstream_xchacha20poly1305_TAG_FINAL : 0; crypto_secretstream_xchacha20poly1305_push( - &st, - buf_out, - &out_len, - buf_in, + &state, + cipher_data, + &cipher_len, + plain_data, rlen, NULL, 0, tag ); - fwrite(buf_out, 1, (size_t) out_len, fp_t); + fwrite(cipher_data, 1, (size_t) cipher_len, target); } while (! eof); - fclose(fp_t); - fclose(fp_s); + fclose(target); + fclose(source); return 0; } @@ -59,6 +65,12 @@ int FileEncryption::decrypt(QString target_file, QString source_file, const unsi int ret = -1; unsigned char tag; + if(!FileEncryption::exists(source_file.toStdString())) + { + qDebug() << "File not exits" << source_file; + return -1; + } + fp_s = fopen(source_file.toStdString().c_str(), "rb"); fp_t = fopen(target_file.toStdString().c_str(), "wb"); fread(header, 1, sizeof header, fp_s); diff --git a/src/Crypto/FileEncryption.h b/src/Crypto/FileEncryption.h index 6db8977..c7a09d5 100644 --- a/src/Crypto/FileEncryption.h +++ b/src/Crypto/FileEncryption.h @@ -3,11 +3,17 @@ #include #include #include +#include #define FILEENCRYPTION_CHUNK_SIZE 4096 class FileEncryption { + private: + inline static bool exists (const std::string& name) { + std::ifstream f(name.c_str()); + return f.good(); + } public: static void showConfig(); static int encrypt(QString target_file, QString source_file, const unsigned char key[crypto_secretstream_xchacha20poly1305_KEYBYTES]); diff --git a/src/Crypto/passwd.cpp b/src/Crypto/passwd.cpp new file mode 100644 index 0000000..83d5b27 --- /dev/null +++ b/src/Crypto/passwd.cpp @@ -0,0 +1,39 @@ +#include "passwd.h" + +void PASSWD::show_hex_buff(unsigned char buf[]) +{ + int i; + for (uint8_t i=0; i < crypto_secretstream_xchacha20poly1305_KEYBYTES; i++) + printf("%02X ", buf[i]); + printf("\n"); +} + +const unsigned char* PASSWD::hash(QString password) +{ + /*std::string data = password.toStdString(); + + unsigned char hash[crypto_generichash_BYTES]; + + crypto_generichash(hash, sizeof hash, + (const unsigned char*)data.c_str(), data.size(), + NULL, 0); + + //qDebug() << PASSWD::convertToHexString(hash); + return (const unsigned char*)hash;*/ + + int length = password.length(); + + char *sequence = NULL; + sequence = new char[length+1]; + strncpy(sequence, password.toLocal8Bit(), length +1); + + #define MESSAGE ((const unsigned char *) sequence) + #define MESSAGE_LEN length + + qDebug()<<"Generating cryptographic key from password: " < +#include +#include + +class PASSWD +{ + public: + static void show_hex_buff(unsigned char buf[]); + static const unsigned char* hash(QString); +}; + +#endif \ No newline at end of file diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index d560d98..74a0440 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -2,6 +2,7 @@ #include #include +#include "../Crypto/passwd.h" FileSystem::FileSystem() { @@ -85,6 +86,13 @@ void FileSystem::writeContactsOldFormat(QString file, QList contact QList FileSystem::readContactsOldFormat(QString file) { + const unsigned char* data=PASSWD::hash(QString("Hello world")); + PASSWD::show_hex_buff((unsigned char*) data); + QString source_file = "/tmp/addresslabels.dat"; + QString target_file = "/tmp/addresslabels.dat.enc"; + FileEncryption::encrypt(target_file, source_file, data); + FileEncryption::decrypt("/tmp/addresslabels.dat.dec", target_file, data); + QList contacts; QFile _file(file); if (_file.exists()) From 6c3065684798252946de771b340e9447ab55c293 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.found> Date: Sat, 23 May 2020 19:36:04 +0200 Subject: [PATCH 136/251] update// addedh better stuff --- src/Crypto/passwd.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/Crypto/passwd.cpp b/src/Crypto/passwd.cpp index 83d5b27..160e631 100644 --- a/src/Crypto/passwd.cpp +++ b/src/Crypto/passwd.cpp @@ -31,8 +31,21 @@ const unsigned char* PASSWD::hash(QString password) #define MESSAGE_LEN length qDebug()<<"Generating cryptographic key from password: " < Date: Sat, 23 May 2020 19:50:36 +0200 Subject: [PATCH 137/251] update// added really goody stuff :D --- src/FileSystem/FileSystem.cpp | 7 ------ src/mainwindow.cpp | 46 ++++++++++++----------------------- 2 files changed, 15 insertions(+), 38 deletions(-) diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index 74a0440..2a60de1 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -86,13 +86,6 @@ void FileSystem::writeContactsOldFormat(QString file, QList contact QList FileSystem::readContactsOldFormat(QString file) { - const unsigned char* data=PASSWD::hash(QString("Hello world")); - PASSWD::show_hex_buff((unsigned char*) data); - QString source_file = "/tmp/addresslabels.dat"; - QString target_file = "/tmp/addresslabels.dat.enc"; - FileEncryption::encrypt(target_file, source_file, data); - FileEncryption::decrypt("/tmp/addresslabels.dat.dec", target_file, data); - QList contacts; QFile _file(file); if (_file.exists()) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 9138c7c..a2566ad 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -25,6 +25,9 @@ #include "sodium.h" #include "sodium/crypto_generichash_blake2b.h" #include +#include "FileSystem/FileSystem.h" +#include "Crypto/passwd.h" +#include "Crypto/FileEncryption.h" using json = nlohmann::json; @@ -283,39 +286,20 @@ void MainWindow::encryptWallet() { QObject::connect(ed.txtConfirmPassword, &QLineEdit::textChanged, fnPasswordEdited); QObject::connect(ed.txtPassword, &QLineEdit::textChanged, fnPasswordEdited); - if (d.exec() == QDialog::Accepted) { - - QString str = ed.txtPassword->text(); // data comes from user inputs - int length = str.length(); - - char *sequence = NULL; - sequence = new char[length+1]; - strncpy(sequence, str.toLocal8Bit(), length +1); - - #define MESSAGE ((const unsigned char *) sequence) - #define MESSAGE_LEN length - - qDebug()<<"Generating cryptographic key from password: " <text()); + PASSWD::show_hex_buff((unsigned char*) key); + auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); + QString source_file = dir.filePath("addresslabels.dat"); + QString target_enc_file = dir.filePath("addresslabels.dat.enc"); + QString target_dec_file = dir.filePath("addresslabels.dat.dec"); + FileEncryption::encrypt(target_enc_file, source_file, key); + FileEncryption::decrypt(target_dec_file, target_enc_file, key); -d.exec(); + d.exec(); -} + } } From 735a673da3adff867a46896044cc6e6dd0b25676 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 23 May 2020 20:43:42 +0200 Subject: [PATCH 138/251] gui element to decrypt --- src/mainwindow.cpp | 45 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index a2566ad..3fae23e 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -293,18 +293,51 @@ void MainWindow::encryptWallet() { auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); QString source_file = dir.filePath("addresslabels.dat"); QString target_enc_file = dir.filePath("addresslabels.dat.enc"); - QString target_dec_file = dir.filePath("addresslabels.dat.dec"); + //QString target_dec_file = dir.filePath("addresslabels.dat.dec"); FileEncryption::encrypt(target_enc_file, source_file, key); - FileEncryption::decrypt(target_dec_file, target_enc_file, key); + // FileEncryption::decrypt(target_dec_file, target_enc_file, key); - d.exec(); + d.exec(); } } void MainWindow::removeWalletEncryption() { - // Check if wallet is already encrypted + QDialog d(this); + Ui_encryptionDialog ed; + ed.setupUi(&d); + + // Handle edits on the password box + auto fnPasswordEdited = [=](const QString&) { + // Enable the OK button if the passwords match. + if (!ed.txtPassword->text().isEmpty() && + ed.txtPassword->text() == ed.txtConfirmPassword->text()) { + ed.lblPasswordMatch->setText(""); + ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); + } else { + ed.lblPasswordMatch->setText(tr("Passwords don't match")); + ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); + } + + }; + + QObject::connect(ed.txtConfirmPassword, &QLineEdit::textChanged, fnPasswordEdited); + QObject::connect(ed.txtPassword, &QLineEdit::textChanged, fnPasswordEdited); + + if (d.exec() == QDialog::Accepted) + { + const unsigned char* key=PASSWD::hash(ed.txtPassword->text()); + PASSWD::show_hex_buff((unsigned char*) key); + auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); + QString target_enc_file = dir.filePath("addresslabels.dat.enc"); + QString target_dec_file = dir.filePath("addresslabels.dat"); + FileEncryption::decrypt(target_dec_file, target_enc_file, key); + + d.exec(); + + } + /*// Check if wallet is already encrypted auto encStatus = rpc->getModel()->getEncryptionStatus(); if (!encStatus.first) { QMessageBox::information(this, tr("Wallet is not encrypted"), @@ -317,6 +350,8 @@ void MainWindow::removeWalletEncryption() { bool ok; QString password = QInputDialog::getText(this, tr("Wallet Password"), tr("Please enter your wallet password"), QLineEdit::Password, "", &ok); + + qDebug() << password; // If cancel was pressed, just return if (!ok) { @@ -356,7 +391,7 @@ void MainWindow::removeWalletEncryption() { QMessageBox::Ok ); } - }); + }); */ } void MainWindow::setupStatusBar() { From 5bb1634311768889640a34c9a5e3d8262dcd1b74 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 23 May 2020 21:27:46 +0200 Subject: [PATCH 139/251] check for fileencryption before sdl start --- src/mainwindow.cpp | 14 +++++++++++++- src/mainwindow.h | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 3fae23e..08b0bf5 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -56,7 +56,12 @@ MainWindow::MainWindow(QWidget *parent) : ui->memoTxtChat->setPlaceholderText("Send Message"); ui->memoTxtChat->setTextColor(Qt::white); - + + // Check for encryption + if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("addresslabels.dat.enc"))) + { + this->removeWalletEncryption(); + } // Status Bar setupStatusBar(); @@ -185,6 +190,12 @@ MainWindow::MainWindow(QWidget *parent) : createWebsocket(wormholecode); } } + +bool MainWindow::fileExists(QString path) +{ + QFileInfo check_file(path); + return (check_file.exists() && check_file.isFile()); +} void MainWindow::createWebsocket(QString wormholecode) { qDebug() << "Listening for app connections on port 8777"; @@ -332,6 +343,7 @@ void MainWindow::removeWalletEncryption() { auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); QString target_enc_file = dir.filePath("addresslabels.dat.enc"); QString target_dec_file = dir.filePath("addresslabels.dat"); + FileEncryption::decrypt(target_dec_file, target_enc_file, key); d.exec(); diff --git a/src/mainwindow.h b/src/mainwindow.h index 85f4feb..9a6f02f 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -100,6 +100,7 @@ private slots: private: + bool fileExists(QString path); void closeEvent(QCloseEvent* event); From e4dce6b06bc0b892422505777834c16b2fd5323e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 23 May 2020 22:50:50 +0200 Subject: [PATCH 140/251] encrypt wallet.dat also and check for it - work in progress --- src/mainwindow.cpp | 117 ++++++++++++++++++++++----------------------- src/mainwindow.h | 1 + 2 files changed, 57 insertions(+), 61 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 08b0bf5..88b33dd 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -60,7 +60,7 @@ MainWindow::MainWindow(QWidget *parent) : // Check for encryption if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("addresslabels.dat.enc"))) { - this->removeWalletEncryption(); + this->removeWalletEncryptionStartUp(); } // Status Bar @@ -302,16 +302,16 @@ void MainWindow::encryptWallet() { const unsigned char* key=PASSWD::hash(ed.txtPassword->text()); PASSWD::show_hex_buff((unsigned char*) key); auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); + auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QString source_file = dir.filePath("addresslabels.dat"); QString target_enc_file = dir.filePath("addresslabels.dat.enc"); - //QString target_dec_file = dir.filePath("addresslabels.dat.dec"); + QString sourceWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); + QString target_encWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat.enc"); + FileEncryption::encrypt(target_enc_file, source_file, key); - // FileEncryption::decrypt(target_dec_file, target_enc_file, key); - - d.exec(); - + FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key); } - + d.exec(); } void MainWindow::removeWalletEncryption() { @@ -341,69 +341,64 @@ void MainWindow::removeWalletEncryption() { const unsigned char* key=PASSWD::hash(ed.txtPassword->text()); PASSWD::show_hex_buff((unsigned char*) key); auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); - QString target_enc_file = dir.filePath("addresslabels.dat.enc"); - QString target_dec_file = dir.filePath("addresslabels.dat"); + auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); + QString target_decaddr_file = dir.filePath("addresslabels.dat"); + QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat.enc"); + QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); - FileEncryption::decrypt(target_dec_file, target_enc_file, key); + + FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); + FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); - d.exec(); + } - /*// Check if wallet is already encrypted - auto encStatus = rpc->getModel()->getEncryptionStatus(); - if (!encStatus.first) { - QMessageBox::information(this, tr("Wallet is not encrypted"), - tr("Your wallet is not encrypted with a password."), - QMessageBox::Ok - ); - return; - } + d.exec(); +} - bool ok; - QString password = QInputDialog::getText(this, tr("Wallet Password"), - tr("Please enter your wallet password"), QLineEdit::Password, "", &ok); - - qDebug() << password; +void MainWindow::removeWalletEncryptionStartUp() { + QDialog d(this); + Ui_encryptionDialog ed; + ed.setupUi(&d); - // If cancel was pressed, just return - if (!ok) { - return; - } + // Handle edits on the password box + auto fnPasswordEdited = [=](const QString&) { + // Enable the OK button if the passwords match. + if (!ed.txtPassword->text().isEmpty() && + ed.txtPassword->text() == ed.txtConfirmPassword->text()) { + ed.lblPasswordMatch->setText(""); + ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); + } else { + ed.lblPasswordMatch->setText(tr("Passwords don't match")); + ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); + } - if (password.isEmpty()) { - QMessageBox::critical(this, tr("Wallet Decryption Failed"), - tr("Please enter a password to decrypt your wallet!"), - QMessageBox::Ok - ); - return; - } + }; - rpc->removeWalletEncryption(password, [=] (json res) { - if (isJsonResultSuccess(res)) { - // Save the wallet - rpc->saveWallet([=] (json reply) { - if(isJsonResultSuccess(reply)) { - QMessageBox::information(this, tr("Wallet Encryption Removed"), - tr("Your wallet was successfully decrypted! You will no longer need a password to send funds or export private keys."), - QMessageBox::Ok - ); - } else { - QMessageBox::critical(this, tr("Wallet Decryption Failed"), - QString::fromStdString(reply["error"].get()), - QMessageBox::Ok - ); - } - }); + QObject::connect(ed.txtConfirmPassword, &QLineEdit::textChanged, fnPasswordEdited); + QObject::connect(ed.txtPassword, &QLineEdit::textChanged, fnPasswordEdited); - // And then refresh the UI - rpc->refresh(true); - } else { - QMessageBox::critical(this, tr("Wallet Decryption Failed"), - QString::fromStdString(res["error"].get()), - QMessageBox::Ok - ); - } - }); */ + if (d.exec() == QDialog::Accepted) + { + const unsigned char* key=PASSWD::hash(ed.txtPassword->text()); + PASSWD::show_hex_buff((unsigned char*) key); + auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); + auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); + QString target_decaddr_file = dir.filePath("addresslabels.dat"); + QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat.enc"); + QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); + + + FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); + QThread::sleep(1); + FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); + + + + } + } void MainWindow::setupStatusBar() { diff --git a/src/mainwindow.h b/src/mainwindow.h index 9a6f02f..7384fc2 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -130,6 +130,7 @@ private: void encryptWallet(); void removeWalletEncryption(); + void removeWalletEncryptionStartUp(); void cancelButton(); void sendButton(); From b03b926052cae5f9976e85b061b6dfce19b4b70f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 23 May 2020 23:13:58 +0200 Subject: [PATCH 141/251] new window for startup encryption process --- src/startupencryption.ui | 72 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/startupencryption.ui diff --git a/src/startupencryption.ui b/src/startupencryption.ui new file mode 100644 index 0000000..fb923db --- /dev/null +++ b/src/startupencryption.ui @@ -0,0 +1,72 @@ + + + + + Dialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + + From 4ea9a5e493c3c598da152bf2a84cbd793675daf8 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 23 May 2020 23:14:17 +0200 Subject: [PATCH 142/251] new window for startup encryption process --- silentdragon-lite.pro | 1 + src/encryption.ui | 114 ++++++++++++++-------------- src/mainwindow.cpp | 3 +- src/startupencryption.ui | 158 +++++++++++++++++++++++++++++++++------ 4 files changed, 195 insertions(+), 81 deletions(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 7d3a281..4fe9ad0 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -133,6 +133,7 @@ FORMS += \ src/confirm.ui \ src/privkey.ui \ src/memodialog.ui \ + src/startupencryption.ui \ src/viewalladdresses.ui \ src/connection.ui \ src/addressbook.ui \ diff --git a/src/encryption.ui b/src/encryption.ui index b4ab606..27c25a0 100644 --- a/src/encryption.ui +++ b/src/encryption.ui @@ -13,32 +13,50 @@ Encrypt Your Wallet - - - + + + - Qt::Horizontal + Qt::Vertical - + + + 20 + 40 + + + - - + + - Encryption Password: + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your password, the only way to recover the wallet is from the seed phrase. If you dont have Backup your seed phrase, please do it now!</p></body></html> + + + Qt::AlignCenter + + + true - - - - Confirm Password: + + + + Qt::Vertical - + + + 20 + 40 + + + - - - - QLineEdit::Password + + + + Qt::Horizontal @@ -55,6 +73,13 @@ + + + + Encryption Password: + + + @@ -62,27 +87,28 @@ - - - - Qt::Horizontal + + + + Confirm Password: - - - - WARNING: If you forget your password, the only way to recover the wallet is from the seed phrase. - - - Qt::AlignCenter + + + + QLineEdit::Password - - true + + + + + + Qt::Horizontal - + Qt::Horizontal @@ -95,32 +121,6 @@ - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 88b33dd..8985b3f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -21,6 +21,7 @@ #include "ui_requestContactDialog.h" #include "chatmodel.h" #include "requestdialog.h" +#include "ui_startupencryption.h" #include "websockets.h" #include "sodium.h" #include "sodium/crypto_generichash_blake2b.h" @@ -359,7 +360,7 @@ void MainWindow::removeWalletEncryption() { void MainWindow::removeWalletEncryptionStartUp() { QDialog d(this); - Ui_encryptionDialog ed; + Ui_startup ed; ed.setupUi(&d); // Handle edits on the password box diff --git a/src/startupencryption.ui b/src/startupencryption.ui index fb923db..6abdad1 100644 --- a/src/startupencryption.ui +++ b/src/startupencryption.ui @@ -1,10 +1,8 @@ - - - - - Dialog - - + + + startup + + 0 0 @@ -12,40 +10,155 @@ 300 - - Dialog + + SDL Startup Decryption - - + + - 30 - 240 + 50 + 260 341 32 - + Qt::Horizontal - + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + 10 + 229 + 127 + 25 + + + + Confirm Password: + + + + + + 10 + 166 + 382 + 3 + + + + Qt::Horizontal + + + + + + 162 + 229 + 230 + 25 + + + + QLineEdit::Password + + + + + + 10 + 58 + 382 + 56 + + + + <html><head/><body><p>If you have forgotten your password, restore your wallet with your seed!</p></body></html> + + + Qt::AlignCenter + + + true + + + + + + 10 + 260 + 382 + 3 + + + + Qt::Horizontal + + + + + + 10 + 198 + 146 + 25 + + + + Encryption Password: + + + + + + 10 + 175 + 382 + 17 + + + + color: red; + + + Passwords don't match + + + Qt::AlignCenter + + + + + + 162 + 198 + 230 + 25 + + + + QLineEdit::Password + + - buttonBox accepted() - Dialog + startup accept() - + 248 254 - + 157 274 @@ -54,14 +167,14 @@ buttonBox rejected() - Dialog + startup reject() - + 316 260 - + 286 274 @@ -69,4 +182,3 @@ - From e2d6cb01c6da3127aaf2964bf3d03bd01716c265 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 08:49:22 +0200 Subject: [PATCH 143/251] add startup check for encryption, encrypt if sdl close --- src/Crypto/passwd.cpp | 58 ++++++------ src/Crypto/passwd.h | 2 +- src/encryption.ui | 27 +++--- src/mainwindow.cpp | 205 +++++++++++++++++++++++++++++++++++------- 4 files changed, 226 insertions(+), 66 deletions(-) diff --git a/src/Crypto/passwd.cpp b/src/Crypto/passwd.cpp index 160e631..98996b0 100644 --- a/src/Crypto/passwd.cpp +++ b/src/Crypto/passwd.cpp @@ -8,19 +8,9 @@ void PASSWD::show_hex_buff(unsigned char buf[]) printf("\n"); } -const unsigned char* PASSWD::hash(QString password) +const unsigned char* PASSWD::key(QString password) { - /*std::string data = password.toStdString(); - - unsigned char hash[crypto_generichash_BYTES]; - - crypto_generichash(hash, sizeof hash, - (const unsigned char*)data.c_str(), data.size(), - NULL, 0); - - //qDebug() << PASSWD::convertToHexString(hash); - return (const unsigned char*)hash;*/ - + int length = password.length(); char *sequence = NULL; @@ -29,24 +19,42 @@ const unsigned char* PASSWD::hash(QString password) #define MESSAGE ((const unsigned char *) sequence) #define MESSAGE_LEN length + + unsigned char hash[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_hash_sha256(hash, MESSAGE, MESSAGE_LEN); + + qDebug()<<"Generating SaltHash from password: " < Encrypt Your Wallet - + @@ -27,7 +27,7 @@ - + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your password, the only way to recover the wallet is from the seed phrase. If you dont have Backup your seed phrase, please do it now!</p></body></html> @@ -53,14 +53,21 @@ - + Qt::Horizontal - + + + + <html><head/><body><p>10 letters minimum</p></body></html> + + + + color: red; @@ -73,42 +80,42 @@ - + Encryption Password: - + QLineEdit::Password - + Confirm Password: - + QLineEdit::Password - + Qt::Horizontal - + Qt::Horizontal diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 8985b3f..e7d175b 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -36,6 +36,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { + // Include css QString theme_name; try @@ -53,17 +54,16 @@ MainWindow::MainWindow(QWidget *parent) : ui->setupUi(this); logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite-wallet.log")); - ui->memoTxtChat->setAutoFillBackground(false); - ui->memoTxtChat->setPlaceholderText("Send Message"); - ui->memoTxtChat->setTextColor(Qt::white); - - - // Check for encryption - if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("addresslabels.dat.enc"))) + // Check for encryption + if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"))) { this->removeWalletEncryptionStartUp(); } + ui->memoTxtChat->setAutoFillBackground(false); + ui->memoTxtChat->setPlaceholderText("Send Message"); + ui->memoTxtChat->setTextColor(Qt::white); + // Status Bar setupStatusBar(); @@ -263,6 +263,69 @@ void MainWindow::closeEvent(QCloseEvent* event) { // Let the RPC know to shut down any running service. rpc->shutdownhushd(); + +// Check is encryption is ON for SDl + if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"))) + + { + + + // delete old file before + + auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QFile file1(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); + file1.remove(); + + // Encrypt our wallet.dat + QString str = "123";///just for testing. We set the user pw here + // QString str = ed.txtPassword->text(); // data comes from user inputs + int length = str.length(); + + char *sequence = NULL; + sequence = new char[length+1]; + strncpy(sequence, str.toLocal8Bit(), length +1); + + #define MESSAGE ((const unsigned char *) sequence) + #define MESSAGE_LEN length + + unsigned char hash[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_hash_sha256(hash,MESSAGE, MESSAGE_LEN); + + #define PASSWORD sequence + #define KEY_LEN crypto_box_SEEDBYTES + + + + /////////we use the Hash of the Password as Salt, not perfect but still a good solution. + + unsigned char key[KEY_LEN]; + + if (crypto_pwhash + (key, sizeof key, PASSWORD, strlen(PASSWORD), hash, + crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE, + crypto_pwhash_ALG_DEFAULT) != 0) { + /* out of memory */ +} + + auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); + // auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QString source_file = dir.filePath("addresslabels.dat"); + QString target_enc_file = dir.filePath("addresslabels.dat.enc"); + QString sourceWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); + QString target_encWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); + + FileEncryption::encrypt(target_enc_file, source_file, key); + FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key); + + } +///////////////// we rename the plaintext wallet.dat to Backup, for testing. + auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QFile file1(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); + file1.remove(); + QFile file(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + file.rename(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); + // Bubble up if (event) QMainWindow::closeEvent(event); @@ -282,14 +345,17 @@ void MainWindow::encryptWallet() { ed.setupUi(&d); // Handle edits on the password box + + auto fnPasswordEdited = [=](const QString&) { // Enable the OK button if the passwords match. + QString password = ed.txtPassword->text(); if (!ed.txtPassword->text().isEmpty() && - ed.txtPassword->text() == ed.txtConfirmPassword->text()) { + ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 10) { ed.lblPasswordMatch->setText(""); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } else { - ed.lblPasswordMatch->setText(tr("Passwords don't match")); + ed.lblPasswordMatch->setText(tr("Passwords don't match or You have entered too few letters (10 minimum)")); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); } @@ -300,19 +366,49 @@ void MainWindow::encryptWallet() { if (d.exec() == QDialog::Accepted) { - const unsigned char* key=PASSWD::hash(ed.txtPassword->text()); - PASSWD::show_hex_buff((unsigned char*) key); + + QString str = ed.txtPassword->text(); // data comes from user inputs + int length = str.length(); + + char *sequence = NULL; + sequence = new char[length+1]; + strncpy(sequence, str.toLocal8Bit(), length +1); + + #define MESSAGE ((const unsigned char *) sequence) + #define MESSAGE_LEN length + + unsigned char hash[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_hash_sha256(hash,MESSAGE, MESSAGE_LEN); + + #define PASSWORD sequence + #define KEY_LEN crypto_box_SEEDBYTES + + + + /////////we use the Hash of the Password as Salt, not perfect but still a good solution. + + unsigned char key[KEY_LEN]; + + if (crypto_pwhash + (key, sizeof key, PASSWORD, strlen(PASSWORD), hash, + crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE, + crypto_pwhash_ALG_DEFAULT) != 0) { + /* out of memory */ +} + + qDebug()<<"Generating cryptographic key from password: " <text()); - PASSWD::show_hex_buff((unsigned char*) key); + QString str = ed.txtPassword->text(); // data comes from user inputs + int length = str.length(); + + char *sequence = NULL; + sequence = new char[length+1]; + strncpy(sequence, str.toLocal8Bit(), length +1); + + #define MESSAGE ((const unsigned char *) sequence) + #define MESSAGE_LEN length + + unsigned char hash[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_hash_sha256(hash,MESSAGE, MESSAGE_LEN); + + #define PASSWORD sequence + #define KEY_LEN crypto_box_SEEDBYTES + + + + /////////we use the Hash of the Password as Salt, not perfect but still a good solution. + + unsigned char key[KEY_LEN]; + + if (crypto_pwhash + (key, sizeof key, PASSWORD, strlen(PASSWORD), hash, + crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE, + crypto_pwhash_ALG_DEFAULT) != 0) { + /* out of memory */ +} auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); - auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); QString target_decaddr_file = dir.filePath("addresslabels.dat"); - QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat.enc"); + QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); @@ -354,8 +477,7 @@ void MainWindow::removeWalletEncryption() { - } - d.exec(); + } } void MainWindow::removeWalletEncryptionStartUp() { @@ -367,11 +489,11 @@ void MainWindow::removeWalletEncryptionStartUp() { auto fnPasswordEdited = [=](const QString&) { // Enable the OK button if the passwords match. if (!ed.txtPassword->text().isEmpty() && - ed.txtPassword->text() == ed.txtConfirmPassword->text()) { + ed.txtPassword->text() == ed.txtConfirmPassword->text()) { ed.lblPasswordMatch->setText(""); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } else { - ed.lblPasswordMatch->setText(tr("Passwords don't match")); + ed.lblPasswordMatch->setText(tr("Passwords don't match or under-lettered")); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); } @@ -382,22 +504,45 @@ void MainWindow::removeWalletEncryptionStartUp() { if (d.exec() == QDialog::Accepted) { - const unsigned char* key=PASSWD::hash(ed.txtPassword->text()); - PASSWD::show_hex_buff((unsigned char*) key); + QString str = ed.txtPassword->text(); // data comes from user inputs + int length = str.length(); + + char *sequence = NULL; + sequence = new char[length+1]; + strncpy(sequence, str.toLocal8Bit(), length +1); + + #define MESSAGE ((const unsigned char *) sequence) + #define MESSAGE_LEN length + + unsigned char hash[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_hash_sha256(hash,MESSAGE, MESSAGE_LEN); + + #define PASSWORD sequence + #define KEY_LEN crypto_box_SEEDBYTES + + + + /////////we use the Hash of the Password as Salt, not perfect but still a good solution. + + unsigned char key[KEY_LEN]; + + if (crypto_pwhash + (key, sizeof key, PASSWORD, strlen(PASSWORD), hash, + crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE, + crypto_pwhash_ALG_DEFAULT) != 0) { + /* out of memory */ + } auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); + QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); QString target_decaddr_file = dir.filePath("addresslabels.dat"); - QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat.enc"); - QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); - FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); - QThread::sleep(1); + // QThread::sleep(1); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); - - - } } From 833ed7fc97cf91d779b4c11d813b57f1cf2e8d7b Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 09:10:39 +0200 Subject: [PATCH 144/251] new gui elements for encryption --- src/removeencryption.ui | 72 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/removeencryption.ui diff --git a/src/removeencryption.ui b/src/removeencryption.ui new file mode 100644 index 0000000..fb923db --- /dev/null +++ b/src/removeencryption.ui @@ -0,0 +1,72 @@ + + + + + Dialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + + From feb745457be289b60039095ba5e402ae18314a48 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 09:11:12 +0200 Subject: [PATCH 145/251] new gui elements for encryption --- silentdragon-lite.pro | 1 + src/encryption.ui | 10 +-- src/mainwindow.cpp | 39 +++++---- src/removeencryption.ui | 171 ++++++++++++++++++++++++++++++++++------ 4 files changed, 173 insertions(+), 48 deletions(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 4fe9ad0..89c9012 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -143,6 +143,7 @@ FORMS += \ src/requestContactDialog.ui \ src/newrecurring.ui \ src/requestdialog.ui \ + src/removeencryption.ui \ src/recurringmultiple.ui \ src/chatbubbleme.ui \ src/chatbubblepartner.ui diff --git a/src/encryption.ui b/src/encryption.ui index e0b3e2f..ae2643b 100644 --- a/src/encryption.ui +++ b/src/encryption.ui @@ -30,7 +30,7 @@ - <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your password, the only way to recover the wallet is from the seed phrase. If you dont have Backup your seed phrase, please do it now!</p></body></html> + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase the only way to recover the wallet is from the seed phrase. If you dont have Backup your seed phrase, please do it now!</p></body></html> Qt::AlignCenter @@ -63,7 +63,7 @@ - <html><head/><body><p>10 letters minimum</p></body></html> + <html><head/><body><p>16 letters minimum</p></body></html> @@ -73,7 +73,7 @@ color: red; - Passwords don't match + Passphrase don't match Qt::AlignCenter @@ -83,7 +83,7 @@ - Encryption Password: + Encryption Passphrase: @@ -97,7 +97,7 @@ - Confirm Password: + Confirm Passphrase: diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index e7d175b..fd5be39 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -21,7 +21,8 @@ #include "ui_requestContactDialog.h" #include "chatmodel.h" #include "requestdialog.h" -#include "ui_startupencryption.h" +#include "ui_startupencryption.h" +#include "ui_removeencryption.h" #include "websockets.h" #include "sodium.h" #include "sodium/crypto_generichash_blake2b.h" @@ -268,18 +269,16 @@ void MainWindow::closeEvent(QCloseEvent* event) { if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"))) { - - // delete old file before auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); - QFile file1(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); - file1.remove(); + QFile fileoldencryption(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); + fileoldencryption.remove(); - // Encrypt our wallet.dat - QString str = "123";///just for testing. We set the user pw here - // QString str = ed.txtPassword->text(); // data comes from user inputs - int length = str.length(); + // Encrypt our wallet.dat + QString str = "123";///just for testing. We set the user pw here + // QString str = ed.txtPassword->text(); // data comes from user inputs + int length = str.length(); char *sequence = NULL; sequence = new char[length+1]; @@ -309,7 +308,7 @@ void MainWindow::closeEvent(QCloseEvent* event) { } auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); - // auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + // auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QString source_file = dir.filePath("addresslabels.dat"); QString target_enc_file = dir.filePath("addresslabels.dat.enc"); QString sourceWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); @@ -318,14 +317,16 @@ void MainWindow::closeEvent(QCloseEvent* event) { FileEncryption::encrypt(target_enc_file, source_file, key); FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key); - } -///////////////// we rename the plaintext wallet.dat to Backup, for testing. - auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); - QFile file1(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); - file1.remove(); + ///////////////// we rename the plaintext wallet.dat to Backup, for testing. + + QFile fileoldbackup(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); + fileoldbackup.remove(); QFile file(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); file.rename(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); + } + + // Bubble up if (event) QMainWindow::closeEvent(event); @@ -351,11 +352,11 @@ void MainWindow::encryptWallet() { // Enable the OK button if the passwords match. QString password = ed.txtPassword->text(); if (!ed.txtPassword->text().isEmpty() && - ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 10) { + ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) { ed.lblPasswordMatch->setText(""); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } else { - ed.lblPasswordMatch->setText(tr("Passwords don't match or You have entered too few letters (10 minimum)")); + ed.lblPasswordMatch->setText(tr("Passphrase don't match or You have entered too few letters (16 minimum)")); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); } @@ -413,7 +414,7 @@ void MainWindow::encryptWallet() { void MainWindow::removeWalletEncryption() { QDialog d(this); - Ui_encryptionDialog ed; + Ui_removeencryption ed; ed.setupUi(&d); // Handle edits on the password box @@ -475,8 +476,6 @@ void MainWindow::removeWalletEncryption() { FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); - - } } diff --git a/src/removeencryption.ui b/src/removeencryption.ui index fb923db..15f4f30 100644 --- a/src/removeencryption.ui +++ b/src/removeencryption.ui @@ -1,10 +1,8 @@ - - - - - Dialog - - + + + removeencryption + + 0 0 @@ -12,40 +10,168 @@ 300 - - Dialog + + Remove your Wallet encryption - - + + - 30 - 240 + 50 + 260 341 32 - + Qt::Horizontal - + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + 260 + 170 + 133 + 23 + + + + <html><head/><body><p>16 letters minimum</p></body></html> + + + + + + 10 + 229 + 157 + 25 + + + + Confirm Passphrase: + + + + + + 10 + 164 + 382 + 3 + + + + Qt::Horizontal + + + + + + 173 + 229 + 219 + 25 + + + + QLineEdit::Password + + + + + + 10 + 56 + 382 + 56 + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If yo remove your encryption, all your Data is Plaintext on your Disk!</p></body></html> + + + Qt::AlignCenter + + + true + + + + + + 10 + 260 + 382 + 3 + + + + Qt::Horizontal + + + + + + 10 + 198 + 157 + 25 + + + + Encryption Passphrase: + + + + + + 10 + 175 + 243 + 17 + + + + color: red; + + + Passphrase don't match + + + Qt::AlignCenter + + + + + + 173 + 198 + 219 + 25 + + + + QLineEdit::Password + + - buttonBox accepted() - Dialog + removeencryption accept() - + 248 254 - + 157 274 @@ -54,14 +180,14 @@ buttonBox rejected() - Dialog + removeencryption reject() - + 316 260 - + 286 274 @@ -69,4 +195,3 @@ - From c12a4ffe73ba0969d23b412403709cb33ec14459 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 09:39:50 +0200 Subject: [PATCH 146/251] use userpw for encryption at sdl close --- src/mainwindow.cpp | 15 ++++++++++++++- src/mainwindow.h | 3 +++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index fd5be39..5bb0740 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -276,7 +276,7 @@ void MainWindow::closeEvent(QCloseEvent* event) { fileoldencryption.remove(); // Encrypt our wallet.dat - QString str = "123";///just for testing. We set the user pw here + QString str = this->getPassword(); // QString str = ed.txtPassword->text(); // data comes from user inputs int length = str.length(); @@ -351,6 +351,7 @@ void MainWindow::encryptWallet() { auto fnPasswordEdited = [=](const QString&) { // Enable the OK button if the passwords match. QString password = ed.txtPassword->text(); + this->setPassword(password); if (!ed.txtPassword->text().isEmpty() && ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) { ed.lblPasswordMatch->setText(""); @@ -546,6 +547,18 @@ void MainWindow::removeWalletEncryptionStartUp() { } +QString MainWindow::getPassword() +{ + + return _password; +} + +void MainWindow::setPassword(QString password) +{ + + _password = password; +} + void MainWindow::setupStatusBar() { // Status Bar loadingLabel = new QLabel(); diff --git a/src/mainwindow.h b/src/mainwindow.h index 7384fc2..e80af01 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -51,6 +51,8 @@ public: QString doSendChatTxValidations(Tx tx); QString doSendRequestTxValidations(Tx tx); QString getCid(); + QString getPassword(); + void setPassword(QString Password); void replaceWormholeClient(WormholeClient* newClient); bool isWebsocketListening(); @@ -120,6 +122,7 @@ private: void setupStatusBar(); void clearSendForm(); + QString _password; Tx createTxFromSendPage(); bool confirmTx(Tx tx, RecurringPaymentInfo* rpi); From 06b3f0370f9de519c5cc9e3cd9849eb098003a6d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 09:55:01 +0200 Subject: [PATCH 147/251] use userpw for encryption at sdl close --- src/mainwindow.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 5bb0740..49f4f72 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -477,6 +477,9 @@ void MainWindow::removeWalletEncryption() { FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); + QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); + filencrypted.remove(); + } } @@ -486,6 +489,8 @@ void MainWindow::removeWalletEncryptionStartUp() { ed.setupUi(&d); // Handle edits on the password box + QString password = ed.txtPassword->text(); + auto fnPasswordEdited = [=](const QString&) { // Enable the OK button if the passwords match. if (!ed.txtPassword->text().isEmpty() && @@ -506,7 +511,7 @@ void MainWindow::removeWalletEncryptionStartUp() { { QString str = ed.txtPassword->text(); // data comes from user inputs int length = str.length(); - + this->setPassword(str); char *sequence = NULL; sequence = new char[length+1]; strncpy(sequence, str.toLocal8Bit(), length +1); From 0071ee1f093ce4399c5fe6522485eeceb4356897 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 12:35:20 +0200 Subject: [PATCH 148/251] check for wrong password --- src/mainwindow.cpp | 67 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 59 insertions(+), 8 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 49f4f72..ee93f6f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -466,21 +466,46 @@ void MainWindow::removeWalletEncryption() { crypto_pwhash_ALG_DEFAULT) != 0) { /* out of memory */ } + + QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); + filencrypted.remove(); + + { auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); - QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); - QString target_decaddr_file = dir.filePath("addresslabels.dat"); QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); + QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); + QString target_decaddr_file = dir.filePath("addresslabels.dat"); - FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); - QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); - filencrypted.remove(); - } + + auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + + if (filencrypted.size() > 0) + { + + QMessageBox::information(this, tr("Wallet Encryption Success"), + QString("SDL is ready to Rock"), + QMessageBox::Ok + ); + }else{ + + qDebug()<<"verschlüsselung gescheitert "; + + QMessageBox::critical(this, tr("Wallet Encryption Failed"), + QString("false password please try again"), + QMessageBox::Ok + ); + this->removeWalletEncryptionStartUp(); + } + + } + } void MainWindow::removeWalletEncryptionStartUp() { @@ -532,12 +557,15 @@ void MainWindow::removeWalletEncryptionStartUp() { unsigned char key[KEY_LEN]; - if (crypto_pwhash + if (crypto_pwhash (key, sizeof key, PASSWORD, strlen(PASSWORD), hash, crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE, crypto_pwhash_ALG_DEFAULT) != 0) { /* out of memory */ } + + + { auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); @@ -546,8 +574,31 @@ void MainWindow::removeWalletEncryptionStartUp() { QString target_decaddr_file = dir.filePath("addresslabels.dat"); FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); - // QThread::sleep(1); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); + + } + + auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + + if (filencrypted.size() > 0) + { + + QMessageBox::information(this, tr("Wallet Encryption Success"), + QString("SDL is ready to Rock"), + QMessageBox::Ok + ); + }else{ + + qDebug()<<"verschlüsselung gescheitert "; + + QMessageBox::critical(this, tr("Wallet Encryption Failed"), + QString("false password please try again"), + QMessageBox::Ok + ); + this->removeWalletEncryptionStartUp(); + } + } } From d5138b8fa247a55635f67ca7ecabf86f01d42b4f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 13:15:57 +0200 Subject: [PATCH 149/251] prevent to open sdl without pw --- src/mainwindow.cpp | 73 +++++++++++++++++++++++++---------------- src/mainwindow.h | 2 ++ src/removeencryption.ui | 2 +- 3 files changed, 48 insertions(+), 29 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index ee93f6f..681391a 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -252,6 +252,10 @@ void MainWindow::doClose() { closeEvent(nullptr); } +void MainWindow::doClosePw() { + closeEventpw(nullptr); +} + void MainWindow::closeEvent(QCloseEvent* event) { QSettings s; @@ -261,8 +265,7 @@ void MainWindow::closeEvent(QCloseEvent* event) { s.sync(); - // Let the RPC know to shut down any running service. - rpc->shutdownhushd(); + // Check is encryption is ON for SDl @@ -318,27 +321,30 @@ void MainWindow::closeEvent(QCloseEvent* event) { FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key); ///////////////// we rename the plaintext wallet.dat to Backup, for testing. - - QFile fileoldbackup(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); - fileoldbackup.remove(); + QFile file(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); file.rename(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); } - + // Let the RPC know to shut down any running service. + rpc->shutdownhushd(); // Bubble up if (event) QMainWindow::closeEvent(event); } -void dump_hex_buff(unsigned char buf[], unsigned int len) -{ - int i; - for (i=0; ishutdownhushd(); + + // Bubble up + if (event) + QMainWindow::closeEvent(event); } + void MainWindow::encryptWallet() { QDialog d(this); @@ -351,7 +357,7 @@ void MainWindow::encryptWallet() { auto fnPasswordEdited = [=](const QString&) { // Enable the OK button if the passwords match. QString password = ed.txtPassword->text(); - this->setPassword(password); + if (!ed.txtPassword->text().isEmpty() && ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) { ed.lblPasswordMatch->setText(""); @@ -371,6 +377,7 @@ void MainWindow::encryptWallet() { QString str = ed.txtPassword->text(); // data comes from user inputs int length = str.length(); + this->setPassword(str); char *sequence = NULL; sequence = new char[length+1]; @@ -399,8 +406,6 @@ void MainWindow::encryptWallet() { /* out of memory */ } - qDebug()<<"Generating cryptographic key from password: " <text(); auto fnPasswordEdited = [=](const QString&) { // Enable the OK button if the passwords match. if (!ed.txtPassword->text().isEmpty() && - ed.txtPassword->text() == ed.txtConfirmPassword->text()) { + ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) { ed.lblPasswordMatch->setText(""); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } else { @@ -466,11 +472,9 @@ void MainWindow::removeWalletEncryption() { crypto_pwhash_ALG_DEFAULT) != 0) { /* out of memory */ } + - QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); - filencrypted.remove(); - - { + auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); @@ -481,29 +485,35 @@ void MainWindow::removeWalletEncryption() { FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); - } + - auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); if (filencrypted.size() > 0) { - QMessageBox::information(this, tr("Wallet Encryption Success"), + QMessageBox::information(this, tr("Wallet decryption Success"), QString("SDL is ready to Rock"), QMessageBox::Ok - ); + ); + + filencrypted.remove(); + }else{ qDebug()<<"verschlüsselung gescheitert "; QMessageBox::critical(this, tr("Wallet Encryption Failed"), - QString("false password please try again"), + QString("false password, please try again"), QMessageBox::Ok ); this->removeWalletEncryptionStartUp(); } + }else{ + + this->doClosePw(); } } @@ -514,12 +524,12 @@ void MainWindow::removeWalletEncryptionStartUp() { ed.setupUi(&d); // Handle edits on the password box - QString password = ed.txtPassword->text(); auto fnPasswordEdited = [=](const QString&) { + QString password = ed.txtPassword->text(); // Enable the OK button if the passwords match. if (!ed.txtPassword->text().isEmpty() && - ed.txtPassword->text() == ed.txtConfirmPassword->text()) { + ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) { ed.lblPasswordMatch->setText(""); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } else { @@ -580,6 +590,8 @@ void MainWindow::removeWalletEncryptionStartUp() { auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + QFile backup(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); + if (filencrypted.size() > 0) { @@ -587,7 +599,9 @@ void MainWindow::removeWalletEncryptionStartUp() { QMessageBox::information(this, tr("Wallet Encryption Success"), QString("SDL is ready to Rock"), QMessageBox::Ok - ); + ); + + backup.remove(); }else{ qDebug()<<"verschlüsselung gescheitert "; @@ -599,8 +613,11 @@ void MainWindow::removeWalletEncryptionStartUp() { this->removeWalletEncryptionStartUp(); } + }else{ + + this->doClosePw(); } - + } QString MainWindow::getPassword() diff --git a/src/mainwindow.h b/src/mainwindow.h index e80af01..7ec42ba 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -88,6 +88,7 @@ public: Logger* logger; void doClose(); + void doClosePw(); QString createHeaderMemo(QString type, QString cid, QString zaddr, int version, int headerNumber); public slots: @@ -104,6 +105,7 @@ private: bool fileExists(QString path); void closeEvent(QCloseEvent* event); + void closeEventpw(QCloseEvent* event); void setupSendTab(); diff --git a/src/removeencryption.ui b/src/removeencryption.ui index 15f4f30..77d7239 100644 --- a/src/removeencryption.ui +++ b/src/removeencryption.ui @@ -181,7 +181,7 @@ buttonBox rejected() removeencryption - reject() + close() 316 From 79aecae12ea603fc29e02b7723e23d5978627392 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 13:25:12 +0200 Subject: [PATCH 150/251] rename to .backup at sdl end --- src/mainwindow.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 681391a..cd2bd34 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -266,7 +266,8 @@ void MainWindow::closeEvent(QCloseEvent* event) { s.sync(); - + // Let the RPC know to shut down any running service. + rpc->shutdownhushd(); // Check is encryption is ON for SDl if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"))) @@ -324,10 +325,10 @@ void MainWindow::closeEvent(QCloseEvent* event) { QFile file(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); file.rename(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); + } - // Let the RPC know to shut down any running service. - rpc->shutdownhushd(); + // Bubble up if (event) @@ -591,6 +592,7 @@ void MainWindow::removeWalletEncryptionStartUp() { auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); QFile backup(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); + if (filencrypted.size() > 0) From 309c1acbcc5ac274b5893014f39a8e6f569d2694 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 15:24:06 +0200 Subject: [PATCH 151/251] some gui fixes --- src/mainwindow.cpp | 58 ++++++++++++++++++++++++++-------------------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index cd2bd34..a8c5e03 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -323,10 +323,10 @@ void MainWindow::closeEvent(QCloseEvent* event) { ///////////////// we rename the plaintext wallet.dat to Backup, for testing. - QFile file(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); - file.rename(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); - - + QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + QFile address(dir.filePath("addresslabels.dat")); + wallet.remove(); + address.remove(); } @@ -416,6 +416,11 @@ void MainWindow::encryptWallet() { FileEncryption::encrypt(target_enc_file, source_file, key); FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key); + + QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + QFile address(dir.filePath("addresslabels.dat")); + wallet.rename(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBackup")); + address.rename(dir.filePath("addresslabels.datBackup")); } } @@ -424,12 +429,11 @@ void MainWindow::removeWalletEncryption() { Ui_removeencryption ed; ed.setupUi(&d); - // Handle edits on the password box - QString password = ed.txtPassword->text(); - auto fnPasswordEdited = [=](const QString&) { + auto fnPasswordEdited = [=](const QString&) { + QString password = ed.txtPassword->text(); // Enable the OK button if the passwords match. if (!ed.txtPassword->text().isEmpty() && - ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) { + ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) { ed.lblPasswordMatch->setText(""); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } else { @@ -485,17 +489,15 @@ void MainWindow::removeWalletEncryption() { FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); - - - - QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); + QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); - if (filencrypted.size() > 0) + if (wallet.size() > 0) { QMessageBox::information(this, tr("Wallet decryption Success"), - QString("SDL is ready to Rock"), + QString("Successfully delete the encryption"), QMessageBox::Ok ); @@ -506,15 +508,12 @@ void MainWindow::removeWalletEncryption() { qDebug()<<"verschlüsselung gescheitert "; QMessageBox::critical(this, tr("Wallet Encryption Failed"), - QString("false password, please try again"), + QString("False password, please try again"), QMessageBox::Ok ); - this->removeWalletEncryptionStartUp(); + this->removeWalletEncryption(); } - }else{ - - this->doClosePw(); } } @@ -590,20 +589,29 @@ void MainWindow::removeWalletEncryptionStartUp() { } auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); - QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); - QFile backup(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP")); + QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + //QFile backup(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP"));*/ - - - if (filencrypted.size() > 0) + if (wallet.size() > 0) { + if (fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.datBackup"))) + + { + + QMessageBox::warning(this, tr("You have still Plaintextdata on your disk!"), + QString("WARNING: Delete it only if you have a backup of your Wallet Seed."), + QMessageBox::Ok + ); + // backup.remove(); + + } QMessageBox::information(this, tr("Wallet Encryption Success"), QString("SDL is ready to Rock"), QMessageBox::Ok ); - backup.remove(); + }else{ qDebug()<<"verschlüsselung gescheitert "; From c79bf0046d8dd0e5e6b3bdb4b8f03519b1f76f36 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 16:51:55 +0200 Subject: [PATCH 152/251] fix for win --- src/mainwindow.cpp | 54 ++++++++++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 19 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index a8c5e03..1f16a60 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -33,6 +33,19 @@ using json = nlohmann::json; + + +#ifdef Q_OS_WIN +auto dirwallet = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet.dat"); +auto dirwalletenc = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet-enc.dat"); +auto dirwalletbackup = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet.datBackup"); +#endif +#ifdef Q_OS_UNIX +auto dirwallet = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.dat"); +auto dirwalletenc = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); +auto dirwalletbackup = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.datBackup"); +#endif + MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) @@ -56,7 +69,10 @@ MainWindow::MainWindow(QWidget *parent) : logger = new Logger(this, QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite-wallet.log")); // Check for encryption - if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"))) + + + + if(fileExists(dirwalletenc)) { this->removeWalletEncryptionStartUp(); } @@ -270,13 +286,13 @@ void MainWindow::closeEvent(QCloseEvent* event) { rpc->shutdownhushd(); // Check is encryption is ON for SDl - if(fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"))) + if(fileExists(dirwalletenc)) { // delete old file before - auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); - QFile fileoldencryption(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); + //auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); + QFile fileoldencryption(dirwalletenc); fileoldencryption.remove(); // Encrypt our wallet.dat @@ -315,15 +331,15 @@ void MainWindow::closeEvent(QCloseEvent* event) { // auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QString source_file = dir.filePath("addresslabels.dat"); QString target_enc_file = dir.filePath("addresslabels.dat.enc"); - QString sourceWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); - QString target_encWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); + QString sourceWallet_file = dirwallet; + QString target_encWallet_file = dirwalletenc; FileEncryption::encrypt(target_enc_file, source_file, key); FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key); ///////////////// we rename the plaintext wallet.dat to Backup, for testing. - QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + QFile wallet(dirwallet); QFile address(dir.filePath("addresslabels.dat")); wallet.remove(); address.remove(); @@ -411,15 +427,15 @@ void MainWindow::encryptWallet() { auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); QString source_file = dir.filePath("addresslabels.dat"); QString target_enc_file = dir.filePath("addresslabels.dat.enc"); - QString sourceWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); - QString target_encWallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); + QString sourceWallet_file = dirwallet; + QString target_encWallet_file = dirwalletenc; FileEncryption::encrypt(target_enc_file, source_file, key); FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key); - QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + QFile wallet(dirwallet); QFile address(dir.filePath("addresslabels.dat")); - wallet.rename(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBackup")); + wallet.rename(dirwalletbackup); address.rename(dir.filePath("addresslabels.datBackup")); } } @@ -482,16 +498,16 @@ void MainWindow::removeWalletEncryption() { auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); - QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); - QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); + QString target_encwallet_file = dirwalletenc; + QString target_decwallet_file = dirwallet; QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); QString target_decaddr_file = dir.filePath("addresslabels.dat"); FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key); FileEncryption::decrypt(target_decaddr_file, target_encaddr_file, key); - QFile filencrypted(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat")); - QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + QFile filencrypted(dirwalletenc); + QFile wallet(dirwallet); if (wallet.size() > 0) { @@ -578,8 +594,8 @@ void MainWindow::removeWalletEncryptionStartUp() { { auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); - QString target_encwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); - QString target_decwallet_file = dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat"); + QString target_encwallet_file = dirwalletenc; + QString target_decwallet_file = dirwallet; QString target_encaddr_file = dir.filePath("addresslabels.dat.enc"); QString target_decaddr_file = dir.filePath("addresslabels.dat"); @@ -589,12 +605,12 @@ void MainWindow::removeWalletEncryptionStartUp() { } auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); - QFile wallet(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.dat")); + QFile wallet(dirwallet); //QFile backup(dirHome.filePath(".silentdragonlite/silentdragonlite-wallet.datBACKUP"));*/ if (wallet.size() > 0) { - if (fileExists(QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.datBackup"))) + if (fileExists(dirwalletbackup)) { From f9d89197532053729c0cd237ca3cf8d0003ea26e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 24 May 2020 20:55:56 +0200 Subject: [PATCH 153/251] rename of chatmemoedit --- src/Chat/Chat.cpp | 34 ++++++++++++++++++---------------- src/chatmodel.cpp | 1 - src/mainwindow.cpp | 2 +- src/mainwindow.h | 14 +++++++------- src/memodialog.ui | 2 +- 5 files changed, 27 insertions(+), 26 deletions(-) diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index 30a827d..f76222d 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -7,43 +7,43 @@ Chat::Chat() {} ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QTextEdit(parent) { - QObject::connect(this, &QTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); + QObject::connect(this, &QTextEdit::textChanged, this, &ChatMemoEdit::updateDisplayChat); } -void ChatMemoEdit::updateDisplay() { +void ChatMemoEdit::updateDisplayChat() { QString txt = this->toPlainText(); - if (lenDisplayLabel) - lenDisplayLabel->setText(QString::number(txt.toUtf8().size()) + "/" + QString::number(maxlen)); + if (lenDisplayLabelchat) + lenDisplayLabelchat->setText(QString::number(txt.toUtf8().size()) + "/" + QString::number(maxlenchat)); - if (txt.toUtf8().size() <= maxlen) { + if (txt.toUtf8().size() <= maxlenchat) { // Everything is fine if (sendChatButton) sendChatButton->setEnabled(true); - if (lenDisplayLabel) - lenDisplayLabel->setStyleSheet(""); + if (lenDisplayLabelchat) + lenDisplayLabelchat->setStyleSheet(""); } else { // Overweight if (sendChatButton) sendChatButton->setEnabled(false); - if (lenDisplayLabel) - lenDisplayLabel->setStyleSheet("color: red;"); + if (lenDisplayLabelchat) + lenDisplayLabelchat->setStyleSheet("color: red;"); } } -void ChatMemoEdit::setMaxLen(int len) { - this->maxlen = len; - updateDisplay(); +void ChatMemoEdit::setMaxLenChat(int len) { + this->maxlenchat = len; + updateDisplayChat(); } void ChatMemoEdit::SetSendChatButton(QPushButton* button) { this->sendChatButton = button; } -void ChatMemoEdit::setLenDisplayLabel(QLabel* label) { - this->lenDisplayLabel = label; +void ChatMemoEdit::setLenDisplayLabelChat(QLabel* label) { + this->lenDisplayLabelchat = label; } void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) @@ -93,5 +93,7 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) ui->listChat->setModel(chat); } } - } -} \ No newline at end of file + } +} + + \ No newline at end of file diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 91e46d5..0e636b2 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -8,7 +8,6 @@ #include "ui_mainwindow.h" #include "ui_requestContactDialog.h" #include "addressbook.h" -#include "ui_memodialog.h" #include "ui_contactrequest.h" #include #include diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 1f16a60..4f6c428 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1365,7 +1365,7 @@ void MainWindow::setupchatTab() { }); -ui->memoTxtChat->setLenDisplayLabel(ui->memoSizeChat); +ui->memoTxtChat->setLenDisplayLabelChat(ui->memoSizeChat); } diff --git a/src/mainwindow.h b/src/mainwindow.h index 7ec42ba..fb08fdb 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -60,8 +60,8 @@ public: void stopWebsocket(); void saveContact(); void saveandsendContact(); - void setMaxLen(int len); - void updateDisplay(); + // void setmaxlenChat(int len); + // void updateDisplay(); void balancesReady(); @@ -199,14 +199,14 @@ class ChatMemoEdit : public QTextEdit public: ChatMemoEdit(QWidget* parent); - void setMaxLen(int len); - void setLenDisplayLabel(QLabel* label); + void setMaxLenChat(int len); + void setLenDisplayLabelChat(QLabel* label); void SetSendChatButton(QPushButton* button); - void updateDisplay(); + void updateDisplayChat(); private: - int maxlen = 512; - QLabel* lenDisplayLabel = nullptr; + int maxlenchat = 512; + QLabel* lenDisplayLabelchat = nullptr; QPushButton* sendChatButton = nullptr; }; diff --git a/src/memodialog.ui b/src/memodialog.ui index 1c144e0..d365221 100644 --- a/src/memodialog.ui +++ b/src/memodialog.ui @@ -74,7 +74,7 @@ MemoEdit QPlainTextEdit -
memoedit.h
+
memoedit.h
From 68b509f7a6ae91904d9b8f79cfd33890740b35c3 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 25 May 2020 10:13:49 +0200 Subject: [PATCH 154/251] update deps --- lib/Cargo.lock | 841 ++++++++++++++++++++++++------------------------- lib/Cargo.toml | 2 +- 2 files changed, 419 insertions(+), 424 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 07f7981..3c95032 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -56,7 +56,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "arrayref" -version = "0.3.6" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -66,31 +66,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "async-stream" -version = "0.2.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "async-stream-impl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "async-stream-impl 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "async-stream-impl" -version = "0.2.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "async-trait" -version = "0.1.24" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -98,19 +98,14 @@ name = "autocfg" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "autocfg" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "backtrace" -version = "0.3.43" +version = "0.3.40" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -119,8 +114,8 @@ name = "backtrace-sys" version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -143,7 +138,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bech32" -version = "0.7.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -152,14 +147,14 @@ version = "0.1.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ "bit-vec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2s_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2s_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "group 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -176,22 +171,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "blake2b_simd" -version = "0.5.10" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "arrayref 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "blake2s_simd" -version = "0.5.10" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "arrayref 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -226,12 +221,12 @@ name = "bs58" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "bumpalo" -version = "3.1.2" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -255,7 +250,7 @@ dependencies = [ [[package]] name = "bytes" -version = "0.5.4" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -268,7 +263,7 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.50" +version = "1.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -281,8 +276,8 @@ name = "chrono" version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -296,21 +291,21 @@ dependencies = [ [[package]] name = "constant_time_eq" -version = "0.1.5" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "core-foundation" -version = "0.6.4" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "core-foundation-sys" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -328,10 +323,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "crossbeam-utils" -version = "0.7.0" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -381,14 +375,14 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_users 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "dtoa" -version = "0.4.5" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -401,7 +395,7 @@ name = "failure" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "backtrace 0.3.43 (registry+https://github.com/rust-lang/crates.io-index)", + "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)", "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -410,9 +404,9 @@ name = "failure_derive" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -436,9 +430,9 @@ name = "ff_derive" version = "0.3.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ - "num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -450,7 +444,7 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -467,8 +461,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "miniz_oxide 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -483,9 +477,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -514,15 +508,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "futures-channel" -version = "0.3.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "futures-core" -version = "0.3.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -531,26 +525,26 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "futures-sink" -version = "0.3.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "futures-task" -version = "0.3.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "futures-util" -version = "0.3.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-task 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -564,12 +558,12 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.1.14" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -578,26 +572,26 @@ version = "0.1.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "rand_xorshift 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "h2" -version = "0.2.1" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-sink 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -619,10 +613,10 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.1.6" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -644,9 +638,9 @@ name = "http" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -654,7 +648,7 @@ name = "http-body" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -668,38 +662,38 @@ name = "humantime" version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "hyper" -version = "0.13.2" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-channel 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "h2 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "h2 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "http-body 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "want 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "indexmap" -version = "1.3.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -707,7 +701,7 @@ name = "iovec" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -720,20 +714,20 @@ dependencies = [ [[package]] name = "itoa" -version = "0.4.5" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "js-sys" -version = "0.3.35" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "json" -version = "0.12.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -752,7 +746,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "libc" -version = "0.2.66" +version = "0.2.70" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -771,8 +765,8 @@ name = "libsodium-sys" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "libflate 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)", "tar 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)", @@ -817,13 +811,13 @@ dependencies = [ "flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log-mdc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "serde-value 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)", "serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)", "thread-id 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -837,12 +831,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memchr" -version = "2.3.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "miniz_oxide" -version = "0.3.6" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -858,7 +852,7 @@ dependencies = [ "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", @@ -883,7 +877,7 @@ version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -918,7 +912,7 @@ version = "0.2.33" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -927,44 +921,44 @@ name = "nom" version = "4.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-bigint" -version = "0.2.6" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-integer" -version = "0.1.42" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-traits" -version = "0.2.11" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num_cpus" -version = "1.12.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "hermit-abi 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -990,7 +984,7 @@ name = "ordered-float" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1018,7 +1012,7 @@ name = "parking_lot_core" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1036,7 +1030,7 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "1.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1045,30 +1039,30 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "fixedbitset 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "pin-project" -version = "0.4.8" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "pin-project-internal 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project-internal 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "pin-project-internal" -version = "0.4.8" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "pin-project-lite" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1096,7 +1090,7 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.8" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1107,7 +1101,7 @@ name = "prost" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "prost-derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1116,7 +1110,7 @@ name = "prost-build" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1135,9 +1129,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1145,30 +1139,30 @@ name = "prost-types" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "prost 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "protobuf" -version = "2.10.1" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "protobuf-codegen" -version = "2.10.1" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "protobuf-codegen-pure" -version = "2.10.1" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf-codegen 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf-codegen 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1176,13 +1170,13 @@ name = "qtlib" version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30)", ] [[package]] name = "quick-error" -version = "1.2.3" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1198,7 +1192,7 @@ name = "quote" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1207,7 +1201,7 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1221,11 +1215,11 @@ dependencies = [ [[package]] name = "rand" -version = "0.7.3" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1268,7 +1262,7 @@ name = "rand_core" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1300,7 +1294,7 @@ name = "rand_jitter" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1312,7 +1306,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1323,7 +1317,7 @@ name = "rand_os" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1375,12 +1369,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "redox_users" -version = "0.3.4" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", + "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "rust-argon2 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1393,15 +1388,15 @@ dependencies = [ [[package]] name = "ring" -version = "0.16.11" +version = "0.16.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "web-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)", + "web-sys 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1422,13 +1417,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "rust-argon2" -version = "0.7.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", - "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1438,7 +1432,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "rust-embed-impl 5.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rust-embed-utils 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1448,8 +1442,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "rust-embed-utils 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", - "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1457,7 +1451,7 @@ name = "rust-embed-utils" version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1475,25 +1469,25 @@ dependencies = [ [[package]] name = "rustls" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)", "sct 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rustls-native-certs" -version = "0.1.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustls 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rustls 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", "schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", - "security-framework 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "security-framework 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1503,10 +1497,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "same-file" -version = "1.0.6" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1528,7 +1522,7 @@ name = "sct" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1537,26 +1531,28 @@ name = "secp256k1" version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "security-framework" -version = "0.3.4" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "security-framework-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "security-framework-sys 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "security-framework-sys" -version = "0.3.3" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1591,17 +1587,17 @@ name = "serde_derive" version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "serde_json" -version = "1.0.46" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1611,7 +1607,7 @@ name = "serde_yaml" version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "dtoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "yaml-rust 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1619,7 +1615,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.8.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1634,13 +1630,13 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arc-swap 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592#fb07cae93c706cce929beef98690109e5f2d7592" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30#91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -1650,7 +1646,7 @@ dependencies = [ "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "json 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", + "json 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libflate 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1658,20 +1654,20 @@ dependencies = [ "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "prost 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "prost-types 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)", "ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "rust-embed 5.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "secp256k1 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "sodiumoxide 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-bip39 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-rustls 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tonic 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-rustls 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tonic 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "tonic-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", "webpki-roots 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_client_backend 0.0.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "zcash_primitives 0.0.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -1697,7 +1693,7 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1707,7 +1703,7 @@ name = "sodiumoxide" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "libsodium-sys 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1744,10 +1740,10 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.14" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1757,9 +1753,9 @@ name = "synstructure" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1774,7 +1770,7 @@ version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "filetime 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "xattr 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1785,8 +1781,8 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1797,7 +1793,7 @@ name = "thread-id" version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1807,7 +1803,7 @@ name = "time" version = "0.1.42" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1823,95 +1819,95 @@ dependencies = [ "once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio" -version = "0.2.11" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)", "mio-named-pipes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project-lite 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-macros 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-macros 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-macros" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-rustls" -version = "0.12.2" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustls 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rustls 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-util" -version = "0.2.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-sink 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project-lite 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tonic" -version = "0.1.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "async-stream 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "async-trait 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", - "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "async-stream 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "async-trait 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "http-body 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", - "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)", + "percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "prost 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "prost-derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rustls-native-certs 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-rustls 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tower 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rustls-native-certs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-rustls 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tower 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-balance 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-load 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-make 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing-futures 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing-futures 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1919,18 +1915,18 @@ name = "tonic-build" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "prost-build 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tower" -version = "0.3.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "tower-buffer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-discover 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1947,20 +1943,20 @@ name = "tower-balance" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-discover 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-load 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-make 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-ready-cache 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1968,12 +1964,12 @@ name = "tower-buffer" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1981,8 +1977,8 @@ name = "tower-discover" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1996,9 +1992,9 @@ name = "tower-limit" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2008,10 +2004,10 @@ name = "tower-load" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-discover 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2021,8 +2017,8 @@ name = "tower-load-shed" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2032,7 +2028,7 @@ name = "tower-make" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2041,11 +2037,11 @@ name = "tower-ready-cache" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2054,9 +2050,9 @@ name = "tower-retry" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2071,8 +2067,8 @@ name = "tower-timeout" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2082,21 +2078,21 @@ name = "tower-util" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tracing" -version = "0.1.12" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "tracing-attributes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing-core 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing-core 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2105,12 +2101,12 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tracing-core" -version = "0.1.9" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2118,11 +2114,11 @@ dependencies = [ [[package]] name = "tracing-futures" -version = "0.2.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2188,12 +2184,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "walkdir" -version = "2.3.1" +version = "2.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2207,91 +2203,91 @@ dependencies = [ [[package]] name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "wasm-bindgen" -version = "0.2.58" +version = "0.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-macro 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-macro 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.58" +version = "0.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bumpalo 3.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-shared 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-shared 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.58" +version = "0.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-macro-support 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-macro-support 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.58" +version = "0.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-backend 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-shared 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-backend 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-shared 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.58" +version = "0.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "wasm-bindgen-webidl" -version = "0.2.58" +version = "0.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-backend 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-backend 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", "weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "web-sys" -version = "0.3.35" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", - "js-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)", + "js-sys 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)", "sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-webidl 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-webidl 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "webpki" -version = "0.21.2" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2300,7 +2296,7 @@ name = "webpki-roots" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2316,7 +2312,7 @@ name = "which" version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2345,7 +2341,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "winapi-util" -version = "0.1.3" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2370,7 +2366,7 @@ name = "xattr" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2386,13 +2382,13 @@ name = "zcash_client_backend" version = "0.0.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ - "bech32 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "bech32 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf-codegen-pure 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf-codegen-pure 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "subtle 2.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_primitives 0.0.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", ] @@ -2403,8 +2399,8 @@ version = "0.0.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ "aes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2s_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2s_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "crypto_api_chachapoly 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2412,12 +2408,12 @@ dependencies = [ "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_os 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "secp256k1 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2426,7 +2422,7 @@ version = "0.0.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2443,51 +2439,50 @@ dependencies = [ "checksum anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)" = "7825f6833612eb2414095684fcf6c635becf3ce97fe48cf6421321e93bfbd53c" "checksum arc-swap 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "bc4662175ead9cd84451d5c35070517777949a2ed84551764129cedb88384841" "checksum arc-swap 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d7b8a9123b8027467bce0099fe556c628a53c8d83df0507084c31e9ba2e39aff" -"checksum arrayref 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" +"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee" "checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" -"checksum async-stream 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "22068c0c19514942eefcfd4daf8976ef1aad84e61539f95cd200c35202f80af5" -"checksum async-stream-impl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "25f9db3b38af870bf7e5cc649167533b493928e50744e2c30ae350230b414670" -"checksum async-trait 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "750b1c38a1dfadd108da0f01c08f4cdc7ff1bb39b325f9c82cc972361780a6e1" +"checksum async-stream 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "58982858be7540a465c790b95aaea6710e5139bf8956b1d1344d014fa40100b0" +"checksum async-stream-impl 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "393356ed99aa7bff0ac486dde592633b83ab02bd254d8c209d5b9f1d0f533480" +"checksum async-trait 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "c8df72488e87761e772f14ae0c2480396810e51b2c2ade912f97f0f7e5b95e3c" "checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" -"checksum autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" -"checksum backtrace 0.3.43 (registry+https://github.com/rust-lang/crates.io-index)" = "7f80256bc78f67e7df7e36d77366f636ed976895d91fe2ab9efa3973e8fe8c4f" +"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea" "checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491" "checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" "checksum base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" -"checksum bech32 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cdcf67bb7ba7797a081cd19009948ab533af7c355d5caf1d08c777582d351e9c" +"checksum bech32 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9e0089c35ab7c6f2bc55ab23f769913f0ac65b1023e7e74638a1f43128dd5df2" "checksum bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)" = "" "checksum bit-vec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "02b4ff8b16e6076c3e14220b39fbc1fabb6737522281a388998046859400895f" "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" -"checksum blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a" -"checksum blake2s_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab9e07352b829279624ceb7c64adb4f585dacdb81d35cafae81139ccd617cf44" +"checksum blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b83b7baab1e671718d78204225800d6b170e648188ac7dc992e9d6bddf87d0c0" +"checksum blake2s_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "050efd7a5bdb220988d4c5204f84ab796e778612af94275f1d39479798b39cf9" "checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" "checksum block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774" "checksum block-padding 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" "checksum bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c95ee6bba9d950218b6cc910cf62bc9e0a171d0f4537e3627b0f54d08549b188" -"checksum bumpalo 3.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5fb8038c1ddc0a5f73787b130f4cc75151e96ed33e417fde765eb5a81e3532f4" +"checksum bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad807f2fc2bf185eeb98ff3a901bd46dc5ad58163d0fa4577ba0d25674d71708" "checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" "checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" -"checksum bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "130aac562c0dd69c56b3b1cc8ffd2e17be31d0b6c25b61c96b76231aa23e39e1" +"checksum bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "10004c15deb332055f7a4a208190aed362cf9a7c2f6ab70a305fba50e1105f38" "checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb" -"checksum cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)" = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd" +"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76" "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" "checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01" "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -"checksum constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" -"checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d" -"checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b" +"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120" +"checksum core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" +"checksum core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" "checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" "checksum crossbeam 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "24ce9782d4d5c53674646a6a4c1863a21a8fc0cb649b3c94dfc16e45071dea19" -"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4" +"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" "checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" "checksum crypto_api 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2f855e87e75a4799e18b8529178adcde6fd4f97c1449ff4821e747ff728bb102" "checksum crypto_api_chachapoly 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "95b2ad7cab08fd71addba81df5077c49df208effdfb3118a1519f9cdeac5aaf2" "checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" "checksum dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" "checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b" -"checksum dtoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4358a9e11b9a09cf52383b451b49a169e8d797b68aa02301ff586d70d9661ea3" +"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e" "checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" "checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9" "checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08" @@ -2503,35 +2498,35 @@ dependencies = [ "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef" -"checksum futures-channel 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c92c2137e8e1ebf1ac99453550ab46eb4f35c5c53476d57d75eb782fb4d71e84" -"checksum futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ccfb301b0b09e940a67376cf40d1b0ac4db9366ee737f65c02edea225057e91e" +"checksum futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fcae98ca17d102fd8a3603727b9259fcf7fa4239b603d2142926189bc8999b86" +"checksum futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "79564c427afefab1dfb3298535b21eda083ef7935b4f0ecbfcb121f0aec10866" "checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" -"checksum futures-sink 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0485279d763e8a3669358f500e805339138b7bbe90f5718c80eedfdcb2ea36a4" -"checksum futures-task 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cefffab2aacc73845afd3f202e09fc775a55e2e96f46c8b1a46c117ae1c126ca" -"checksum futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2c3f8c59707f898b8b6f0b54c2aef5408ae90a560b7bf0fbf1b95b3c652b0171" +"checksum futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "171be33efae63c2d59e6dbba34186fe0d6394fb378069a76dfd80fdcffd43c16" +"checksum futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0bae52d6b29cf440e298856fec3965ee6fa71b06aa7495178615953fd669e5f9" +"checksum futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d66274fb76985d3c62c886d1da7ac4c0903a8c9f754e8fe0f35a6a6cc39e76" "checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec" -"checksum getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb" +"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407" "checksum group 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)" = "" -"checksum h2 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b9433d71e471c1736fd5a61b671fc0b148d7a2992f666c958d03cd8feb3b88d1" +"checksum h2 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "79b7246d7e4b979c03fa093da39cfb3617a96bbeee6310af63991668d7e843ff" "checksum hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3bae29b6653b3412c2e71e9d486db9f9df5d701941d86683005efb9f2d28e3da" "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" -"checksum hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eff2656d88f158ce120947499e971d743c05dbcbed62e5bd2f38f1698bbc3772" +"checksum hermit-abi 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f629dc602392d3ec14bfc8a09b5e644d7ffd725102b48b81e59f90f2633621d7" "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" "checksum hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" "checksum http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b708cc7f06493459026f53b9a61a7a121a5d1ec6238dee58ea4941132b30156b" "checksum http-body 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" "checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" "checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" -"checksum hyper 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fa1c527bbc634be72aa7ba31e4e4def9bbb020f5416916279b7c705cd838893e" -"checksum indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b54058f0a6ff80b6803da8faf8997cde53872b38f4023728f6830b06cd3c0dc" +"checksum hyper 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96816e1d921eca64d208a85aab4f7798455a8e34229ee5a88c935bdee1b78b14" +"checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2" "checksum iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" "checksum itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484" -"checksum itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e" -"checksum js-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)" = "7889c7c36282151f6bf465be4700359318aef36baa951462382eae49e9577cf9" -"checksum json 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9a38661a28126f8621fb246611288ae28935ddf180f5e21f2d0fbfe5e4131dbe" +"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f" +"checksum js-sys 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)" = "367647c532db6f1555d7151e619540ec5f713328235b8c062c6b4f63e84adfe3" +"checksum json 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3ca41abbeb7615d56322a984e63be5e5d0a117dfaca86c14393e32a762ccac1" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558" +"checksum libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)" = "3baa92041a6fec78c687fa0cc2b3fae8884f743d672cf551bed1d6dac6988d0f" "checksum libflate 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)" = "d9135df43b1f5d0e333385cb6e7897ecd1a43d7d11b91ac003f4d2c2d2401fdd" "checksum libsodium-sys 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1c344ff12b90ef8fa1f0fffacd348c1fd041db331841fec9eab23fdb991f5e73" "checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83" @@ -2540,8 +2535,8 @@ dependencies = [ "checksum log-mdc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7" "checksum log4rs 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "100052474df98158c0738a7d3f4249c99978490178b5f9f68cd835ac57adbd1b" "checksum maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" -"checksum memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3197e20c7edb283f87c071ddfc7a2cca8f8e0b888c242959846a6fce03c72223" -"checksum miniz_oxide 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "aa679ff6578b1cddee93d7e82e263b94a575e0bfced07284eb0c037c1d2416a5" +"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e" +"checksum miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6f3f74f726ae935c3f514300cc6773a0c9492abc5e972d42ba0c0ebb88757625" "checksum mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)" = "302dec22bcf6bae6dfb69c647187f4b4d0fb6f535521f7bc022430ce8e12008f" "checksum mio-named-pipes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f5e374eff525ce1c5b7687c4cef63943e7686524a387933ad27ca7ec43779cb3" "checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125" @@ -2550,10 +2545,10 @@ dependencies = [ "checksum multimap 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a97fbd5d00e0e37bfb10f433af8f5aaf631e739368dc9fc28286ca81ca4948dc" "checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" "checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6" -"checksum num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -"checksum num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba" -"checksum num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096" -"checksum num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46203554f085ff89c235cd12f7075f3233af9b11ed7c9e16dfe2560d03313ce6" +"checksum num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f9c3f34cdd24f334cb265d9bf8bfa8a241920d026916785747a92f0e55541a1a" +"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09" +"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4" +"checksum num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72" "checksum once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "532c29a261168a45ce28948f9537ddd7a5dd272cc513b3017b1e82a88f962c37" "checksum opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" "checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" @@ -2562,28 +2557,28 @@ dependencies = [ "checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337" "checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" "checksum pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" -"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" +"checksum percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" "checksum petgraph 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "29c127eea4a29ec6c85d153c59dc1213f33ec74cead30fe4730aecc88cc1fd92" -"checksum pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7804a463a8d9572f13453c516a5faea534a2403d7ced2f0c7e100eeff072772c" -"checksum pin-project-internal 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "385322a45f2ecf3410c68d2a549a4a2685e8051d0f278e39743ff4e451cb9b3f" -"checksum pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "237844750cfbb86f67afe27eee600dfbbcb6188d734139b534cbfbf4f96792ae" +"checksum pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "94b90146c7216e4cb534069fb91366de4ea0ea353105ee45ed297e2d1619e469" +"checksum pin-project-internal 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "44ca92f893f0656d3cba8158dd0f2b99b94de256a4a54e870bd6922fcc6c8355" +"checksum pin-project-lite 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f7505eeebd78492e0f6108f7171c4948dbb120ee8119d9d77d0afa5469bef67f" "checksum pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5894c618ce612a3fa23881b152b608bafb8c56cfc22f434a3ba3120b40f7b587" "checksum pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" "checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b" "checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -"checksum proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3acb317c6ff86a4e579dfa00fc5e6cca91ecbb4e7eb2df0468805b674eb88548" +"checksum proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)" = "8872cf6f48eee44265156c111456a700ab3483686b3f96df4cf5481c89157319" "checksum prost 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce49aefe0a6144a45de32927c77bd2859a5f7677b55f220ae5b744e87389c212" "checksum prost-build 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "02b10678c913ecbd69350e8535c3aef91a8676c0773fc1d7b95cdd196d7f2f26" "checksum prost-derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "537aa19b95acde10a12fec4301466386f757403de4cd4e5b4fa78fb5ecb18f72" "checksum prost-types 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1834f67c0697c001304b75be76f67add9c89742eda3a085ad8ee0bb38c3417aa" -"checksum protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6686ddd96a8dbe2687b5f2a687b2cfb520854010ec480f2d74c32e7c9873d3c5" -"checksum protobuf-codegen 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6456421eecf7fc72905868cd760c3e35848ded3552e480cfe67726ed4dbd8d23" -"checksum protobuf-codegen-pure 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4a7cb42d5ab6073333be90208ab5ea6ab41c8f6803b35fd773a7572624cc15c9" -"checksum quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +"checksum protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40361836defdd5871ff7e84096c6f6444af7fc157f8ef1789f54f147687caa20" +"checksum protobuf-codegen 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "12c6abd78435445fc86898ebbd0521a68438063d4a73e23527b7134e6bf58b4a" +"checksum protobuf-codegen-pure 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c1646acda5319f5b28b0bff4a484324df43ddae2c0f5a3f3e63c0b26095cd600" +"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" "checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" "checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" "checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" -"checksum rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +"checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412" "checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" "checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853" "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" @@ -2601,37 +2596,37 @@ dependencies = [ "checksum rand_xorshift 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "77d416b86801d23dde1aa643023b775c3a462efc0ed96443add11546cdf1dca8" "checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" "checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" -"checksum redox_users 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431" +"checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d" "checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" -"checksum ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)" = "741ba1704ae21999c00942f9f5944f801e977f54302af346b596287599ad1862" +"checksum ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)" = "1ba5a8ec64ee89a76c98c549af81ff14813df09c3e6dc4766c3856da48597a0c" "checksum ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad5112e0dbbb87577bfbc56c42450235e3012ce336e29c5befd7807bd626da4a" "checksum rle-decode-fast 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cabe4fa914dec5870285fa7f71f602645da47c486e68486d2b4ceb4a343e90ac" -"checksum rust-argon2 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017" +"checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf" "checksum rust-embed 5.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b18893bdbdb0fa5bce588f5d7ab4afbd0678fc879d31535912bf39b7fbc062d6" "checksum rust-embed-impl 5.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "50633968284cfc373661345fc6382e62b738079f045738023ebc5e445cf44357" "checksum rust-embed-utils 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97655158074ccb2d2cfb1ccb4c956ef0f4054e43a2c1e71146d4991e6961e105" "checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783" "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -"checksum rustls 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b25a18b1bf7387f0145e7f8324e700805aade3842dd3db2e74e4cdeb4677c09e" -"checksum rustls-native-certs 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "51ffebdbb48c14f84eba0b715197d673aff1dd22cc1007ca647e28483bbcc307" +"checksum rustls 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d4a31f5d68413404705d6982529b0e11a9aacd4839d1d6222ee3b8cb4015e1" +"checksum rustls-native-certs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a75ffeb84a6bd9d014713119542ce415db3a3e4748f0bfce1e1416cd224a23a5" "checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8" -"checksum same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +"checksum same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421" "checksum schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "87f550b06b6cba9c8b8be3ee73f391990116bf527450d2556e9b9ce263b9a021" "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" "checksum sct 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e3042af939fca8c3453b7af0f1c66e533a15a86169e39de2657310ade8f98d3c" "checksum secp256k1 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e0344a794ff109f85547039536028e12f313178ac1545e49fdf16a530d900a7b" -"checksum security-framework 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8ef2429d7cefe5fd28bd1d2ed41c944547d4ff84776f5935b456da44593a16df" -"checksum security-framework-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e31493fc37615debb8c5090a7aeb4a9730bc61e77ab10b9af59f1a202284f895" +"checksum security-framework 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "64808902d7d99f78eaddd2b4e2509713babc3dc3c85ad6f4c447680f3c01e535" +"checksum security-framework-sys 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "17bf11d99252f512695eb468de5516e5cf75455521e69dfe343f3b74e4748405" "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" "checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449" "checksum serde-value 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7a663f873dedc4eac1a559d4c6bc0d0b2c34dc5ac4702e105014b8281489e44f" "checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64" -"checksum serde_json 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)" = "21b01d7f0288608a01dca632cf1df859df6fd6ffa885300fc275ce2ba6221953" +"checksum serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)" = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7" "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" -"checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" +"checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" @@ -2641,7 +2636,7 @@ dependencies = [ "checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" "checksum subtle 2.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c65d530b10ccaeac294f349038a597e435b18fb456aadd0840a623f83b9e941" "checksum syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)" = "261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741" -"checksum syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "af6f3550d8dff9ef7dc34d384ac6f107e5d31c8f57d9f28e0081503f547ac8f5" +"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238" "checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" "checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" "checksum tar 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)" = "b3196bfbffbba3e57481b6ea32249fbaf590396a52505a2615adbb79d9d826d3" @@ -2649,13 +2644,13 @@ dependencies = [ "checksum thread-id 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c7fbf4c9d56b320106cd64fd024dadfa0be7cb4706725fc44a7d7ce952d820c1" "checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" "checksum tiny-bip39 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c1c5676413eaeb1ea35300a0224416f57abc3bd251657e0fafc12c47ff98c060" -"checksum tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8fdd17989496f49cdc57978c96f0c9fe5e4a58a8bddc6813c449a4624f6a030b" -"checksum tokio-macros 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f4b1e7ed7d5d4c2af3d999904b0eebe76544897cdbfb2b9684bed2174ab20f7c" -"checksum tokio-rustls 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)" = "141afec0978abae6573065a48882c6bae44c5cc61db9b511ac4abf6a09bfd9cc" -"checksum tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "571da51182ec208780505a32528fc5512a8fe1443ab960b3f2f3ef093cd16930" -"checksum tonic 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08283643b1d483eb7f3fc77069e63b5cba3e4db93514b3d45470e67f123e4e48" +"checksum tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)" = "d099fa27b9702bed751524694adbe393e18b36b204da91eb1cbbbbb4a5ee2d58" +"checksum tokio-macros 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f0c3acc6aa564495a0f2e1d59fab677cd7f81a19994cfc7f3ad0e64301560389" +"checksum tokio-rustls 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4adb8b3e5f86b707f1b54e7c15b6de52617a823608ccda98a15d3a24222f265a" +"checksum tokio-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" +"checksum tonic 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4afef9ce97ea39593992cf3fa00ff33b1ad5eb07665b31355df63a690e38c736" "checksum tonic-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0436413ba71545bcc6c2b9a0f9d78d72deb0123c6a75ccdfe7c056f9930f5e52" -"checksum tower 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd3169017c090b7a28fce80abaad0ab4f5566423677c9331bb320af7e49cfe62" +"checksum tower 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4b299df54795e6f72bca45063b5803d1f9a1ba9b11a3c7c64d0b84519b451fdd" "checksum tower-balance 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a792277613b7052448851efcf98a2c433e6f1d01460832dc60bef676bc275d4c" "checksum tower-buffer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c4887dc2a65d464c8b9b66e0e4d51c2fd6cf5b3373afc72805b0a60bce00446a" "checksum tower-discover 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0f6b5000c3c54d269cc695dff28136bb33d08cbf1df2c48129e143ab65bf3c2a" @@ -2669,10 +2664,10 @@ dependencies = [ "checksum tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860" "checksum tower-timeout 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "127b8924b357be938823eaaec0608c482d40add25609481027b96198b2e4b31e" "checksum tower-util 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5702d7890e35b2aae6ee420e8a762547505dbed30c075fbc84ec069a0aa18314" -"checksum tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "1e213bd24252abeb86a0b7060e02df677d367ce6cb772cef17e9214b8390a8d3" +"checksum tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "6de6a8590a29d3f401eab60470c699efa0adf7b4f0352055bf24df2b69849b40" "checksum tracing-attributes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04cfd395def5a60236e187e1ff905cb55668a59f29928dec05e6e1b1fd2ac1f3" -"checksum tracing-core 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "13a46f11e372b8bd4b4398ea54353412fdd7fd42a8370c7e543e218cf7661978" -"checksum tracing-futures 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "33848db47a7c848ab48b66aab3293cb9c61ea879a3586ecfcd17302fcea0baf1" +"checksum tracing-core 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "d7fb511ac6ca1d031c5cfc26d8c38da9d88e91d2bd5b38b60cf8dc1b8b5c211f" +"checksum tracing-futures 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "107ae59580d2a1d994b6b965b16fe94c969fe86d3f7fd2572a1ee243bcaf7f09" "checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" "checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" "checksum typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6" @@ -2684,17 +2679,17 @@ dependencies = [ "checksum untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60369ef7a31de49bcb3f6ca728d4ba7300d9a1658f94c727d4cab8c8d9f4aece" "checksum vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168" "checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" -"checksum walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d" +"checksum walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)" = "9658c94fa8b940eab2250bd5a457f9c48b748420d71293b165c8cdbe2f55f71e" "checksum want 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -"checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" -"checksum wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "5205e9afdf42282b192e2310a5b463a6d1c1d774e30dc3c791ac37ab42d2616c" -"checksum wasm-bindgen-backend 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "11cdb95816290b525b32587d76419facd99662a07e59d3cdb560488a819d9a45" -"checksum wasm-bindgen-macro 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "574094772ce6921576fb6f2e3f7497b8a76273b6db092be18fc48a082de09dc3" -"checksum wasm-bindgen-macro-support 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "e85031354f25eaebe78bb7db1c3d86140312a911a106b2e29f9cc440ce3e7668" -"checksum wasm-bindgen-shared 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "f5e7e61fc929f4c0dddb748b102ebf9f632e2b8d739f2016542b4de2965a9601" -"checksum wasm-bindgen-webidl 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "ef012a0d93fc0432df126a8eaf547b2dce25a8ce9212e1d3cbeef5c11157975d" -"checksum web-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)" = "aaf97caf6aa8c2b1dac90faf0db529d9d63c93846cca4911856f78a83cebf53b" -"checksum webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f1f50e1972865d6b1adb54167d1c8ed48606004c2c9d0ea5f1eeb34d95e863ef" +"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d" +"checksum wasm-bindgen 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "99de4b68939a880d530aed51289a7c7baee154e3ea8ac234b542c49da7134aaf" +"checksum wasm-bindgen-backend 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "b58e66a093a7b7571cb76409763c495b8741ac4319ac20acc2b798f6766d92ee" +"checksum wasm-bindgen-macro 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "a80f89daea7b0a67b11f6e9f911422ed039de9963dce00048a653b63d51194bf" +"checksum wasm-bindgen-macro-support 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "4f9dbc3734ad6cff6b76b75b7df98c06982becd0055f651465a08f769bca5c61" +"checksum wasm-bindgen-shared 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "d907984f8506b3554eab48b8efff723e764ddbf76d4cd4a3fe4196bc00c49a70" +"checksum wasm-bindgen-webidl 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "f85a3825a459cf6a929d03bacb54dca37a614d43032ad1343ef2d4822972947d" +"checksum web-sys 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)" = "2fb60433d0dc12c803b9b017b3902d80c9451bab78d27bc3210bf2a7b96593f1" +"checksum webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d7e664e770ac0110e2384769bcc59ed19e329d81f555916a6e072714957b81b4" "checksum webpki-roots 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)" = "91cd5736df7f12a964a5067a12c62fa38e1bd8080aff1f80bc29be7c80d19ab4" "checksum weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bb43f70885151e629e2a19ce9e50bd730fd436cfd4b666894c9ce4de9141164" "checksum which 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5475d47078209a02e60614f7ba5e645ef3ed60f771920ac1906d7c1cc65024c8" @@ -2702,7 +2697,7 @@ dependencies = [ "checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -"checksum winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4ccfbf554c6ad11084fb7517daca16cfdcaccbdadba4fc336f032a8b12c2ad80" +"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9" "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" "checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" "checksum xattr 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 1d49baf..8bcf505 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "fb07cae93c706cce929beef98690109e5f2d7592" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30" } From 385f864d9d6990d0a9fac01b720aef0d22a04439 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 25 May 2020 21:25:13 +0200 Subject: [PATCH 155/251] change orange color --- application.qrc | 1 + lib/Cargo.lock | 841 +++++++++++++++++++++-------------------- lib/Cargo.toml | 2 +- src/Model/ChatItem.cpp | 34 +- src/Model/ChatItem.h | 7 +- src/controller.cpp | 61 ++- src/controller.h | 5 +- src/mainwindow.ui | 3 + 8 files changed, 521 insertions(+), 433 deletions(-) diff --git a/application.qrc b/application.qrc index 2db3887..e2da53c 100644 --- a/application.qrc +++ b/application.qrc @@ -39,6 +39,7 @@ res/lock.svg res/lock.png res/lock_green.png + res/lock_orange.png res/unlocked.png res/getAddrWhite.png res/send-white.png diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 3c95032..07f7981 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -56,7 +56,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "arrayref" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -66,31 +66,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "async-stream" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "async-stream-impl 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "async-stream-impl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "async-stream-impl" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "async-trait" -version = "0.1.22" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -98,14 +98,19 @@ name = "autocfg" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "autocfg" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "backtrace" -version = "0.3.40" +version = "0.3.43" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -114,8 +119,8 @@ name = "backtrace-sys" version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -138,7 +143,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bech32" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -147,14 +152,14 @@ version = "0.1.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ "bit-vec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2s_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2s_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "group 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -171,22 +176,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "blake2b_simd" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayref 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "blake2s_simd" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayref 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -221,12 +226,12 @@ name = "bs58" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "bumpalo" -version = "2.6.0" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -250,7 +255,7 @@ dependencies = [ [[package]] name = "bytes" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -263,7 +268,7 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.48" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -276,8 +281,8 @@ name = "chrono" version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -291,21 +296,21 @@ dependencies = [ [[package]] name = "constant_time_eq" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "core-foundation" -version = "0.7.0" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "core-foundation-sys" -version = "0.7.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -323,9 +328,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "crossbeam-utils" -version = "0.6.6" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -375,14 +381,14 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_users 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "dtoa" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -395,7 +401,7 @@ name = "failure" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)", + "backtrace 0.3.43 (registry+https://github.com/rust-lang/crates.io-index)", "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -404,9 +410,9 @@ name = "failure_derive" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -430,9 +436,9 @@ name = "ff_derive" version = "0.3.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ - "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -444,7 +450,7 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -461,8 +467,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", - "miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "miniz_oxide 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -477,9 +483,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -508,15 +514,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "futures-channel" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "futures-core" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -525,26 +531,26 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "futures-sink" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "futures-task" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "futures-util" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-task 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -558,12 +564,12 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", - "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -572,26 +578,26 @@ version = "0.1.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", "rand_xorshift 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "h2" -version = "0.2.5" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-sink 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -613,10 +619,10 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -638,9 +644,9 @@ name = "http" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -648,7 +654,7 @@ name = "http-body" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -662,38 +668,38 @@ name = "humantime" version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "hyper" -version = "0.13.5" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "h2 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-channel 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "h2 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "http-body 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "want 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "indexmap" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -701,7 +707,7 @@ name = "iovec" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -714,20 +720,20 @@ dependencies = [ [[package]] name = "itoa" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "js-sys" -version = "0.3.33" +version = "0.3.35" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "wasm-bindgen 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "json" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -746,7 +752,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "libc" -version = "0.2.70" +version = "0.2.66" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -765,8 +771,8 @@ name = "libsodium-sys" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "libflate 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)", "tar 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)", @@ -811,13 +817,13 @@ dependencies = [ "flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log-mdc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "serde-value 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", "serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)", "thread-id 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -831,12 +837,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "memchr" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "miniz_oxide" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -852,7 +858,7 @@ dependencies = [ "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", @@ -877,7 +883,7 @@ version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -912,7 +918,7 @@ version = "0.2.33" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -921,44 +927,44 @@ name = "nom" version = "4.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-bigint" -version = "0.2.3" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-integer" -version = "0.1.41" +version = "0.1.42" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-traits" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num_cpus" -version = "1.11.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "hermit-abi 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -984,7 +990,7 @@ name = "ordered-float" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1012,7 +1018,7 @@ name = "parking_lot_core" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1030,7 +1036,7 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.1.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1039,30 +1045,30 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "fixedbitset 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "pin-project" -version = "0.4.6" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "pin-project-internal 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project-internal 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "pin-project-internal" -version = "0.4.6" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "pin-project-lite" -version = "0.1.5" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1090,7 +1096,7 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.12" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1101,7 +1107,7 @@ name = "prost" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "prost-derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1110,7 +1116,7 @@ name = "prost-build" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1129,9 +1135,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1139,30 +1145,30 @@ name = "prost-types" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "prost 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "protobuf" -version = "2.8.1" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "protobuf-codegen" -version = "2.8.1" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "protobuf-codegen-pure" -version = "2.8.1" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf-codegen 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf-codegen 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1170,13 +1176,13 @@ name = "qtlib" version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592)", ] [[package]] name = "quick-error" -version = "1.2.2" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1192,7 +1198,7 @@ name = "quote" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1201,7 +1207,7 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1215,11 +1221,11 @@ dependencies = [ [[package]] name = "rand" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1262,7 +1268,7 @@ name = "rand_core" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1294,7 +1300,7 @@ name = "rand_jitter" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1306,7 +1312,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1317,7 +1323,7 @@ name = "rand_os" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1369,13 +1375,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "redox_users" -version = "0.3.1" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rust-argon2 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1388,15 +1393,15 @@ dependencies = [ [[package]] name = "ring" -version = "0.16.12" +version = "0.16.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "web-sys 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)", + "web-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1417,12 +1422,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "rust-argon2" -version = "0.5.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", + "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1432,7 +1438,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "rust-embed-impl 5.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rust-embed-utils 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", + "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1442,8 +1448,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "rust-embed-utils 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", - "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1451,7 +1457,7 @@ name = "rust-embed-utils" version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", + "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1469,25 +1475,25 @@ dependencies = [ [[package]] name = "rustls" -version = "0.17.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)", "sct 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rustls-native-certs" -version = "0.3.0" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustls 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rustls 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", "schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", - "security-framework 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "security-framework 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1497,10 +1503,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "same-file" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1522,7 +1528,7 @@ name = "sct" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1531,28 +1537,26 @@ name = "secp256k1" version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "security-framework" -version = "0.4.4" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", - "security-framework-sys 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "security-framework-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "security-framework-sys" -version = "0.4.3" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1587,17 +1591,17 @@ name = "serde_derive" version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "serde_json" -version = "1.0.44" +version = "1.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1607,7 +1611,7 @@ name = "serde_yaml" version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", + "dtoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "yaml-rust 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1615,7 +1619,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1630,13 +1634,13 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arc-swap 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30#91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592#fb07cae93c706cce929beef98690109e5f2d7592" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -1646,7 +1650,7 @@ dependencies = [ "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "json 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "json 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libflate 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1654,20 +1658,20 @@ dependencies = [ "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "prost 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "prost-types 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)", "ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "rust-embed 5.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "secp256k1 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "sodiumoxide 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-bip39 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-rustls 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tonic 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-rustls 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tonic 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "tonic-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", "webpki-roots 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_client_backend 0.0.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "zcash_primitives 0.0.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -1693,7 +1697,7 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1703,7 +1707,7 @@ name = "sodiumoxide" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "libsodium-sys 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1740,10 +1744,10 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1753,9 +1757,9 @@ name = "synstructure" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1770,7 +1774,7 @@ version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "filetime 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "xattr 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1781,8 +1785,8 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1793,7 +1797,7 @@ name = "thread-id" version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1803,7 +1807,7 @@ name = "time" version = "0.1.42" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1819,95 +1823,95 @@ dependencies = [ "once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio" -version = "0.2.21" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)", "mio-named-pipes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project-lite 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-macros 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-macros 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-macros" -version = "0.2.5" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-rustls" -version = "0.13.0" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rustls 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustls 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tokio-util" -version = "0.3.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-sink 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project-lite 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tonic" -version = "0.2.1" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "async-stream 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "async-trait 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", - "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "async-stream 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "async-trait 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "http-body 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)", - "percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", + "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "prost 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "prost-derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rustls-native-certs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-rustls 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tower 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rustls-native-certs 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-rustls 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tower 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "tower-balance 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-load 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-make 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing-futures 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing-futures 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1915,18 +1919,18 @@ name = "tonic-build" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "prost-build 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tower" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "tower-buffer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-discover 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1943,20 +1947,20 @@ name = "tower-balance" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-discover 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-load 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-make 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-ready-cache 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1964,12 +1968,12 @@ name = "tower-buffer" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1977,8 +1981,8 @@ name = "tower-discover" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1992,9 +1996,9 @@ name = "tower-limit" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2004,10 +2008,10 @@ name = "tower-load" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-discover 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2017,8 +2021,8 @@ name = "tower-load-shed" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2028,7 +2032,7 @@ name = "tower-make" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2037,11 +2041,11 @@ name = "tower-ready-cache" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2050,9 +2054,9 @@ name = "tower-retry" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2067,8 +2071,8 @@ name = "tower-timeout" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "tower-layer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2078,21 +2082,21 @@ name = "tower-util" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tracing" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "tracing-attributes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing-core 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing-core 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2101,12 +2105,12 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tracing-core" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2114,11 +2118,11 @@ dependencies = [ [[package]] name = "tracing-futures" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2184,12 +2188,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "walkdir" -version = "2.2.9" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2203,91 +2207,91 @@ dependencies = [ [[package]] name = "wasi" -version = "0.7.0" +version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "wasm-bindgen" -version = "0.2.56" +version = "0.2.58" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-macro 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-macro 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.56" +version = "0.2.58" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bumpalo 3.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-shared 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-shared 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.56" +version = "0.2.58" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-macro-support 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-macro-support 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.56" +version = "0.2.58" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-backend 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-shared 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-backend 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-shared 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.56" +version = "0.2.58" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "wasm-bindgen-webidl" -version = "0.2.56" +version = "0.2.58" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-backend 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-backend 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", "weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "web-sys" -version = "0.3.33" +version = "0.3.35" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)", - "js-sys 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)", + "js-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)", "sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-webidl 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "wasm-bindgen-webidl 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "webpki" -version = "0.21.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)", "untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2296,7 +2300,7 @@ name = "webpki-roots" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", + "webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2312,7 +2316,7 @@ name = "which" version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2341,7 +2345,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "winapi-util" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2366,7 +2370,7 @@ name = "xattr" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2382,13 +2386,13 @@ name = "zcash_client_backend" version = "0.0.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ - "bech32 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bech32 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf-codegen-pure 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf-codegen-pure 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "subtle 2.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_primitives 0.0.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", ] @@ -2399,8 +2403,8 @@ version = "0.0.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ "aes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2s_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2s_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "crypto_api_chachapoly 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2408,12 +2412,12 @@ dependencies = [ "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_os 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "secp256k1 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2422,7 +2426,7 @@ version = "0.0.0" source = "git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37#1a0204113d487cdaaf183c2967010e5214ff9e37" dependencies = [ "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", - "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "ff 0.4.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", "pairing 0.14.2 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2439,50 +2443,51 @@ dependencies = [ "checksum anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)" = "7825f6833612eb2414095684fcf6c635becf3ce97fe48cf6421321e93bfbd53c" "checksum arc-swap 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "bc4662175ead9cd84451d5c35070517777949a2ed84551764129cedb88384841" "checksum arc-swap 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d7b8a9123b8027467bce0099fe556c628a53c8d83df0507084c31e9ba2e39aff" -"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee" +"checksum arrayref 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" "checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" -"checksum async-stream 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "58982858be7540a465c790b95aaea6710e5139bf8956b1d1344d014fa40100b0" -"checksum async-stream-impl 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "393356ed99aa7bff0ac486dde592633b83ab02bd254d8c209d5b9f1d0f533480" -"checksum async-trait 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "c8df72488e87761e772f14ae0c2480396810e51b2c2ade912f97f0f7e5b95e3c" +"checksum async-stream 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "22068c0c19514942eefcfd4daf8976ef1aad84e61539f95cd200c35202f80af5" +"checksum async-stream-impl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "25f9db3b38af870bf7e5cc649167533b493928e50744e2c30ae350230b414670" +"checksum async-trait 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "750b1c38a1dfadd108da0f01c08f4cdc7ff1bb39b325f9c82cc972361780a6e1" "checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" -"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea" +"checksum autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" +"checksum backtrace 0.3.43 (registry+https://github.com/rust-lang/crates.io-index)" = "7f80256bc78f67e7df7e36d77366f636ed976895d91fe2ab9efa3973e8fe8c4f" "checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491" "checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" "checksum base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" -"checksum bech32 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9e0089c35ab7c6f2bc55ab23f769913f0ac65b1023e7e74638a1f43128dd5df2" +"checksum bech32 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cdcf67bb7ba7797a081cd19009948ab533af7c355d5caf1d08c777582d351e9c" "checksum bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)" = "" "checksum bit-vec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "02b4ff8b16e6076c3e14220b39fbc1fabb6737522281a388998046859400895f" "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" -"checksum blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b83b7baab1e671718d78204225800d6b170e648188ac7dc992e9d6bddf87d0c0" -"checksum blake2s_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "050efd7a5bdb220988d4c5204f84ab796e778612af94275f1d39479798b39cf9" +"checksum blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a" +"checksum blake2s_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab9e07352b829279624ceb7c64adb4f585dacdb81d35cafae81139ccd617cf44" "checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" "checksum block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774" "checksum block-padding 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" "checksum bs58 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c95ee6bba9d950218b6cc910cf62bc9e0a171d0f4537e3627b0f54d08549b188" -"checksum bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad807f2fc2bf185eeb98ff3a901bd46dc5ad58163d0fa4577ba0d25674d71708" +"checksum bumpalo 3.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5fb8038c1ddc0a5f73787b130f4cc75151e96ed33e417fde765eb5a81e3532f4" "checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" "checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" -"checksum bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "10004c15deb332055f7a4a208190aed362cf9a7c2f6ab70a305fba50e1105f38" +"checksum bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "130aac562c0dd69c56b3b1cc8ffd2e17be31d0b6c25b61c96b76231aa23e39e1" "checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb" -"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76" +"checksum cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)" = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd" "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" "checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01" "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120" -"checksum core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" -"checksum core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" +"checksum constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +"checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d" +"checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b" "checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" "checksum crossbeam 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "24ce9782d4d5c53674646a6a4c1863a21a8fc0cb649b3c94dfc16e45071dea19" -"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" +"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4" "checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" "checksum crypto_api 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2f855e87e75a4799e18b8529178adcde6fd4f97c1449ff4821e747ff728bb102" "checksum crypto_api_chachapoly 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "95b2ad7cab08fd71addba81df5077c49df208effdfb3118a1519f9cdeac5aaf2" "checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" "checksum dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" "checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b" -"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e" +"checksum dtoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4358a9e11b9a09cf52383b451b49a169e8d797b68aa02301ff586d70d9661ea3" "checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" "checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9" "checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08" @@ -2498,35 +2503,35 @@ dependencies = [ "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef" -"checksum futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fcae98ca17d102fd8a3603727b9259fcf7fa4239b603d2142926189bc8999b86" -"checksum futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "79564c427afefab1dfb3298535b21eda083ef7935b4f0ecbfcb121f0aec10866" +"checksum futures-channel 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c92c2137e8e1ebf1ac99453550ab46eb4f35c5c53476d57d75eb782fb4d71e84" +"checksum futures-core 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ccfb301b0b09e940a67376cf40d1b0ac4db9366ee737f65c02edea225057e91e" "checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" -"checksum futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "171be33efae63c2d59e6dbba34186fe0d6394fb378069a76dfd80fdcffd43c16" -"checksum futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0bae52d6b29cf440e298856fec3965ee6fa71b06aa7495178615953fd669e5f9" -"checksum futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d66274fb76985d3c62c886d1da7ac4c0903a8c9f754e8fe0f35a6a6cc39e76" +"checksum futures-sink 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0485279d763e8a3669358f500e805339138b7bbe90f5718c80eedfdcb2ea36a4" +"checksum futures-task 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cefffab2aacc73845afd3f202e09fc775a55e2e96f46c8b1a46c117ae1c126ca" +"checksum futures-util 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2c3f8c59707f898b8b6f0b54c2aef5408ae90a560b7bf0fbf1b95b3c652b0171" "checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec" -"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407" +"checksum getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb" "checksum group 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)" = "" -"checksum h2 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "79b7246d7e4b979c03fa093da39cfb3617a96bbeee6310af63991668d7e843ff" +"checksum h2 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b9433d71e471c1736fd5a61b671fc0b148d7a2992f666c958d03cd8feb3b88d1" "checksum hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3bae29b6653b3412c2e71e9d486db9f9df5d701941d86683005efb9f2d28e3da" "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" -"checksum hermit-abi 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f629dc602392d3ec14bfc8a09b5e644d7ffd725102b48b81e59f90f2633621d7" +"checksum hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eff2656d88f158ce120947499e971d743c05dbcbed62e5bd2f38f1698bbc3772" "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" "checksum hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" "checksum http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b708cc7f06493459026f53b9a61a7a121a5d1ec6238dee58ea4941132b30156b" "checksum http-body 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" "checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" "checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" -"checksum hyper 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96816e1d921eca64d208a85aab4f7798455a8e34229ee5a88c935bdee1b78b14" -"checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2" +"checksum hyper 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fa1c527bbc634be72aa7ba31e4e4def9bbb020f5416916279b7c705cd838893e" +"checksum indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b54058f0a6ff80b6803da8faf8997cde53872b38f4023728f6830b06cd3c0dc" "checksum iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" "checksum itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484" -"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f" -"checksum js-sys 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)" = "367647c532db6f1555d7151e619540ec5f713328235b8c062c6b4f63e84adfe3" -"checksum json 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3ca41abbeb7615d56322a984e63be5e5d0a117dfaca86c14393e32a762ccac1" +"checksum itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e" +"checksum js-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)" = "7889c7c36282151f6bf465be4700359318aef36baa951462382eae49e9577cf9" +"checksum json 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9a38661a28126f8621fb246611288ae28935ddf180f5e21f2d0fbfe5e4131dbe" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -"checksum libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)" = "3baa92041a6fec78c687fa0cc2b3fae8884f743d672cf551bed1d6dac6988d0f" +"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558" "checksum libflate 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)" = "d9135df43b1f5d0e333385cb6e7897ecd1a43d7d11b91ac003f4d2c2d2401fdd" "checksum libsodium-sys 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1c344ff12b90ef8fa1f0fffacd348c1fd041db331841fec9eab23fdb991f5e73" "checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83" @@ -2535,8 +2540,8 @@ dependencies = [ "checksum log-mdc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7" "checksum log4rs 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "100052474df98158c0738a7d3f4249c99978490178b5f9f68cd835ac57adbd1b" "checksum maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" -"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e" -"checksum miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6f3f74f726ae935c3f514300cc6773a0c9492abc5e972d42ba0c0ebb88757625" +"checksum memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3197e20c7edb283f87c071ddfc7a2cca8f8e0b888c242959846a6fce03c72223" +"checksum miniz_oxide 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "aa679ff6578b1cddee93d7e82e263b94a575e0bfced07284eb0c037c1d2416a5" "checksum mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)" = "302dec22bcf6bae6dfb69c647187f4b4d0fb6f535521f7bc022430ce8e12008f" "checksum mio-named-pipes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f5e374eff525ce1c5b7687c4cef63943e7686524a387933ad27ca7ec43779cb3" "checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125" @@ -2545,10 +2550,10 @@ dependencies = [ "checksum multimap 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a97fbd5d00e0e37bfb10f433af8f5aaf631e739368dc9fc28286ca81ca4948dc" "checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" "checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6" -"checksum num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f9c3f34cdd24f334cb265d9bf8bfa8a241920d026916785747a92f0e55541a1a" -"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09" -"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4" -"checksum num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72" +"checksum num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +"checksum num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba" +"checksum num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096" +"checksum num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46203554f085ff89c235cd12f7075f3233af9b11ed7c9e16dfe2560d03313ce6" "checksum once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "532c29a261168a45ce28948f9537ddd7a5dd272cc513b3017b1e82a88f962c37" "checksum opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" "checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" @@ -2557,28 +2562,28 @@ dependencies = [ "checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337" "checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" "checksum pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" -"checksum percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" "checksum petgraph 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "29c127eea4a29ec6c85d153c59dc1213f33ec74cead30fe4730aecc88cc1fd92" -"checksum pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "94b90146c7216e4cb534069fb91366de4ea0ea353105ee45ed297e2d1619e469" -"checksum pin-project-internal 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "44ca92f893f0656d3cba8158dd0f2b99b94de256a4a54e870bd6922fcc6c8355" -"checksum pin-project-lite 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f7505eeebd78492e0f6108f7171c4948dbb120ee8119d9d77d0afa5469bef67f" +"checksum pin-project 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7804a463a8d9572f13453c516a5faea534a2403d7ced2f0c7e100eeff072772c" +"checksum pin-project-internal 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "385322a45f2ecf3410c68d2a549a4a2685e8051d0f278e39743ff4e451cb9b3f" +"checksum pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "237844750cfbb86f67afe27eee600dfbbcb6188d734139b534cbfbf4f96792ae" "checksum pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5894c618ce612a3fa23881b152b608bafb8c56cfc22f434a3ba3120b40f7b587" "checksum pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" "checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b" "checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -"checksum proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)" = "8872cf6f48eee44265156c111456a700ab3483686b3f96df4cf5481c89157319" +"checksum proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3acb317c6ff86a4e579dfa00fc5e6cca91ecbb4e7eb2df0468805b674eb88548" "checksum prost 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce49aefe0a6144a45de32927c77bd2859a5f7677b55f220ae5b744e87389c212" "checksum prost-build 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "02b10678c913ecbd69350e8535c3aef91a8676c0773fc1d7b95cdd196d7f2f26" "checksum prost-derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "537aa19b95acde10a12fec4301466386f757403de4cd4e5b4fa78fb5ecb18f72" "checksum prost-types 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1834f67c0697c001304b75be76f67add9c89742eda3a085ad8ee0bb38c3417aa" -"checksum protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40361836defdd5871ff7e84096c6f6444af7fc157f8ef1789f54f147687caa20" -"checksum protobuf-codegen 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "12c6abd78435445fc86898ebbd0521a68438063d4a73e23527b7134e6bf58b4a" -"checksum protobuf-codegen-pure 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c1646acda5319f5b28b0bff4a484324df43ddae2c0f5a3f3e63c0b26095cd600" -"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" +"checksum protobuf 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6686ddd96a8dbe2687b5f2a687b2cfb520854010ec480f2d74c32e7c9873d3c5" +"checksum protobuf-codegen 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6456421eecf7fc72905868cd760c3e35848ded3552e480cfe67726ed4dbd8d23" +"checksum protobuf-codegen-pure 2.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4a7cb42d5ab6073333be90208ab5ea6ab41c8f6803b35fd773a7572624cc15c9" +"checksum quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" "checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" "checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" "checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" -"checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412" +"checksum rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" "checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" "checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853" "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" @@ -2596,37 +2601,37 @@ dependencies = [ "checksum rand_xorshift 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "77d416b86801d23dde1aa643023b775c3a462efc0ed96443add11546cdf1dca8" "checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" "checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" -"checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d" +"checksum redox_users 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431" "checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" -"checksum ring 0.16.12 (registry+https://github.com/rust-lang/crates.io-index)" = "1ba5a8ec64ee89a76c98c549af81ff14813df09c3e6dc4766c3856da48597a0c" +"checksum ring 0.16.11 (registry+https://github.com/rust-lang/crates.io-index)" = "741ba1704ae21999c00942f9f5944f801e977f54302af346b596287599ad1862" "checksum ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad5112e0dbbb87577bfbc56c42450235e3012ce336e29c5befd7807bd626da4a" "checksum rle-decode-fast 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cabe4fa914dec5870285fa7f71f602645da47c486e68486d2b4ceb4a343e90ac" -"checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf" +"checksum rust-argon2 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017" "checksum rust-embed 5.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b18893bdbdb0fa5bce588f5d7ab4afbd0678fc879d31535912bf39b7fbc062d6" "checksum rust-embed-impl 5.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "50633968284cfc373661345fc6382e62b738079f045738023ebc5e445cf44357" "checksum rust-embed-utils 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97655158074ccb2d2cfb1ccb4c956ef0f4054e43a2c1e71146d4991e6961e105" "checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783" "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -"checksum rustls 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d4a31f5d68413404705d6982529b0e11a9aacd4839d1d6222ee3b8cb4015e1" -"checksum rustls-native-certs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a75ffeb84a6bd9d014713119542ce415db3a3e4748f0bfce1e1416cd224a23a5" +"checksum rustls 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b25a18b1bf7387f0145e7f8324e700805aade3842dd3db2e74e4cdeb4677c09e" +"checksum rustls-native-certs 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "51ffebdbb48c14f84eba0b715197d673aff1dd22cc1007ca647e28483bbcc307" "checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8" -"checksum same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421" +"checksum same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" "checksum schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "87f550b06b6cba9c8b8be3ee73f391990116bf527450d2556e9b9ce263b9a021" "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" "checksum sct 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e3042af939fca8c3453b7af0f1c66e533a15a86169e39de2657310ade8f98d3c" "checksum secp256k1 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e0344a794ff109f85547039536028e12f313178ac1545e49fdf16a530d900a7b" -"checksum security-framework 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "64808902d7d99f78eaddd2b4e2509713babc3dc3c85ad6f4c447680f3c01e535" -"checksum security-framework-sys 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "17bf11d99252f512695eb468de5516e5cf75455521e69dfe343f3b74e4748405" +"checksum security-framework 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8ef2429d7cefe5fd28bd1d2ed41c944547d4ff84776f5935b456da44593a16df" +"checksum security-framework-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e31493fc37615debb8c5090a7aeb4a9730bc61e77ab10b9af59f1a202284f895" "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" "checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449" "checksum serde-value 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7a663f873dedc4eac1a559d4c6bc0d0b2c34dc5ac4702e105014b8281489e44f" "checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64" -"checksum serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)" = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7" +"checksum serde_json 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)" = "21b01d7f0288608a01dca632cf1df859df6fd6ffa885300fc275ce2ba6221953" "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" -"checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d" +"checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" @@ -2636,7 +2641,7 @@ dependencies = [ "checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" "checksum subtle 2.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c65d530b10ccaeac294f349038a597e435b18fb456aadd0840a623f83b9e941" "checksum syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)" = "261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741" -"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238" +"checksum syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "af6f3550d8dff9ef7dc34d384ac6f107e5d31c8f57d9f28e0081503f547ac8f5" "checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" "checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" "checksum tar 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)" = "b3196bfbffbba3e57481b6ea32249fbaf590396a52505a2615adbb79d9d826d3" @@ -2644,13 +2649,13 @@ dependencies = [ "checksum thread-id 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c7fbf4c9d56b320106cd64fd024dadfa0be7cb4706725fc44a7d7ce952d820c1" "checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" "checksum tiny-bip39 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c1c5676413eaeb1ea35300a0224416f57abc3bd251657e0fafc12c47ff98c060" -"checksum tokio 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)" = "d099fa27b9702bed751524694adbe393e18b36b204da91eb1cbbbbb4a5ee2d58" -"checksum tokio-macros 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f0c3acc6aa564495a0f2e1d59fab677cd7f81a19994cfc7f3ad0e64301560389" -"checksum tokio-rustls 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4adb8b3e5f86b707f1b54e7c15b6de52617a823608ccda98a15d3a24222f265a" -"checksum tokio-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" -"checksum tonic 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4afef9ce97ea39593992cf3fa00ff33b1ad5eb07665b31355df63a690e38c736" +"checksum tokio 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8fdd17989496f49cdc57978c96f0c9fe5e4a58a8bddc6813c449a4624f6a030b" +"checksum tokio-macros 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f4b1e7ed7d5d4c2af3d999904b0eebe76544897cdbfb2b9684bed2174ab20f7c" +"checksum tokio-rustls 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)" = "141afec0978abae6573065a48882c6bae44c5cc61db9b511ac4abf6a09bfd9cc" +"checksum tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "571da51182ec208780505a32528fc5512a8fe1443ab960b3f2f3ef093cd16930" +"checksum tonic 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08283643b1d483eb7f3fc77069e63b5cba3e4db93514b3d45470e67f123e4e48" "checksum tonic-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0436413ba71545bcc6c2b9a0f9d78d72deb0123c6a75ccdfe7c056f9930f5e52" -"checksum tower 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4b299df54795e6f72bca45063b5803d1f9a1ba9b11a3c7c64d0b84519b451fdd" +"checksum tower 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd3169017c090b7a28fce80abaad0ab4f5566423677c9331bb320af7e49cfe62" "checksum tower-balance 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a792277613b7052448851efcf98a2c433e6f1d01460832dc60bef676bc275d4c" "checksum tower-buffer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c4887dc2a65d464c8b9b66e0e4d51c2fd6cf5b3373afc72805b0a60bce00446a" "checksum tower-discover 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0f6b5000c3c54d269cc695dff28136bb33d08cbf1df2c48129e143ab65bf3c2a" @@ -2664,10 +2669,10 @@ dependencies = [ "checksum tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860" "checksum tower-timeout 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "127b8924b357be938823eaaec0608c482d40add25609481027b96198b2e4b31e" "checksum tower-util 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5702d7890e35b2aae6ee420e8a762547505dbed30c075fbc84ec069a0aa18314" -"checksum tracing 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "6de6a8590a29d3f401eab60470c699efa0adf7b4f0352055bf24df2b69849b40" +"checksum tracing 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "1e213bd24252abeb86a0b7060e02df677d367ce6cb772cef17e9214b8390a8d3" "checksum tracing-attributes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04cfd395def5a60236e187e1ff905cb55668a59f29928dec05e6e1b1fd2ac1f3" -"checksum tracing-core 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "d7fb511ac6ca1d031c5cfc26d8c38da9d88e91d2bd5b38b60cf8dc1b8b5c211f" -"checksum tracing-futures 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "107ae59580d2a1d994b6b965b16fe94c969fe86d3f7fd2572a1ee243bcaf7f09" +"checksum tracing-core 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "13a46f11e372b8bd4b4398ea54353412fdd7fd42a8370c7e543e218cf7661978" +"checksum tracing-futures 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "33848db47a7c848ab48b66aab3293cb9c61ea879a3586ecfcd17302fcea0baf1" "checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" "checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" "checksum typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6" @@ -2679,17 +2684,17 @@ dependencies = [ "checksum untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60369ef7a31de49bcb3f6ca728d4ba7300d9a1658f94c727d4cab8c8d9f4aece" "checksum vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168" "checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" -"checksum walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)" = "9658c94fa8b940eab2250bd5a457f9c48b748420d71293b165c8cdbe2f55f71e" +"checksum walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d" "checksum want 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d" -"checksum wasm-bindgen 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "99de4b68939a880d530aed51289a7c7baee154e3ea8ac234b542c49da7134aaf" -"checksum wasm-bindgen-backend 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "b58e66a093a7b7571cb76409763c495b8741ac4319ac20acc2b798f6766d92ee" -"checksum wasm-bindgen-macro 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "a80f89daea7b0a67b11f6e9f911422ed039de9963dce00048a653b63d51194bf" -"checksum wasm-bindgen-macro-support 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "4f9dbc3734ad6cff6b76b75b7df98c06982becd0055f651465a08f769bca5c61" -"checksum wasm-bindgen-shared 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "d907984f8506b3554eab48b8efff723e764ddbf76d4cd4a3fe4196bc00c49a70" -"checksum wasm-bindgen-webidl 0.2.56 (registry+https://github.com/rust-lang/crates.io-index)" = "f85a3825a459cf6a929d03bacb54dca37a614d43032ad1343ef2d4822972947d" -"checksum web-sys 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)" = "2fb60433d0dc12c803b9b017b3902d80c9451bab78d27bc3210bf2a7b96593f1" -"checksum webpki 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d7e664e770ac0110e2384769bcc59ed19e329d81f555916a6e072714957b81b4" +"checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" +"checksum wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "5205e9afdf42282b192e2310a5b463a6d1c1d774e30dc3c791ac37ab42d2616c" +"checksum wasm-bindgen-backend 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "11cdb95816290b525b32587d76419facd99662a07e59d3cdb560488a819d9a45" +"checksum wasm-bindgen-macro 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "574094772ce6921576fb6f2e3f7497b8a76273b6db092be18fc48a082de09dc3" +"checksum wasm-bindgen-macro-support 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "e85031354f25eaebe78bb7db1c3d86140312a911a106b2e29f9cc440ce3e7668" +"checksum wasm-bindgen-shared 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "f5e7e61fc929f4c0dddb748b102ebf9f632e2b8d739f2016542b4de2965a9601" +"checksum wasm-bindgen-webidl 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "ef012a0d93fc0432df126a8eaf547b2dce25a8ce9212e1d3cbeef5c11157975d" +"checksum web-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)" = "aaf97caf6aa8c2b1dac90faf0db529d9d63c93846cca4911856f78a83cebf53b" +"checksum webpki 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f1f50e1972865d6b1adb54167d1c8ed48606004c2c9d0ea5f1eeb34d95e863ef" "checksum webpki-roots 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)" = "91cd5736df7f12a964a5067a12c62fa38e1bd8080aff1f80bc29be7c80d19ab4" "checksum weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bb43f70885151e629e2a19ce9e50bd730fd436cfd4b666894c9ce4de9141164" "checksum which 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5475d47078209a02e60614f7ba5e645ef3ed60f771920ac1906d7c1cc65024c8" @@ -2697,7 +2702,7 @@ dependencies = [ "checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9" +"checksum winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4ccfbf554c6ad11084fb7517daca16cfdcaccbdadba4fc336f032a8b12c2ad80" "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" "checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" "checksum xattr 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 8bcf505..1d49baf 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "91c8d18d17aa5b67dc5dc8a5f8cfe4e323fdda30" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "fb07cae93c706cce929beef98690109e5f2d7592" } diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index fff8f9a..31ff448 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -5,7 +5,7 @@ ChatItem::ChatItem() {} -ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations) +ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool notarize) { _timestamp = timestamp; _address = address; @@ -17,9 +17,10 @@ ChatItem::ChatItem(long timestamp, QString address, QString contact, QString mem _txid = txid; _confirmations = confirmations; _outgoing = false; + _notarize = notarize; } -ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing) +ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing, bool notarize) { _timestamp = timestamp; _address = address; @@ -31,6 +32,7 @@ ChatItem::ChatItem(long timestamp, QString address, QString contact, QString mem _txid = txid; _confirmations = confirmations; _outgoing = outgoing; + _notarize = notarize; } long ChatItem::getTimestamp() @@ -81,6 +83,11 @@ bool ChatItem::isOutgoing() return _outgoing; } +bool ChatItem::isNotarized() +{ + return _notarize; +} + void ChatItem::setTimestamp(long timestamp) { _timestamp = timestamp; @@ -128,6 +135,10 @@ void ChatItem::toggleOutgo() { _outgoing = true; } +void ChatItem::notarized() +{ + _notarize = false; +} QString ChatItem::toChatLine() @@ -136,14 +147,25 @@ QString ChatItem::toChatLine() QString lock; myDateTime.setTime_t(_timestamp); - if (_confirmations == 0){ + if (_notarize == true) + + { + + lock = " "; + + }else{ + lock = " "; - }else{ + } + if ((_confirmations > 0) && (_notarize == false)) + + { lock = " "; + } + - } - +qDebug()<<_notarize; QString line = QString("") + myDateTime.toString("dd.MM.yyyy hh:mm"); line += QString(lock) + QString(""); line += QString("

") + _memo.toHtmlEscaped() + QString("

"); diff --git a/src/Model/ChatItem.h b/src/Model/ChatItem.h index be8a807..edfa8a0 100644 --- a/src/Model/ChatItem.h +++ b/src/Model/ChatItem.h @@ -20,11 +20,12 @@ class ChatItem QString _txid; int _confirmations; bool _outgoing = false; + bool _notarize = false; public: ChatItem(); - ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid, int confirmations); - ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing); + ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool notarize); + ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing, bool notarize); long getTimestamp(); QString getAddress(); QString getContact(); @@ -35,6 +36,7 @@ class ChatItem QString getTxid(); int getConfirmations(); bool isOutgoing(); + bool isNotarized(); void setTimestamp(long timestamp); void setAddress(QString address); void setContact(QString contact); @@ -45,6 +47,7 @@ class ChatItem void setTxid(QString txid); void setConfirmations(int confirmations); void toggleOutgo(); + void notarized(); QString toChatLine(); json toJson(); ~ChatItem(); diff --git a/src/controller.cpp b/src/controller.cpp index 8007205..2b4c982 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -239,6 +239,12 @@ void Controller::getInfoThenRefresh(bool force) int curBlock = reply["latest_block_height"].get(); int longestchain = reply["longestchain"].get(); int notarized = reply["notarized"].get(); + int lag = longestchain - notarized ; + + + qDebug()<<"Lag :" << lag; + + int difficulty = reply["difficulty"].get(); int blocks_until_halving= 340000 - curBlock; int halving_days = (blocks_until_halving * 150) / (60*60*24) ; @@ -258,7 +264,11 @@ void Controller::getInfoThenRefresh(bool force) ); ui->longestchain->setText( "Block: " + QLocale(QLocale::German).toString(longestchain) + ); + + this->setLag(lag); + ui->difficulty->setText( QLocale(QLocale::German).toString(difficulty) ); @@ -285,6 +295,8 @@ void Controller::getInfoThenRefresh(bool force) (QLocale(QLocale::English).toString(blocks_until_halving)) + " Blocks or , " + (QLocale(QLocale::English).toString(halving_days) + " days" ) ); + + this->setLag(lag); } ui->Version->setText( @@ -293,6 +305,7 @@ void Controller::getInfoThenRefresh(bool force) ui->Vendor->setText( QString::fromStdString(reply["vendor"].get()) ); + this->setLag(lag); main->logger->write( QString("Refresh. curblock ") % QString::number(curBlock) % ", update=" % (doUpdate ? "true" : "false") ); @@ -562,6 +575,20 @@ void Controller::getInfoThenRefresh(bool force) }); } +int Controller::getLag() +{ + + return _lag; + +} + +void Controller::setLag(int lag) +{ + + _lag = lag; + +} + void Controller::refreshAddresses() { if (!zrpc->haveConnection()) @@ -877,6 +904,15 @@ void Controller::refreshTransactions() { memo = QString::fromStdString(o["memo"]); QString cid; + bool isNotarized; + + if (confirmations > getLag()) + { + isNotarized = true; + }else{ + + isNotarized = false; + } ChatItem item = ChatItem( datetime, @@ -888,10 +924,11 @@ void Controller::refreshTransactions() { cid, txid, confirmations, - true + true, + isNotarized ); // qDebug()<<"Memo : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); @@ -973,8 +1010,20 @@ void Controller::refreshTransactions() { requestZaddr = chatModel->getrequestZaddrByTx(txid); }else{ requestZaddr = ""; - } + } + position = it["position"].get(); + + bool isNotarized; + + if (confirmations > getLag()) + { + isNotarized = true; + }else{ + + isNotarized = false; + } + ChatItem item = ChatItem( datetime, address, @@ -985,9 +1034,10 @@ void Controller::refreshTransactions() { cid, txid, confirmations, - false + false, + isNotarized ); - // qDebug()<< "Position : " << position; + qDebug()<< "Notarized : " << isNotarized; // qDebug()<<"Confirmation :" << confirmations; DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); @@ -995,6 +1045,7 @@ void Controller::refreshTransactions() { } } + qDebug()<< getLag(); // Calculate the total unspent amount that's pending. This will need to be // shown in the UI so the user can keep track of pending funds diff --git a/src/controller.h b/src/controller.h index b34aeb4..f35d636 100644 --- a/src/controller.h +++ b/src/controller.h @@ -37,7 +37,10 @@ public: Connection* getConnection() { return zrpc->getConnection(); } void setConnection(Connection* c); void refresh(bool force = false); - void refreshAddresses(); + void refreshAddresses(); + int getLag(); + void setLag(int lag); + int _lag; void checkForUpdate(bool silent = true); void refreshZECPrice(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 2d85bd5..c7d5481 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1505,6 +1505,9 @@ 521
+ + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized + Qt::ScrollBarAsNeeded From 537d3828b060150a24e9cd1a6a81d2ee7b8cc753 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 25 May 2020 22:44:07 +0200 Subject: [PATCH 156/251] add contectmenu to contactitems --- src/contactmodel.cpp | 19 +++++++++++++++---- src/contactmodel.h | 1 + 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 6f452fa..8700a32 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -6,10 +6,19 @@ #include "mainwindow.h" #include "chatmodel.h" + void ContactModel::renderContactList(QListView* view) { QStandardItemModel* contact = new QStandardItemModel(); - + QMenu* contextMenu; + QAction* requestAction; + QAction* editAction; + contextMenu = new QMenu(view); + requestAction = new QAction("Send a contact request",contextMenu); + editAction = new QAction("Edit this contact",contextMenu); + + // QObject::connect(requestAction,SIGNAL(customContextMenuRequested(const QModelIndex)),this, SLOT(&ContactModel::requestActionClickedSlot)); + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { @@ -18,14 +27,16 @@ void ContactModel::renderContactList(QListView* view) QStandardItem* Items1 = new QStandardItem(c.getName()); Items1->setData(QIcon(avatar),Qt::DecorationRole); + contact->appendRow(Items1); view->setModel(contact); view->setIconSize(QSize(60,70)); view->setUniformItemSizes(true); view->setDragDropMode(QAbstractItemView::DropOnly); view->show(); - + view->setContextMenuPolicy(Qt::ActionsContextMenu); + view->addAction(requestAction); + view->addAction(editAction); } - -} \ No newline at end of file +} diff --git a/src/contactmodel.h b/src/contactmodel.h index fcdf7a3..cfe57bc 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -8,6 +8,7 @@ class ContactModel + { public: ContactModel() {} From eb0bb65230540b2a89437ae01f5a76aae537b8bc Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 26 May 2020 19:40:42 +0200 Subject: [PATCH 157/251] add error message for messages over 512 chars --- src/chatmodel.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 0e636b2..63ce92c 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -349,6 +349,22 @@ void MainWindow::sendChat() { return; } + int max = 512; + QString chattext = ui->memoTxtChat->toPlainText(); + int size = chattext.size(); + + if (size > max){ + + // auto addr = ""; + // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { + QMessageBox msg(QMessageBox::Critical, tr("Your Message is too long"), + tr("You can only write messages with 512 character maximum \n") + tr("\n Please reduce your message to 512 character."), + QMessageBox::Ok, this); + + msg.exec(); + return; + } + Tx tx = createTxFromChatPage(); QString error = doSendChatTxValidations(tx); @@ -646,6 +662,22 @@ void MainWindow::ContactRequest() { return; } + int max = 512; + QString chattext = contactRequest.getMemo();; + int size = chattext.size(); + + if (size > max){ + + // auto addr = ""; + // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { + QMessageBox msg(QMessageBox::Critical, tr("Your Message is too long"), + tr("You can only write messages with 512 character maximum \n") + tr("\n Please reduce your message to 512 character."), + QMessageBox::Ok, this); + + msg.exec(); + return; + } + Tx tx = createTxForSafeContactRequest(); QString error = doSendRequestTxValidations(tx); From 963857fbdaa910342aff67e4a55eeaf05598101d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 26 May 2020 20:09:38 +0200 Subject: [PATCH 158/251] undo dep upgrade,refresh tab after sending a message --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- src/chatmodel.cpp | 10 +++++++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 07f7981..c2021b0 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=1daf5ce75fcbd51047360681652f173f93f54f93)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592#fb07cae93c706cce929beef98690109e5f2d7592" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=1daf5ce75fcbd51047360681652f173f93f54f93#1daf5ce75fcbd51047360681652f173f93f54f93" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=fb07cae93c706cce929beef98690109e5f2d7592)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=1daf5ce75fcbd51047360681652f173f93f54f93)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 1d49baf..15e0acd 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "fb07cae93c706cce929beef98690109e5f2d7592" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "1daf5ce75fcbd51047360681652f173f93f54f93" } diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 63ce92c..cb5621d 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -403,6 +403,7 @@ void MainWindow::sendChat() { d->show(); ui->memoTxtChat->clear(); + // And send the Tx rpc->executeTransaction(tx, @@ -411,6 +412,7 @@ void MainWindow::sendChat() { connD->status->setText(tr("Done!")); connD->statusDetail->setText(txid); + QTimer::singleShot(1000, [=]() { d->accept(); @@ -421,7 +423,7 @@ void MainWindow::sendChat() { }); // Force a UI update so we get the unconfirmed Tx - // rpc->refresh(true); + rpc->refresh(true); ui->memoTxtChat->clear(); }, @@ -440,6 +442,8 @@ void MainWindow::sendChat() { QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); } ); + + // rpc->refresh(true); } QString MainWindow::doSendChatTxValidations(Tx tx) { @@ -465,7 +469,7 @@ QString MainWindow::doSendChatTxValidations(Tx tx) { auto available = rpc->getModel()->getAvailableBalance(); if (available < total) { - return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 3 confirmations before they can be spent") + return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 1 confirmations before they can be spent") .arg(available.toDecimalhushString(), total.toDecimalhushString()); } @@ -662,7 +666,7 @@ void MainWindow::ContactRequest() { return; } - int max = 512; + int max = 512; QString chattext = contactRequest.getMemo();; int size = chattext.size(); From 7d081f678cabc58898b4ab68d31a489eb76920a3 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 26 May 2020 20:21:59 +0200 Subject: [PATCH 159/251] fix some typos, delete -add only a contact- on chattab --- src/chatmodel.cpp | 6 +++--- src/contactrequest.ui | 33 ++++----------------------------- 2 files changed, 7 insertions(+), 32 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index cb5621d..97d46f9 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -399,7 +399,7 @@ void MainWindow::sendChat() { } connD->status->setText(tr("Please wait...")); - connD->statusDetail->setText(tr("Your Message will be send")); + connD->statusDetail->setText(tr("Your Message will be sent")); d->show(); ui->memoTxtChat->clear(); @@ -518,7 +518,7 @@ void::MainWindow::addContact() }); QObject::connect(request.sendRequestButton, &QPushButton::clicked, this, &MainWindow::saveandsendContact); - QObject::connect(request.onlyAdd, &QPushButton::clicked, this, &MainWindow::saveContact); + // QObject::connect(request.onlyAdd, &QPushButton::clicked, this, &MainWindow::saveContact); dialog.exec(); @@ -716,7 +716,7 @@ void MainWindow::ContactRequest() { } connD->status->setText(tr("Please wait...")); - connD->statusDetail->setText(tr("Your Contact will be send")); + connD->statusDetail->setText(tr("Your contact request will be sent")); d->show(); ui->memoTxtChat->clear(); diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 8667057..1e37ee9 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -6,7 +6,7 @@ 0 0 - 777 + 780 427
@@ -233,7 +233,7 @@
- + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request</span></p></body></html> @@ -318,36 +318,11 @@ - - - - - 152 - 25 - - - - - 100 - 0 - - - - Only add this contact - - - false - - - false - - - - 188 + 300 25 @@ -358,7 +333,7 @@ - Add Contact & send request + Add Contact and send request false From 78ca3cf8caca719a43f8c3ac5df23ab019dc136d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 26 May 2020 22:11:15 +0200 Subject: [PATCH 160/251] fix for double outgoing message --- src/Chat/Chat.cpp | 5 ++++- src/chatmodel.cpp | 9 ++++----- src/controller.cpp | 37 +++++++++++++++++++------------------ src/mainwindow.cpp | 1 + src/mainwindow.ui | 7 +++++-- 5 files changed, 33 insertions(+), 26 deletions(-) diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index f76222d..c0482b8 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -67,7 +67,8 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) Items->setData(OUTGOING, Qt::UserRole + 1); chat->appendRow(Items); - ui->listChat->setModel(chat); + ui->listChat->setModel(chat); + } else @@ -86,6 +87,8 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) Items1->setData(INCOMING, Qt::UserRole + 1); chat->appendRow(Items1); ui->listChat->setModel(chat); + + } else { diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 97d46f9..e5864f8 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -53,7 +53,6 @@ void ChatModel::clear() void ChatModel::addMessage(ChatItem item) { QString key = ChatIDGenerator::getInstance()->generateID(item); //this->generateChatItemID(item); - // qDebug() << "inserting chatitem with id: " << key; this->chatItems[key] = item; } @@ -72,9 +71,7 @@ void ChatModel::showMessages() } } - - - + void MainWindow::renderContactRequest(){ Ui_requestDialog requestContact; @@ -336,7 +333,9 @@ void MainWindow::sendChat() { // Memos can only be used with zAddrs. So check that first // for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - + QString Name = ui->contactNameMemo->text(); + int sizename = Name.size(); + qDebug()<< sizename; if (ui->contactNameMemo->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { // auto addr = ""; diff --git a/src/controller.cpp b/src/controller.cpp index 2b4c982..cd6152b 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -237,18 +237,15 @@ void Controller::getInfoThenRefresh(bool force) zrpc->fetchInfo([=] (const json& reply) { prevCallSucceeded = true; int curBlock = reply["latest_block_height"].get(); + bool doUpdate = force || (model->getLatestBlock() != curBlock); + int difficulty = reply["difficulty"].get(); + int blocks_until_halving= 340000 - curBlock; + int halving_days = (blocks_until_halving * 150) / (60*60*24) ; int longestchain = reply["longestchain"].get(); int notarized = reply["notarized"].get(); - int lag = longestchain - notarized ; + - qDebug()<<"Lag :" << lag; - - - int difficulty = reply["difficulty"].get(); - int blocks_until_halving= 340000 - curBlock; - int halving_days = (blocks_until_halving * 150) / (60*60*24) ; - bool doUpdate = force || (model->getLatestBlock() != curBlock); model->setLatestBlock(curBlock); if ( Settings::getInstance()->get_currency_name() == "EUR" || @@ -267,7 +264,7 @@ void Controller::getInfoThenRefresh(bool force) ); - this->setLag(lag); + ui->difficulty->setText( QLocale(QLocale::German).toString(difficulty) @@ -295,8 +292,6 @@ void Controller::getInfoThenRefresh(bool force) (QLocale(QLocale::English).toString(blocks_until_halving)) + " Blocks or , " + (QLocale(QLocale::English).toString(halving_days) + " days" ) ); - - this->setLag(lag); } ui->Version->setText( @@ -305,7 +300,6 @@ void Controller::getInfoThenRefresh(bool force) ui->Vendor->setText( QString::fromStdString(reply["vendor"].get()) ); - this->setLag(lag); main->logger->write( QString("Refresh. curblock ") % QString::number(curBlock) % ", update=" % (doUpdate ? "true" : "false") ); @@ -553,8 +547,12 @@ void Controller::getInfoThenRefresh(bool force) refreshAddresses(); // This calls refreshZSentTransactions() and refreshReceivedZTrans() refreshTransactions(); } + + int lag = longestchain - notarized ; + this->setLag(lag); }, [=](QString err) { // hushd has probably disappeared. + this->noConnection(); // Prevent multiple dialog boxes, because these are called async @@ -914,6 +912,12 @@ void Controller::refreshTransactions() { isNotarized = false; } + if (confirmations == 1) { + DataStore::getChatDataStore()->clear(); + this->refresh(true); + } + qDebug()<<"Conf : " << confirmations; + ChatItem item = ChatItem( datetime, address, @@ -927,12 +931,10 @@ void Controller::refreshTransactions() { true, isNotarized ); - // qDebug()<<"Memo : " <setData(ChatIDGenerator::getInstance()->generateID(item), item); - - } + } + + items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; @@ -1038,7 +1040,6 @@ void Controller::refreshTransactions() { isNotarized ); qDebug()<< "Notarized : " << isNotarized; - // qDebug()<<"Confirmation :" << confirmations; DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 4f6c428..d71baad 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1208,6 +1208,7 @@ void MainWindow::setupTransactionsTab() { ui->listChat->setMinimumSize(200,350); ui->listChat->setItemDelegate(new ListViewDelegate()); ui->listChat->show(); + ui->transactionsTable->setContextMenuPolicy(Qt::CustomContextMenu); // Table right click QObject::connect(ui->transactionsTable, &QTableView::customContextMenuRequested, [=] (QPoint pos) { diff --git a/src/mainwindow.ui b/src/mainwindow.ui index c7d5481..a4a4e78 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1378,7 +1378,10 @@ true - QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked + QAbstractItemView::NoEditTriggers + + + false false @@ -1518,7 +1521,7 @@ QAbstractScrollArea::AdjustToContents - QAbstractItemView::AllEditTriggers + QAbstractItemView::NoEditTriggers QListView::Adjust From aa46cc99ae4489ad818cc65f123e57476e6af2bc Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 26 May 2020 23:28:40 +0200 Subject: [PATCH 161/251] refresh if conf=1 --- src/chatmodel.cpp | 25 +++++++++++++++++++++++++ src/chatmodel.h | 4 ++++ src/controller.cpp | 19 ++++++++++++++----- 3 files changed, 43 insertions(+), 5 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index e5864f8..b0acb38 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -216,6 +216,11 @@ void ChatModel::addrequestZaddr(QString tx, QString requestZaddr) this->requestZaddrMap[tx] = requestZaddr; } +void ChatModel::addconfirmations(QString tx, int confirmation) +{ + this->confirmationsMap[tx] = confirmation; +} + QString ChatModel::getCidByTx(QString tx) { for(auto& pair : this->cidMap) @@ -231,6 +236,21 @@ QString ChatModel::getCidByTx(QString tx) return QString("0xdeadbeef"); } +QString ChatModel::getConfirmationByTx(QString tx) +{ + for(auto& pair : this->confirmationsMap) + { + + } + + if(this->confirmationsMap.count(tx) > 0) + { + return this->confirmationsMap[tx]; + } + + return QString("0xdeadbeef"); +} + QString ChatModel::getrequestZaddrByTx(QString tx) { for(auto& pair : this->requestZaddrMap) @@ -256,6 +276,11 @@ void ChatModel::killrequestZaddrCache() this->requestZaddrMap.clear(); } +void ChatModel::killConfirmationCache() +{ + this->confirmationsMap.clear(); +} + QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, int version=0, int headerNumber=1) { diff --git a/src/chatmodel.h b/src/chatmodel.h index e8bc3e7..7ca5a0f 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -32,6 +32,7 @@ class ChatModel MainWindow* main; std::map cidMap; std::map requestZaddrMap; + std::map confirmationsMap; std::map> sendrequestMap; public: @@ -49,10 +50,13 @@ class ChatModel void addMessage(QString timestamp, ChatItem item); void addCid(QString tx, QString cid); void addrequestZaddr(QString tx, QString requestZaddr); + void addconfirmations(QString tx, int confirmation); void addSendRequest(int i, QString myAddr, QString cid, QString addr ); QString getCidByTx(QString tx); QString getrequestZaddrByTx(QString tx); + QString getConfirmationByTx(QString tx); void killCidCache(); + void killConfirmationCache(); void killrequestZaddrCache(); }; diff --git a/src/controller.cpp b/src/controller.cpp index cd6152b..541821c 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -896,6 +896,16 @@ void Controller::refreshTransactions() { CAmount amount = CAmount::fromqint64(-1* o["value"].get()); // Check for Memos + + if (confirmations == 0) { + chatModel->addconfirmations(txid, confirmations); + } + + if ((confirmations == 1) && (chatModel->getConfirmationByTx(txid) != QString("0xdeadbeef"))){ + DataStore::getChatDataStore()->clear(); + chatModel->killConfirmationCache(); + this->refresh(true); + } QString memo; if (!o["memo"].is_null()) { @@ -912,10 +922,6 @@ void Controller::refreshTransactions() { isNotarized = false; } - if (confirmations == 1) { - DataStore::getChatDataStore()->clear(); - this->refresh(true); - } qDebug()<<"Conf : " << confirmations; ChatItem item = ChatItem( @@ -932,10 +938,13 @@ void Controller::refreshTransactions() { isNotarized ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); + + + } - + // this->refresh(true); items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; } From 56cc89a918b22bf217eadeb1e10a209b9b4e3980 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 27 May 2020 07:41:11 +0200 Subject: [PATCH 162/251] dont delete unsent message when switching tab, add more contextmenu --- src/Model/ChatItem.h | 1 + src/contactmodel.cpp | 37 +++++++++++++++++++++++++------------ src/contactmodel.h | 3 +++ src/controller.cpp | 3 +-- src/mainwindow.cpp | 22 +++++++++++++++++++++- src/mainwindow.h | 1 + src/mainwindow.ui | 13 +++++++++++-- 7 files changed, 63 insertions(+), 17 deletions(-) diff --git a/src/Model/ChatItem.h b/src/Model/ChatItem.h index edfa8a0..11e3b65 100644 --- a/src/Model/ChatItem.h +++ b/src/Model/ChatItem.h @@ -36,6 +36,7 @@ class ChatItem QString getTxid(); int getConfirmations(); bool isOutgoing(); + bool isdouble(); bool isNotarized(); void setTimestamp(long timestamp); void setAddress(QString address); diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 8700a32..691c65e 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -5,20 +5,17 @@ #include "addressbook.h" #include "mainwindow.h" #include "chatmodel.h" +#include "requestdialog.h" +#include "ui_requestdialog.h" +#include "settings.h" +#include "controller.h" + void ContactModel::renderContactList(QListView* view) { QStandardItemModel* contact = new QStandardItemModel(); - QMenu* contextMenu; - QAction* requestAction; - QAction* editAction; - contextMenu = new QMenu(view); - requestAction = new QAction("Send a contact request",contextMenu); - editAction = new QAction("Edit this contact",contextMenu); - - // QObject::connect(requestAction,SIGNAL(customContextMenuRequested(const QModelIndex)),this, SLOT(&ContactModel::requestActionClickedSlot)); - + for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { @@ -34,9 +31,25 @@ void ContactModel::renderContactList(QListView* view) view->setUniformItemSizes(true); view->setDragDropMode(QAbstractItemView::DropOnly); view->show(); - view->setContextMenuPolicy(Qt::ActionsContextMenu); - view->addAction(requestAction); - view->addAction(editAction); + + } } + +void MainWindow::showRequesthush() { + + Ui_RequestDialog req; + QDialog d(this); + req.setupUi(&d); + Settings::saveRestore(&d); + + // setupDialog(main, &d, &req); + + // Setup the Label completer for the Address + + + d.exec(); + +} + diff --git a/src/contactmodel.h b/src/contactmodel.h index cfe57bc..095fe99 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -5,14 +5,17 @@ #include "Model/ContactItem.h" #include +#include "mainwindow.h" class ContactModel { public: + ContactModel() {} void renderContactList(QListView* view); + }; #endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 541821c..10b41bb 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -943,8 +943,7 @@ void Controller::refreshTransactions() { } - - // this->refresh(true); + items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index d71baad..24f9b7c 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1358,13 +1358,33 @@ void MainWindow::setupchatTab() { // ui->ContactZaddr->setText(p.getPartnerAddress()); // ui->MyZaddr->setText(p.getMyAddress()); ui->contactNameMemo->setText(p.getName()); - ui->memoTxtChat->clear(); + // ui->memoTxtChat->clear(); rpc->refresh(true); // updateChat(); } }); + + QMenu* contextMenu; + QAction* requestAction; + QAction* editAction; + QAction* HushAction; + QAction* requestHushAction; + contextMenu = new QMenu(ui->listContactWidget); + requestAction = new QAction("Send a contact request",contextMenu); + editAction = new QAction("Delete this contact",contextMenu); + HushAction = new QAction("Send a friend some Hush",contextMenu); + requestHushAction = new QAction("Request some Hush",contextMenu); + ui->listContactWidget->setContextMenuPolicy(Qt::ActionsContextMenu); + ui->listContactWidget->addAction(requestAction); + ui->listContactWidget->addAction(editAction); + ui->listContactWidget->addAction(HushAction); + ui->listContactWidget->addAction(requestHushAction); + QObject::connect(requestHushAction, &QAction::triggered, [=]() { + MainWindow::showRequesthush(); + }); + ui->memoTxtChat->setLenDisplayLabelChat(ui->memoSizeChat); } diff --git a/src/mainwindow.h b/src/mainwindow.h index fb08fdb..56bfbc6 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -60,6 +60,7 @@ public: void stopWebsocket(); void saveContact(); void saveandsendContact(); + void showRequesthush(); // void setmaxlenChat(int len); // void updateDisplay(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index a4a4e78..de58411 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1389,6 +1389,9 @@ QAbstractItemView::SingleSelection + + QAbstractItemView::SelectItems + @@ -1422,10 +1425,16 @@ QTextEdit::AutoNone - QTextEdit::FixedColumnWidth + QTextEdit::FixedPixelWidth - 80 + 600 + + + false + + + Qt::TextEditorInteraction From 4d8e3ba4605fa7d86be7a554ac6436cf4cf3c475 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 27 May 2020 13:46:51 +0200 Subject: [PATCH 163/251] add hushrequest and delete contact --- src/hushrequest.ui | 72 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/hushrequest.ui diff --git a/src/hushrequest.ui b/src/hushrequest.ui new file mode 100644 index 0000000..fb923db --- /dev/null +++ b/src/hushrequest.ui @@ -0,0 +1,72 @@ + + + + + Dialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + + From d0f406d37375eeb192336cc594bef5f2e1998a61 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 27 May 2020 13:47:22 +0200 Subject: [PATCH 164/251] add hushrequest and delete contact --- silentdragon-lite.pro | 1 + src/contactmodel.cpp | 102 +++++++++++++++-- src/contactmodel.h | 1 + src/hushrequest.ui | 208 +++++++++++++++++++++++----------- src/mainwindow.cpp | 48 ++++++-- src/requestdialog.ui | 252 +++++++++++++++++++++--------------------- 6 files changed, 406 insertions(+), 206 deletions(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 4d07b4d..90b261b 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -122,6 +122,7 @@ HEADERS += \ FORMS += \ src/contactrequest.ui \ src/encryption.ui \ + src/hushrequest.ui \ src/mainwindow.ui \ src/migration.ui \ src/newseed.ui \ diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 691c65e..7f9d097 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -7,6 +7,7 @@ #include "chatmodel.h" #include "requestdialog.h" #include "ui_requestdialog.h" +#include "ui_hushrequest.h" #include "settings.h" #include "controller.h" @@ -39,17 +40,104 @@ void ContactModel::renderContactList(QListView* view) void MainWindow::showRequesthush() { - Ui_RequestDialog req; + Ui_hushrequest req; QDialog d(this); req.setupUi(&d); Settings::saveRestore(&d); - // setupDialog(main, &d, &req); + QString label = ui->contactNameMemo->text(); + for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) + { + + if (p.getName() == label) + + { + + QString addr = p.getPartnerAddress(); + QString myzaddr = p.getMyAddress(); + + req.txtFrom->setText(addr); + req.lblAddressInfo->setText(myzaddr); + // Amount textbox + req.txtAmount->setValidator(this->getAmountValidator()); + QObject::connect(req.txtAmount, &QLineEdit::textChanged, [=] (auto text) { + CAmount amount = CAmount::fromDecimalString(text); + if (Settings::getInstance()->get_currency_name() == "USD") { + req.txtAmountUSD->setText(amount.toDecimalUSDString()); + } else if (Settings::getInstance()->get_currency_name() == "EUR") { + req.txtAmountUSD->setText(amount.toDecimalEURString()); + } else if (Settings::getInstance()->get_currency_name() == "BTC") { + req.txtAmountUSD->setText(amount.toDecimalBTCString()); + } else if (Settings::getInstance()->get_currency_name() == "CNY") { + req.txtAmountUSD->setText(amount.toDecimalCNYString()); + } else if (Settings::getInstance()->get_currency_name() == "RUB") { + req.txtAmountUSD->setText(amount.toDecimalRUBString()); + } else if (Settings::getInstance()->get_currency_name() == "CAD") { + req.txtAmountUSD->setText(amount.toDecimalCADString()); + } else if (Settings::getInstance()->get_currency_name() == "SGD") { + req.txtAmountUSD->setText(amount.toDecimalSGDString()); + } else if (Settings::getInstance()->get_currency_name() == "CHF") { + req.txtAmountUSD->setText(amount.toDecimalCHFString()); + } else if (Settings::getInstance()->get_currency_name() == "INR") { + req.txtAmountUSD->setText(amount.toDecimalINRString()); + } else if (Settings::getInstance()->get_currency_name() == "GBP") { + req.txtAmountUSD->setText(amount.toDecimalGBPString()); + } else if (Settings::getInstance()->get_currency_name() == "AUD") { + req.txtAmountUSD->setText(amount.toDecimalBTCString()); + } + }); + CAmount amount = CAmount::fromDecimalString(req.txtAmount->text()); + if (Settings::getInstance()->get_currency_name() == "USD") { + req.txtAmountUSD->setText(amount.toDecimalUSDString()); + } else if (Settings::getInstance()->get_currency_name() == "EUR") { + req.txtAmountUSD->setText(amount.toDecimalEURString()); + } else if (Settings::getInstance()->get_currency_name() == "BTC") { + req.txtAmountUSD->setText(amount.toDecimalBTCString()); + } else if (Settings::getInstance()->get_currency_name() == "CNY") { + req.txtAmountUSD->setText(amount.toDecimalCNYString()); + } else if (Settings::getInstance()->get_currency_name() == "RUB") { + req.txtAmountUSD->setText(amount.toDecimalRUBString()); + } else if (Settings::getInstance()->get_currency_name() == "CAD") { + req.txtAmountUSD->setText(amount.toDecimalCADString()); + } else if (Settings::getInstance()->get_currency_name() == "SGD") { + req.txtAmountUSD->setText(amount.toDecimalSGDString()); + } else if (Settings::getInstance()->get_currency_name() == "CHF") { + req.txtAmountUSD->setText(amount.toDecimalCHFString()); + } else if (Settings::getInstance()->get_currency_name() == "INR") { + req.txtAmountUSD->setText(amount.toDecimalINRString()); + } else if (Settings::getInstance()->get_currency_name() == "GBP") { + req.txtAmountUSD->setText(amount.toDecimalGBPString()); + } else if (Settings::getInstance()->get_currency_name() == "AUD") { + req.txtAmountUSD->setText(amount.toDecimalBTCString()); + } + req.txtMemo->setAcceptButton(req.buttonBox->button(QDialogButtonBox::Ok)); + req.txtMemo->setLenDisplayLabel(req.lblMemoLen); + req.txtMemo->setMaxLen(400); + + req.txtFrom->setFocus(); + + + } + } + if (d.exec() == QDialog::Accepted) { + // Construct a hush Payment URI with the data and pay it immediately. + CAmount amount = CAmount::fromDecimalString(req.txtAmount->text()); + QString memoURI = "hush:" + req.lblAddressInfo->text() + + "?amt=" + amount.toDecimalString() + + "&memo=" + QUrl::toPercentEncoding(req.txtMemo->toPlainText()); + + QString sendURI = "hush:" + AddressBook::addressFromAddressLabel(req.txtFrom->text()) + + "?amt=0.0001" + + "&memo=" + QUrl::toPercentEncoding(memoURI); + + // If the disclosed address in the memo doesn't have a balance, it will automatically fallback to the default + // sapling address + this->payhushURI(sendURI, req.lblAddressInfo->text()); + + + + } - // Setup the Label completer for the Address - - - d.exec(); - } + diff --git a/src/contactmodel.h b/src/contactmodel.h index 095fe99..f361ceb 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -16,6 +16,7 @@ class ContactModel ContactModel() {} void renderContactList(QListView* view); + }; #endif \ No newline at end of file diff --git a/src/hushrequest.ui b/src/hushrequest.ui index fb923db..d0b0ca7 100644 --- a/src/hushrequest.ui +++ b/src/hushrequest.ui @@ -1,72 +1,156 @@ - - - - - Dialog - - + + + hushrequest + + 0 0 - 400 - 300 + 663 + 529 - + Dialog - - - - 30 - 240 - 341 - 32 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - + + + + + TextLabel + + + Qt::AlignCenter + + + + + + + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. + + + true + + + + + + + Request From + + + + + + + Qt::Horizontal + + + + 541 + 20 + + + + + + + + zaddr + + + + + + + Amount in + + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + Amount + + + + + + + Amount USD + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + Memo + + + + + + + 0 / 512 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + + My Address + + + + + + + The recipient will see this address in the "to" field when they pay your request. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + - + + + MemoEdit + QPlainTextEdit +
memoedit.h
+
+
- - - buttonBox - accepted() - Dialog - accept() - - - 248 - 254 - - - 157 - 274 - - - - - buttonBox - rejected() - Dialog - reject() - - - 316 - 260 - - - 286 - 274 - - - - +
- diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 24f9b7c..cad3ca9 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1338,9 +1338,6 @@ void MainWindow::setupchatTab() { ui->memoTxtChat->setTextColor("Black"); } - - - QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChat); QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); QObject::connect(ui->pushContact, &QPushButton::clicked, this , &MainWindow::renderContactRequest); @@ -1355,17 +1352,13 @@ void MainWindow::setupchatTab() { for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) if (label_contact == p.getName()) { - // ui->ContactZaddr->setText(p.getPartnerAddress()); - // ui->MyZaddr->setText(p.getMyAddress()); - ui->contactNameMemo->setText(p.getName()); - // ui->memoTxtChat->clear(); - - rpc->refresh(true); - // updateChat(); + ui->contactNameMemo->setText(p.getName()); + rpc->refresh(true); + } }); - + QMenu* contextMenu; QAction* requestAction; QAction* editAction; @@ -1382,9 +1375,42 @@ void MainWindow::setupchatTab() { ui->listContactWidget->addAction(HushAction); ui->listContactWidget->addAction(requestHushAction); QObject::connect(requestHushAction, &QAction::triggered, [=]() { + QModelIndex index = ui->listContactWidget->currentIndex(); + QString label_contact = index.data(Qt::DisplayRole).toString(); + + for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) + if (label_contact == p.getName()) { + ui->contactNameMemo->setText(p.getName()); + rpc->refresh(true); + + } + MainWindow::showRequesthush(); }); + QObject::connect(editAction, &QAction::triggered, [=]() { + QModelIndex index = ui->listContactWidget->currentIndex(); + QString label_contact = index.data(Qt::DisplayRole).toString(); + + for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) + if (label_contact == p.getName()) { + + + QString label1 = p.getName(); + QString addr = p.getPartnerAddress(); + QString myzaddr = p.getMyAddress(); + QString cid = p.getCid(); + QString avatar = p.getAvatar(); + + + AddressBook::getInstance()->removeAddressLabel(label1, addr, myzaddr, cid,avatar); + // QList labels = AddressBook::getInstance()->getAllAddressLabels(); + rpc->refreshContacts( + ui->listContactWidget); + rpc->refresh(true); + } + }); + ui->memoTxtChat->setLenDisplayLabelChat(ui->memoSizeChat); } diff --git a/src/requestdialog.ui b/src/requestdialog.ui index 952f780..e52c475 100644 --- a/src/requestdialog.ui +++ b/src/requestdialog.ui @@ -14,37 +14,10 @@ Payment Request
- - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - AddressBook - - - - - - - - - Qt::Horizontal + + + + @@ -55,171 +28,198 @@ - - + + - My Address + The recipient will see this address in the "to" field when they pay your request. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - color: red; - - - + + + + + 0 + 0 + - - + + - Amount in + TextLabel + + + Qt::AlignCenter - - + + + + + - - - - Qt::Horizontal + + + + color: red; - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + - - + + - + Memo - - - - - 0 - 0 - + + + + Qt::Vertical - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 20 + 40 + - - z address + + + + + + 0 / 512 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - + + Qt::Horizontal - - - - - 0 - 0 - + + + + Amount USD - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - Amount - - - + + Qt::Horizontal - - + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + AddressBook + + + + + + + - The recipient will see this address in the "to" field when they pay your request. + Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + true - - - - 0 / 512 + + + + + 0 + 0 + - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + z address - - + + - Amount USD - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + My Address - - + + - Qt::Vertical - - - - 20 - 40 - + Qt::Horizontal - - - - - - Memo + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - TextLabel - + + - Qt::AlignCenter + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + Amount - - + + - Request payment from a Sapling address. You'll send a hush 0.0001 transaction to the address with a hush payment URI. The memo will be included in the transaction when the address pays you. + Amount in - - true + + + + + + Qt::Horizontal From 50ac16f115235a88579711c34061a5a3b275650c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 27 May 2020 15:38:24 +0200 Subject: [PATCH 165/251] dummy option for subatomic swaps in sdl --- src/mainwindow.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index cad3ca9..de2583e 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1364,16 +1364,19 @@ void MainWindow::setupchatTab() { QAction* editAction; QAction* HushAction; QAction* requestHushAction; + QAction* subatomicAction; contextMenu = new QMenu(ui->listContactWidget); - requestAction = new QAction("Send a contact request",contextMenu); + requestAction = new QAction("Send a contact request - coming soon",contextMenu); editAction = new QAction("Delete this contact",contextMenu); - HushAction = new QAction("Send a friend some Hush",contextMenu); - requestHushAction = new QAction("Request some Hush",contextMenu); + HushAction = new QAction("Send a friend some Hush - coming soon",contextMenu); + requestHushAction = new QAction("Request some Hush - coming soon",contextMenu); + subatomicAction = new QAction("Make a subatomic swap with a friend- coming soon",contextMenu); ui->listContactWidget->setContextMenuPolicy(Qt::ActionsContextMenu); ui->listContactWidget->addAction(requestAction); ui->listContactWidget->addAction(editAction); ui->listContactWidget->addAction(HushAction); ui->listContactWidget->addAction(requestHushAction); + ui->listContactWidget->addAction(subatomicAction); QObject::connect(requestHushAction, &QAction::triggered, [=]() { QModelIndex index = ui->listContactWidget->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); From f57dc2c5ad36ab609ffcd7b399a0b3bc70278050 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 27 May 2020 17:46:52 +0200 Subject: [PATCH 166/251] push lock.png --- res/lock_orange.png | Bin 0 -> 929 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 res/lock_orange.png diff --git a/res/lock_orange.png b/res/lock_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..11a5c55fc5a65456a87766f9f43793e93f20a230 GIT binary patch literal 929 zcmV;S177@zP)EX>4Tx04R}tkv&MmKpe$iQ%j3f9GXGJAwzYtAS&XhRVYG*P%E_RU_SZ@4|zbb@Z5yBv1;1Q7&%a{|zGt~4AUmwAfDc| z4aWP#yi%4_;&b9LlP*a7$aLA`H^wEGIhM(r*~~mKPb`$WSngt_Y-+?)#Bo*ADWA)E ztTNtWtX1nu`=0ED(Sp9R%ygQ=NMR965FtQD9TikzBSEW9iiHgACw=@wu3sdVOs)zP zax9<*4U+2z`-9)zTE)o;FDaS?LNAW0S*p< z(Gq2^`@B2S-P^xs+Wq|iD(Z5Iz6|rv00006VoOIv0RI600RN!9r;`8x010qNS#tmY z4c7nw4c7reD4Tcy000McNliruIjYZgv7Ps2nAlN9_BmogY6YVULBI*4vEVWcL zVOPyqcz3zGNg$^=Q@r!e%4a-h>3X^$A#msNj+)7FGM9+
u`Dxf3m)wB5@JU~A=M(6N9o+O7-tqv>)FToS^%s<}*`Oc|CbTo`shAm<|7#JQ!Df&l^`YhiOT*fZ7&zb!?@)1QP!M?tGsqn_I}<00000NkvXXu0mjf DpzWW* literal 0 HcmV?d00001 From cfbcc43b14eb1a21c02853d4fbf237efa9f06eff Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 27 May 2020 21:42:39 +0200 Subject: [PATCH 167/251] render only new requests --- src/Chat/Chat.cpp | 1 - src/DataStore/ChatDataStore.cpp | 9 +++--- src/FileSystem/FileSystem.cpp | 6 ++-- src/FileSystem/FileSystem.h | 4 ++- src/Model/ChatItem.cpp | 17 +++++++++-- src/Model/ChatItem.h | 7 +++-- src/Model/ContactItem.cpp | 7 ++++- src/Model/ContactItem.h | 5 +++- src/addressbook.cpp | 3 ++ src/addressbook.h | 9 +++++- src/chatmodel.cpp | 35 +++++++++++++++++++---- src/chatmodel.h | 6 +++- src/contactmodel.h | 3 +- src/controller.cpp | 38 ++++++++++++++++++++----- src/controller.h | 3 ++ src/mainwindow.cpp | 7 +---- src/requestContactDialog.ui | 50 +++++++++++++++++++++------------ src/sendtab.cpp | 2 +- 18 files changed, 157 insertions(+), 55 deletions(-) diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index c0482b8..cdc3814 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -55,7 +55,6 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) { for (auto &c : DataStore::getChatDataStore()->getAllMemos()) { - //////Render only Memos for selected contacts. Do not render empty Memos //// Render only memos where cid=cid if ( (p.getName() == ui->contactNameMemo->text().trimmed()) && diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 21ddef9..7bb3840 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -3,6 +3,8 @@ #include "ChatDataStore.h" #include "addressbook.h" +#include "chatmodel.h" + ChatDataStore* ChatDataStore::getInstance() { @@ -53,15 +55,14 @@ std::map ChatDataStore::getAllNewContactRequests() { std::map filteredItems; - for(auto &c: this->data) + for(auto &c: this->data) { if ( (c.second.isOutgoing() == false) && (c.second.getType() == "Cont") && - (c.second.getContact() == "") - - + (c.second.isContact() == false) ) + { filteredItems[c.first] = c.second; } diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index 2a60de1..208bfaa 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -1,8 +1,11 @@ -#include "FileSystem.h" +// Copyright 2019-2020 The Hush developers +// GPLv3 +#include "FileSystem.h" #include #include #include "../Crypto/passwd.h" +#include "addressbook.h" FileSystem::FileSystem() { @@ -99,7 +102,6 @@ QList FileSystem::readContactsOldFormat(QString file) qDebug() << "Detected old addressbook format"; QList> stuff; in >> stuff; - //qDebug() << "Stuff: " << stuff; for (int i=0; i < stuff.size(); i++) { ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); diff --git a/src/FileSystem/FileSystem.h b/src/FileSystem/FileSystem.h index 30dd5fc..34fc5fc 100644 --- a/src/FileSystem/FileSystem.h +++ b/src/FileSystem/FileSystem.h @@ -1,3 +1,5 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 #ifndef FILESYSTEM_H #define FILESYSTEM_H @@ -13,7 +15,7 @@ class FileSystem static bool instanced; static FileSystem* instance; FileSystem(); - + public: static FileSystem* getInstance(); QList readContacts(QString file); diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index 31ff448..6a30f56 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -5,7 +5,7 @@ ChatItem::ChatItem() {} -ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool notarize) +ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool notarize, bool iscontact) { _timestamp = timestamp; _address = address; @@ -18,9 +18,10 @@ ChatItem::ChatItem(long timestamp, QString address, QString contact, QString mem _confirmations = confirmations; _outgoing = false; _notarize = notarize; + _iscontact = iscontact; } -ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing, bool notarize) +ChatItem::ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing, bool notarize, bool iscontact) { _timestamp = timestamp; _address = address; @@ -33,6 +34,8 @@ ChatItem::ChatItem(long timestamp, QString address, QString contact, QString mem _confirmations = confirmations; _outgoing = outgoing; _notarize = notarize; + _iscontact = iscontact; + } long ChatItem::getTimestamp() @@ -88,6 +91,11 @@ bool ChatItem::isNotarized() return _notarize; } +bool ChatItem::isContact() +{ + return _iscontact; +} + void ChatItem::setTimestamp(long timestamp) { _timestamp = timestamp; @@ -140,6 +148,11 @@ void ChatItem::notarized() _notarize = false; } +void ChatItem::contact(bool iscontact) +{ + _iscontact = iscontact; +} + QString ChatItem::toChatLine() { diff --git a/src/Model/ChatItem.h b/src/Model/ChatItem.h index 11e3b65..900c994 100644 --- a/src/Model/ChatItem.h +++ b/src/Model/ChatItem.h @@ -21,11 +21,12 @@ class ChatItem int _confirmations; bool _outgoing = false; bool _notarize = false; + bool _iscontact = false; public: ChatItem(); - ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool notarize); - ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing, bool notarize); + ChatItem(long timestamp, QString address, QString contact, QString memo,QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool notarize, bool iscontact); + ChatItem(long timestamp, QString address, QString contact, QString memo, QString requestZaddr, QString type, QString cid, QString txid, int confirmations, bool outgoing, bool notarize, bool iscontact); long getTimestamp(); QString getAddress(); QString getContact(); @@ -38,6 +39,7 @@ class ChatItem bool isOutgoing(); bool isdouble(); bool isNotarized(); + bool isContact(); void setTimestamp(long timestamp); void setAddress(QString address); void setContact(QString contact); @@ -49,6 +51,7 @@ class ChatItem void setConfirmations(int confirmations); void toggleOutgo(); void notarized(); + void contact(bool iscontact); QString toChatLine(); json toJson(); ~ChatItem(); diff --git a/src/Model/ContactItem.cpp b/src/Model/ContactItem.cpp index d38c1c5..d2321bd 100644 --- a/src/Model/ContactItem.cpp +++ b/src/Model/ContactItem.cpp @@ -1,4 +1,9 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 #include "ContactItem.h" +#include "chatmodel.h" +#include "Model/ChatItem.h" +#include "controller.h" ContactItem::ContactItem() {} @@ -8,7 +13,7 @@ ContactItem::ContactItem(QString name, QString partnerAddress, QString myAddress _myAddress = myAddress; _partnerAddress = partnerAddress; _cid = cid; - _avatar = avatar; + _avatar = avatar; } QString ContactItem::getName() const diff --git a/src/Model/ContactItem.h b/src/Model/ContactItem.h index f066740..7eda17d 100644 --- a/src/Model/ContactItem.h +++ b/src/Model/ContactItem.h @@ -1,8 +1,11 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 #ifndef CONTACTITEM_H #define CONTACTITEM_H #include #include +#include "mainwindow.h" using json = nlohmann::json; class ContactItem @@ -13,7 +16,7 @@ private: QString _name; QString _cid; QString _avatar; - + public: ContactItem(); ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid, QString avatar); diff --git a/src/addressbook.cpp b/src/addressbook.cpp index f51e279..808ca40 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -40,7 +40,10 @@ void AddressBookModel::loadData() QSettings().value( "addresstablegeometry" ).toByteArray() + + ); + } void AddressBookModel::addNewLabel(QString label, QString addr, QString myAddr, QString cid, QString avatar) diff --git a/src/addressbook.h b/src/addressbook.h index 8e32fe8..fbd361b 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -23,6 +23,7 @@ public: int columnCount(const QModelIndex &parent) const; QVariant data(const QModelIndex &index, int role) const; QVariant headerData(int section, Qt::Orientation orientation, int role) const; + private: @@ -32,7 +33,8 @@ private: QTableView* parent; //QList> labels; QList labels; - QStringList headers; + QStringList headers; + }; class AddressBook { @@ -63,6 +65,10 @@ public: QString get_avatar_name(); void set_avatar_name(QString avatar_name); + + + + @@ -76,6 +82,7 @@ private: QString writeableFile(); QList allLabels; + static AddressBook* instance; }; diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index b0acb38..7bc1688 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -71,6 +71,26 @@ void ChatModel::showMessages() } } + +void ChatModel::addAddressbylabel(QString address, QString label) +{ + this->AddressbyLabelMap[address] = label; +} + +QString ChatModel::Addressbylabel(QString address) +{ + for(auto& pair : this->AddressbyLabelMap) + { + + } + + if(this->AddressbyLabelMap.count(address) > 0) + { + return this->AddressbyLabelMap[address]; + } + + return QString("0xdeadbeef"); +} void MainWindow::renderContactRequest(){ @@ -89,17 +109,22 @@ void MainWindow::renderContactRequest(){ contactRequest->appendRow(Items); requestContact.requestContact->setModel(contactRequest); requestContact.requestContact->show(); + requestContact.zaddrnew->setVisible(false); + requestContact.zaddrnew->setText(c.second.getAddress()); } QStandardItemModel* contactRequestOld = new QStandardItemModel(); + for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) for (auto &c : DataStore::getChatDataStore()->getAllOldContactRequests()) { if (p.getPartnerAddress() == c.second.getRequestZaddr()) { - QStandardItem* Items = new QStandardItem(c.second.getAddress()); + QStandardItem* Items = new QStandardItem(p.getName()); contactRequestOld->appendRow(Items); requestContact.requestContactOld->setModel(contactRequestOld); + requestContact.zaddrold->setVisible(false); + requestContact.zaddrold->setText(c.second.getAddress()); requestContact.requestContactOld->show(); }else{} } @@ -135,11 +160,11 @@ void MainWindow::renderContactRequest(){ QObject::connect(requestContact.requestContactOld, &QTableView::clicked, [&] () { for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){ - QModelIndex index = requestContact.requestContactOld->currentIndex(); - QString label_contactold = index.data(Qt::DisplayRole).toString(); + /* QModelIndex index = requestContact.requestContactOld->currentIndex(); + QString label_contactold = index.data(Qt::DisplayRole).toString();*/ QStandardItemModel* contactMemo = new QStandardItemModel(); - if ((c.second.isOutgoing() == false) && (label_contactold == c.second.getAddress()) && (c.second.getType() != "Cont")) + if ((c.second.isOutgoing() == false) && (requestContact.zaddrold->text() == c.second.getAddress()) && (c.second.getType() != "Cont")) { @@ -809,7 +834,7 @@ QString MainWindow::doSendRequestTxValidations(Tx tx) { auto available = rpc->getModel()->getAvailableBalance(); if (available < total) { - return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 5 confirmations before they can be spent") + return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 1 confirmations before they can be spent") .arg(available.toDecimalhushString(), total.toDecimalhushString()); } diff --git a/src/chatmodel.h b/src/chatmodel.h index 7ca5a0f..1768b9f 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -20,6 +20,7 @@ #include "Chat/Helper/ChatDelegator.h" #include "Chat/Helper/ChatIDGenerator.h" + namespace Ui { class MainWindow; } @@ -34,6 +35,7 @@ class ChatModel std::map requestZaddrMap; std::map confirmationsMap; std::map> sendrequestMap; + std::map AddressbyLabelMap; public: ChatModel() {}; @@ -46,6 +48,7 @@ class ChatModel void triggerRequest(); void showMessages(); void clear(); + void addAddressbylabel(QString addr, QString label); void addMessage(ChatItem item); void addMessage(QString timestamp, ChatItem item); void addCid(QString tx, QString cid); @@ -55,10 +58,11 @@ class ChatModel QString getCidByTx(QString tx); QString getrequestZaddrByTx(QString tx); QString getConfirmationByTx(QString tx); + QString Addressbylabel(QString addr); void killCidCache(); void killConfirmationCache(); void killrequestZaddrCache(); - + }; #endif \ No newline at end of file diff --git a/src/contactmodel.h b/src/contactmodel.h index f361ceb..5f79c47 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -15,8 +15,7 @@ class ContactModel ContactModel() {} void renderContactList(QListView* view); - - + }; #endif \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 10b41bb..83ee2e4 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -935,7 +935,8 @@ void Controller::refreshTransactions() { txid, confirmations, true, - isNotarized + isNotarized, + false ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); @@ -991,6 +992,28 @@ void Controller::refreshTransactions() { QString cid; int position; QString requestZaddr; + bool isContact; + + + for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) + { + + if (p.getPartnerAddress() == requestZaddr) + { + + chatModel->addAddressbylabel(address, requestZaddr); + } else{} + + + if (chatModel->Addressbylabel(address) != QString("0xdeadbeef")){ + + isContact = true; + + }else{ + + isContact = false; + + } if (!it["memo"].is_null()) { @@ -1005,7 +1028,8 @@ void Controller::refreshTransactions() { chatModel->addCid(txid, cid); chatModel->addrequestZaddr(txid, requestZaddr); - } + } + if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ @@ -1045,16 +1069,16 @@ void Controller::refreshTransactions() { txid, confirmations, false, - isNotarized + isNotarized, + isContact ); - qDebug()<< "Notarized : " << isNotarized; - + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } } - + } } - qDebug()<< getLag(); + qDebug()<<"get Lag" << getLag(); // Calculate the total unspent amount that's pending. This will need to be // shown in the UI so the user can keep track of pending funds diff --git a/src/controller.h b/src/controller.h index f35d636..9fd445b 100644 --- a/src/controller.h +++ b/src/controller.h @@ -1,3 +1,6 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 + #ifndef RPCCLIENT_H #define RPCCLIENT_H diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index de2583e..7db28cf 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1358,7 +1358,6 @@ void MainWindow::setupchatTab() { } }); - QMenu* contextMenu; QAction* requestAction; QAction* editAction; @@ -1397,7 +1396,6 @@ void MainWindow::setupchatTab() { for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) if (label_contact == p.getName()) { - QString label1 = p.getName(); QString addr = p.getPartnerAddress(); @@ -1407,7 +1405,6 @@ void MainWindow::setupchatTab() { AddressBook::getInstance()->removeAddressLabel(label1, addr, myzaddr, cid,avatar); - // QList labels = AddressBook::getInstance()->getAllAddressLabels(); rpc->refreshContacts( ui->listContactWidget); rpc->refresh(true); @@ -1424,13 +1421,11 @@ void MainWindow::updateChat() { rpc->refreshChat(ui->listChat,ui->memoSizeChat); rpc->refresh(true); - - } void MainWindow::updateContacts() { - //rpc->refreshContacts(ui->listContactWidget); + } void MainWindow::addNewZaddr(bool sapling) { diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index 2eb4bc0..242e3ba 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -6,7 +6,7 @@ 0 0 - 812 + 850 495 @@ -27,7 +27,7 @@ - + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> @@ -97,12 +97,12 @@ - + 256 - 192 + 190 @@ -119,14 +119,21 @@ - + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + + + Request from : - + @@ -142,14 +149,14 @@ - + My Zaddr : - + @@ -165,24 +172,24 @@ - + Give a Nickname: - + - + <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> - + @@ -328,7 +335,7 @@ - + @@ -353,7 +360,7 @@ - + @@ -369,17 +376,24 @@ - + - - + + - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> + + + + + + + + diff --git a/src/sendtab.cpp b/src/sendtab.cpp index de61cf2..ce04a54 100644 --- a/src/sendtab.cpp +++ b/src/sendtab.cpp @@ -937,7 +937,7 @@ QString MainWindow::doSendTxValidations(Tx tx) { auto available = rpc->getModel()->getAvailableBalance(); if (available < total) { - return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 5 confirmations before they can be spent") + return tr("Not enough available funds to send this transaction\n\nHave: %1\nNeed: %2\n\nNote: Funds need 1 confirmations before they can be spent") .arg(available.toDecimalhushString(), total.toDecimalhushString()); } From 8e59d777c2553bedb50bc75f173936f8e7ae7cfb Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 27 May 2020 22:53:41 +0200 Subject: [PATCH 168/251] dont save contact if contactrequest was not succesfull --- src/chatmodel.cpp | 142 ++++++++++++++-------------------------------- 1 file changed, 44 insertions(+), 98 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 7bc1688..5bd28d0 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -114,7 +114,7 @@ void MainWindow::renderContactRequest(){ } QStandardItemModel* contactRequestOld = new QStandardItemModel(); - + for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) for (auto &c : DataStore::getChatDataStore()->getAllOldContactRequests()) { @@ -380,16 +380,12 @@ void MainWindow::sendChat() { // Create a Tx from the values on the send tab. Note that this Tx object // might not be valid yet. - - // Memos can only be used with zAddrs. So check that first - // for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + QString Name = ui->contactNameMemo->text(); int sizename = Name.size(); qDebug()<< sizename; if (ui->contactNameMemo->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { - // auto addr = ""; - // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"), QMessageBox::Ok, this); @@ -404,8 +400,6 @@ void MainWindow::sendChat() { if (size > max){ - // auto addr = ""; - // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { QMessageBox msg(QMessageBox::Critical, tr("Your Message is too long"), tr("You can only write messages with 512 character maximum \n") + tr("\n Please reduce your message to 512 character."), QMessageBox::Ok, this); @@ -578,96 +572,7 @@ void::MainWindow::addContact() void MainWindow::saveandsendContact() { this->ContactRequest(); - QString addr = contactRequest.getReceiverAddress(); - QString newLabel = contactRequest.getLabel(); - QString myAddr = contactRequest.getSenderAddress(); - QString cid = contactRequest.getCid(); - QString avatar = contactRequest.getAvatar(); - contactRequest.clear(); - if (addr.isEmpty() || newLabel.isEmpty()) - { - QMessageBox::critical( - this, - QObject::tr("Address or Label Error"), - QObject::tr("Address or Label cannot be empty"), - QMessageBox::Ok - ); - return; - } - - // Test if address is valid. - if (!Settings::isValidAddress(addr)) - { - QMessageBox::critical( - this, - QObject::tr("Address Format Error"), - QObject::tr("%1 doesn't seem to be a valid hush address.").arg(addr), - QMessageBox::Ok - ); - return; - } - - ///////Todo: Test if label allready exist! - - ////// Success, so show it - AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); - QMessageBox::information( - this, - QObject::tr("Added Contact"), - QObject::tr("successfully added your new contact").arg(newLabel), - QMessageBox::Ok - ); - return; - - - -} - -void MainWindow::saveContact() -{ - - QString addr = contactRequest.getReceiverAddress(); - QString newLabel = contactRequest.getLabel(); - QString myAddr = contactRequest.getSenderAddress(); - QString cid = contactRequest.getCid(); - QString avatar = contactRequest.getAvatar(); - - if (addr.isEmpty() || newLabel.isEmpty()) - { - QMessageBox::critical( - this, - QObject::tr("Address or Label Error"), - QObject::tr("Address or Label cannot be empty"), - QMessageBox::Ok - ); - return; - } - - // Test if address is valid. - if (!Settings::isValidAddress(addr)) - { - QMessageBox::critical( - this, - QObject::tr("Address Format Error"), - QObject::tr("%1 doesn't seem to be a valid hush address.").arg(addr), - QMessageBox::Ok - ); - return; - } - - ///////Todo: Test if label allready exist! - - ////// Success, so show it - AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); - QMessageBox::information( - this, - QObject::tr("Added Contact"), - QObject::tr("successfully added your new contact").arg(newLabel), - QMessageBox::Ok - ); - return; - } // Create a Tx for a contact Request @@ -785,7 +690,46 @@ void MainWindow::ContactRequest() { delete d; }); - + QString addr = contactRequest.getReceiverAddress(); + QString newLabel = contactRequest.getLabel(); + QString myAddr = contactRequest.getSenderAddress(); + QString cid = contactRequest.getCid(); + QString avatar = contactRequest.getAvatar(); + + if (addr.isEmpty() || newLabel.isEmpty()) + { + QMessageBox::critical( + this, + QObject::tr("Address or Label Error"), + QObject::tr("Address or Label cannot be empty"), + QMessageBox::Ok + ); + return; + } + + // Test if address is valid. + if (!Settings::isValidAddress(addr)) + { + QMessageBox::critical( + this, + QObject::tr("Address Format Error"), + QObject::tr("%1 doesn't seem to be a valid hush address.").arg(addr), + QMessageBox::Ok + ); + return; + } + + ///////Todo: Test if label allready exist! + + ////// Success, so show it + AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); + QMessageBox::information( + this, + QObject::tr("Added Contact"), + QObject::tr("successfully added your new contact").arg(newLabel), + QMessageBox::Ok + ); + return; // Force a UI update so we get the unconfirmed Tx // rpc->refresh(true); ui->memoTxtChat->clear(); @@ -840,3 +784,5 @@ QString MainWindow::doSendRequestTxValidations(Tx tx) { return ""; } + + From a2e68c9cc23bd1fdfd810a2efa4db438433aab2c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 28 May 2020 00:23:48 +0200 Subject: [PATCH 169/251] add new logo for unknown sender --- application.qrc | 6 ++---- res/getAddrBlack.png | Bin 20966 -> 20691 bytes res/getAddrWhite.png | Bin 12887 -> 12615 bytes res/unknownBlack.png | Bin 0 -> 21025 bytes res/unknownWhite.png | Bin 0 -> 12617 bytes res/unlocked.svg | 7 ------- res/upload.png | Bin 1369 -> 0 bytes res/upload.svg | 8 -------- src/chatmodel.cpp | 25 +++++++++++++++++++++++-- 9 files changed, 25 insertions(+), 21 deletions(-) create mode 100644 res/unknownBlack.png create mode 100644 res/unknownWhite.png delete mode 100644 res/unlocked.svg delete mode 100644 res/upload.png delete mode 100644 res/upload.svg diff --git a/application.qrc b/application.qrc index e2da53c..bb3c02c 100644 --- a/application.qrc +++ b/application.qrc @@ -33,11 +33,7 @@ res/add_contact.png res/notification.png res/rahmen-message.png - res/upload.png - res/upload.svg res/message-icon.svg - res/lock.svg - res/lock.png res/lock_green.png res/lock_orange.png res/unlocked.png @@ -49,6 +45,8 @@ res/sendBlack.png res/requestBlack.png res/addContactBlack.png + res/unknownBlack.png + res/unknownWhite.png diff --git a/res/getAddrBlack.png b/res/getAddrBlack.png index 2ede956ed1f29f52bffb24c124c26dda23c479ab..d90c9a522937a6c0270e9078bfb6fba62846ceed 100644 GIT binary patch literal 20691 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%0Ag)8KZtd zO#8)8K{0wL5akCbq2;1*1gOPi;#9{-5t6ed&;levd+HhIOOg>wE~*->K5AL1x{n*> z9IvEJ5{=RCo@7+-_B~rW#g{@7s~<({-1?blZ^)zJUD}+QRAf1!`{5-&_l)j0{o-_)?HI^ESw~TItWy$^k1v^UhIHN_pL8K9;iH?B*_)^ zyIi>l$;`5>>dZHAbg$iJ9j12q#4C{=RF7`oji<6{V7*?+Zr%+ve6awoh&uVxJE`8f zd&)&kBxfuf*Q0+)zyA2}RP38W%#M-_xQvztk^XZvjnRJa#vfLl)WoWe@Jjn}GV~Yg z?zTt65zpx;qs+MZ8C*hHl|AM!aC~+{3uf#htrtt;&3CfCd5h&f*FKlk^HT@jOtWqn z@1|`Xnp(-t^c*!o~G~A(ya|X9PU;d zeVu?zW8|I5(!R6Y-xI)f_Oy$Cn!Uq_q9=jd$jcoBIaErA4(Ih4Y-O zPcPbAYz9AiV3G3lQy#hstGwH!b}4049O|n*@LUEiJ)H*~-uI?(=Mrfmev47vdHuJ% z+iSLPA#s@Je@^XtE4tagrob&SW!T@q6r*~JV(NH4VXe4o5BVlZ5=@96(ru(pB$Umt z|I}yOPk&*^ZwMCg)0Ty@RoL6C0{g8to57bpU9J4~I>ifeY#ppER@c-h;$Rd1H4; z$U(0Qn`q#oelaI2JO`zp!{i3@>rPvhElJJIAzW_N@1P(o2DXJ2gkICw23(lh2ZmrF z5!3uB&+6PV|Mq#UF*b^AHI?~EhtCI||PY~eAWJJ|WI zl}&fO<2WD$cQ~=qdY$IJ(Pq`mpi~ACpj5Qf%#F} zvYL=ib$6Y#`68yP_(av%buLGDT`}!nYEt3T*bLD>{sgxqNiri(QJMB8QUHey)DFui zjGcruZsaSq^7(9fIr2#Ja2Lq<9mG|sIRmE>1+WEM8$F147M;NOfpQ%=moqb=q=A2P z`BsbVL>u8RtKBnHs zg;g92qfKXSHnI2*jNhNyR;0n0^*KM;c|W()O5na#GMK7hW32j{Q{O^zigomf?uvV- zKV!o$-0U})#V6T1R)0vsQQW|8&zzW=pL9+ct7XS3#VInM1fNII@eL6B!W$I5C!Rz= z&HYvB%&*>B+*q%elA}uT?@Ffi72%_fgbQnZf^gGxe)VK1053ubdP+2+G0UBDAxl@g ziNUB(I;j*#l+Gyp3(Fp$gsOV3S1JcS^OAiuGvNwC=9 z`uju?T<~AwxBJmcN@G=MYE#v%-b1b8+IK2zMZK=o9tF3dN#?hV=-(XQ1WkL{p?`UQ zXDso7)_)m4yh#Qf&I}^?^B9+fzy`1yeRoZ7M9oF(r`KJB@&RW%-y`|PaJ?Q~;(I(^ zIt$oaAg(5_Pqxvs43$ciZ}TS#@nvZ;)tE01%%fOY`$uuT?>HG_r=Uh>7CEc)O?F=1 zjb+dpA5ziQQ#R`Wmt!0|Cw;j>8$?Szkmx;)--#|vsxjDD^N3w~1_M=aG$#)zpC5>R zt`N6LeT2n_u2n5|nxc+4Hp#j))vfvc=}PeTar#?LC~$Xu)+D@qY6}xHAdsM2(M&rD~O`*;SBoq`Fkr9(J!jM2~g; zJeIo?e4un1XT459v z5(u2%7;UJQe&`a_NEbfE0|J&>RDRyjR!n*FFP*j1;H?wPHNj`R#iZ~IUz3yG9S_W!zexn4vj_MvW#O(LP)`h0~#C|P;ahaTYSmYuS~hdb&e1__hK zzNzO;B|!gbRK|hA=_WXt#S5i@rd#!Yi3(?nZ$tCJXZ#u$FGLW8oM0u4vUAppN-E3_x zG%_P;lQ(X27hC^R6-um_Uo)-wb^3IC1LY-Li7%^zR>{h!X~0oPwdAH);ocFHjf+0x z>NV$2&cn-`rAyPNCl?!<)(A$$z#}IYhwoe|l?CfOQzWHZpGc=TH2NK%;7Wq>u^PE+ z%+Yl`&PvJE%~dYOfJHR#5fsUk1Ihu~^**?5;=^V1AjcetIjcE|fv;2V@oM8Jk3ZoE z`*36te_Kn0K<2%-$>P3KCg~7B18L|n$vtRX{LH};YKJM$#{gP+wi)hhhfdkh!>Qx` zyzSYji+&Ycs}5f2P;tDU<2?;2@Q%j-xGo4C)r>Z}P801+?K0&N<(rj1G<4rk|C8ff zpumnN$nZc8RsCkF#qQ-{IjQW6g#N(6cUsz4CXT`*& zzR$51gAO@1wk>@ObhR600zpePxeE35i=qso>G)B@uICSBo`o*Ax44U6=Iz%sx;qz$ z{F?*P153Vu=LO#F$HR8@i}vm%?@%;5wx=~#g;svJAojvHzZ*s><(c%mmm}GXm90YT zY3}?_SpLbjXa3joU29(3OLccXRapuPI#;ZtSS#EtP@ktl3AoIiz>T${b!-!OKwW1w zAp?FQ$%-E~wqtuv`{cfJ4Oaht?CB%x6-MjtZ6o==88%YC@Vi%fY6KxY9G$0$i~2r) z3iavQULNIfqmwZSDsZF*YroduL2j~#n@}_exx{r)PCf-U?HNo5=zDV%riK4(Tj7N| z6Cj-Ws~0vH8g((M4BRyI4nVQOEf`(5L;-XyrhxvYh+xLx&GgiO#(DC?)4_@53d+D=TbS?`#T%rB@Rmetg7!ye%HAV4{f z^|(Z5i$9CDMvr$kdE`b__-zR%U(o={zfUL$e!b7N1*GkG4WM5!u%c2q_}~aZshb$e zh8xwP=&rviI&20NNNK_mSD+U=+O}raKPR9 zfbe^=wL1}q*(z5Tc+lrPKlHu{1tTkMarn)OVb+8;RU2Fsf==_GAQN{EArv~i@KK@qkT)d6DqSUy$4L(7_z~PKNsi@> zm`kO{#-c;-`=Qs85PdA{3rZ+jfye4zFK60`~ZRyJ0UkieZAGr zOdopI2J7BscZO$4cy5j-D?-`rxfy{HZ!d~NstqfW6KVIH45#y@+NC@<^uh_6M+ne{ z*Cr(UruDQV$aUk^^lNQ4X)Dw)Nb3#Roro|}^6d(|G3f>QQV_{0)bZH^(RT7ou#`v~ z=qaE8Qq?BIPuW=EM^5&(1v6B!jz$)KIorBugz>}oW%v(+Vy5(r4r%xDf}3_7qd{1l zE@`Vhp;c&b8svjP7O=EnHmMBdTarX1I-t7?+HJ$`c}Z_vLfqevo%yoBjGipAQU@vK zB*zDURPQ}R?-%JQJ-9qR9d7YV9${2pcUU3RlI>*}J}tIm^x&gSKVbH^uQnUUW<%!! zf)dzzy7tQ|X!0zK?ExX|q{x@1_u23I!>10_f<(ab3>I{&pS!BPNR~Kl2AB#YCLQf`PPyd#qH!8@wKo9=5>v@n+e^2QCRsrHGlYUnQR<< z?>Lh|Wslc}qW7qzqaxupBs@W-a~ot3akQM%-NTW`TNL8yQnQHWN(k;G$ZpMpg4qyM zbn)>PH6FUR7QO$aU{S4&-!mBPjo+8pdSU9J*PS?Lbvo+2_@x8&FQ8b+=Xq;>d7(oi zEJM#MaUSXz^_sqEJ@Af_mZ$dS2?_@W;0>Z5hxV(AN8Em^c1_@Jp&CJ9MEiy~m5`&- zpRl1vs(`@g80q0DQs|KwWI@1%+FC%nS{m*njfZ*=uJ%a3cqm%xnORZf?lcHgDSoha zB$lh_o~W)7@^lWO z{RgX2wlaqhghxnnN^Ekk+(ZOjw&>pp1mB&kRd;n0G2;r>shQTcmR4IEdUK}V5d^?! z$z4V%wb5J)SH+t{d6+7h(zz~@l`CINq=BV`n{PuH<5|y~1e!BUd>`e!tG#5Oy}xke%}Km4l93@XRkuo_?f_7>5oi!i1#E+XIf`oYtuE22~f?q0HmomVSZnHR20b zlL8-qa&Bj-C4DrU--Z7Juw39$U(Lt}q_wX|mFsV9Y)+=T==tq!D;#%yg#GfP3nhgQ z@HO}VI{Gz%v<@Z8{yD(&+$) zIu=G#HYm{2S31YeXvb7~)7l2N(7Q%lnRQ1<&(6MMR8|35iD=AGZ_%^>4VuRc$w(k6#jSw7^TrG#0te%qa*JcBCDkiesf~~TT?{V& z9Jw%yc03?7dT1!Se1S5j1b$wwhqEw;eo_RU3aB-Z{7sI0Zgm=g6N|I8AxvLJpatZgY)24~H{r~=4Y>~AB*6H+qpiH%)x3QhwN!~*!dAXXw zp%#V7jAE?+*MuXXwb;(VdM>-v;_AgPIj$xn!aOP;hj=j(-1-6H>}qv*WC%*lYEl45 zMn_DqX&INAkX5iRo5yhMes( z)tP+`=YZg@UAXI%Y`$*`pP}XroOP60N~_v8pYL0PxWlg}6$QL39w+RdJp?@1qs(Gs zUN$zPBGfHo`$v54`ZTe5K!AnbL-cOz9F*#DHh@KXKDk>)TpBh+wr7IONZ=$U$j#6e ztCXoCVYo=PCkEK8=VoBdI_k=a4YVS||GW=A(V&ZWE zo-?PscL#-ZR)y;|-62=?U;Z^IgL(2ChwSmE==*6-4(^IM;w`bGKy{X=FtXzb|7i=Y*kN@ z)t3OE4gE5XFQsS=qGw}G)(;ej?6hvo`u^KD`tS^M%T4%$7^r1UZxfM|SCO(299cpZ zGP1<*6$Wv1To{`~B9as=D^$}Yz4(lz{Iv~f2vw2ZRV3D?Y|zq#$Zoh*R9~;dxQb%g z2wB-jHfY^Z=SQAP9lBiF$1>6@3>gN3uM^=Xj_<0dd#nU{K96@ z%}(U*j9(L6I=vZz4roDnOB)EESX((2paa?PAZ4T2NuJA{zeL0g^f3LD78*U#1{t4& zNs90pH?GDvhA&%zMAP>W|1_7)&{)!JqG{}MpcZ|k3AF=$`)VEEcbDx{&OCABi%fq1 zCv&)L^ONq^7ACTZl-yBeu~aCSVA~3sGha%A3`q|wBZ6!amcTJ|%;9O7El-e@h|Ub{ z^XBQ(*ybbms4XBc0C2mJ$!xQ>lv(urM!V7_oJb2TI&;Rh^)Wn^8k$!y^MRRxzIP8R z@OH0fY^Cg)WXz-K(>mW#PBCR6c93hY=&`xcX3=`a*|H_Sm4!cM?ifdt=51=Jy}?wx@W_JM__enw|+{`(E#V+e2@Oi*;kZN{1Rzd zN-5_cv&C9u=bK2#C3h$KBwd-!@w4lY@lsu?oIiVto$-vjB#TouzJ_`j!o(4&_Es4! zb!5$y&}(%z25V^-@w%*|Ul!bK>FPJ=FJ%l-;G_Bf?y(VjvbUM~ai?>veFs%;xl`C`FOOyD*bgF@sLCky`pUlksxJ3}Iov zmK#O-5&TolIT*q(BG~#{9d=+3fA-EOgg&3qhf^OeyXb{vzI*a(FbKMJZw3TGq#ubb zw~}+~P0Ca=(i^3zc&%=|rKX?2;(A?0iAArELy&72z25GF{`r*8lfPHqDSlyRUc-{~ zbN;#MHsO&O^$TZ7v`l(0f+*zH&NUP=r#60c(W&{f&5kw=WaJ9m8UOCrE>!dtre8xe z@I9noOJ(+TeP`z(KU!XJxA-hN2`opy0D}E9TH6?#kXZuT*{?as0Eu(3?q*A%VFU|= zA0oPcz!H&|`Tn*_O6PPIL6%bbKVK2pOL2nrxf4ZBvP*(RW>-^y+|tSza1H+)&K7%n zK1@=pV*k(8v`Jm!#+fDm_un7M3q}Tc*~zstJc#`-BG-YaYUpTrl_0<*cEpj2puABWf6l9WIfkoGRVN{B{m^SPUAP#@bXLeiOowF+q zXoa_DV!uE6mugkcG}ZGSjYV#-$5Mt{by)cD#~c1#(S_;XBocqEpT+00(-GDcV-Af8 zk|o(q7Hr-{?`ot)H^#B65Opgv~=ocH@OIKmJ6y=79w`Uw*^ZRG+`her>sGnEa79>i?n#{9$Ivn>; z^OhCe#U0G$OEL)0Tig6)a~jD+&&msLbV&R(sVg}PCy^;XO2~*{o<=`L_SVZ2!++( z4a-gEIh)3BV49sDl|zi#97Y?m6sy|jKVdC%)G*rXH?#)E0hha;l^zRhSl}TQZ)$yG zO^VgQ5!QXrE6mQf${}?CtOtkHF`|b4B}f>3Fu*m2d@*xF$O9i_l{l$U!C2fgqe_u| z-Ef4iE`#%? zWou$YNY!%f4gZ^=VaOEer%{>5dfy5ehQfeK6tYYT947S?YyGb1ZW*uxrx$0F+F1@- zjcr>}Gq;{@dUE}hG)PPy9O;G3Ooogo_B%B4i*?FblQ4}--4$%k7oiuYRCpth%{w{F zWex-&EP#q^F@>sz;23E zs5_=>5BdsE=l@CKhqJO1zvYjy;dwI6C=Oc=s|m&EoL{HW9EH0TTkDgqOs~3fj6Xn( zhDW}8W8#w;4AZjPu>=;%HI>9Q9xQ&!Y_(QaBjLdJ&i$TlvR-hRYJ7Wp#c2kCanH2; zS6>ZjLf^#vJDL6TCp%^1X=vF}>`|BO%tB0QtHPR#|2X z)h7m!s=aPUDwO{)wx#y29PzDq-7STrhWomeQAY^uqGAsEJZbq_PKsXK{&+BsPTFW? z=+~{~adfRM{SYT#jRt7U>VRe6ID(w)a&ti(X6P#ZVbvqwqrixSJ@GqjYl3C!s7SAD$UvQ7AvpKyhJ{*Vp)d_fQd85 z^JHt0O>oR6Eu%+jrrgP-RRv{}kN6W%<_+=m&PkKWh#ixD?RzbAcYznL?Mp2k57~UI)Szy4t9p-8Kk>SS=Y%&d7A8?$2wMi2L_= zx0IKzsRY3}jkVW__*!Q=utK`oOVhmXN*eKeV5_?8QQolCTWMTh<^?GO1Wa6+LC%n~ zsrz%m9(stiw~#f&cR`dD6EDlSlUW~ygqiu72Gf0Vcf;=gxZUiRRD8?tJpi@apux=R zmmh#ubjpHdKYml$k9pOV5$L3)M!nz&hG5wk%HyNoX^8_;+PtX-_$gDFh z@^2Fv22>A!EMwG#dBHAhLT=vwu??k-QL>S`H1fNCF{PbbI@%`3A_6NlP8~~gFw4CT z@o&zFW;=!>d~BkFb=WA#X6DXjBLWK5kzm+0;q3B7cHs&oVA4n#{sC8O zlZRoFAfo1b+b+DS_$tZ+`8mUu7KP+}5?v?&!khgppC#b6#l&-xJQq~b!i=_M zWqJ-C;}n z$w4F@bp;VDvpKV%A(LmOR5qi?*#*4&fg#wtITF#8^E}!UiIMPGq_*`L_}YFMU_MV=)eBa$Tk;a2g|66wb%SUf8j>?%kka|x9R#!94T=^xgCuL-q;(nnx> zEpzUO_~rdzbwcF;#0ig6(F$705KuR36e#0SC@^LJV?L7w?%*6?)jRy=17y>7WXS}x zi7{+uqn(GG0{cmPQ5W%jmd7LqAH zP<;w&Fyb*GNU>=%p!$T)F*+*8`l8rQav_7sp;(!^V&iYepk{#_Q0j5;=r$^+2#JUH zKPRyr&&$WZSNc>I2VAskYu(ja0n#JpX#M?3G(GVQVtzS;#x-ci#8{ zc`;ZOufN|h4Yv8cyahrk9_Ml^LwR{@-BcSdk{6_t7tbQ;6sKe7=kYL51yOVnL@m*h zkO;dxHACc$;I3uTlt;F6fc46aKLgEv++0~)``a<>z>lffw$1XsS%%nQOl3%7+`NUP zG8|aeQo!SU14rJj3EUWiFw{$e?DVeXD#Lz2v6a_ehT@ZW*Cx^rMv0ey;|oX8;Wn=vXL|lQY{2{o6KxXE zwjkAhi0{j3m&8EILeo%%WUb8TxX@;C@P2C|e@WlBeE|*_rJp19E4NyTA(TF5lW2wA z?6YNq_16rLl%##p-1Mbn4s5a5=I`d{*r1pw7tY4_jhYKa)+1={xUDr^;SlDzE}RvN z-D9MF@6nKzC@)a`Rs~^9(PI7ht)*0cBpd1<2Rx_gTMPVQ-$kIh0*GU5hQ*{$3;h-a z1|t4(p-P|ut8zr(L0u9;%q0|fg8XadsA&z)=mldL%Gow^C!UH=-<<$ruukChmBPMN zpACh8_BuJae-CD{kt&(VZqFc{U5R%7A$!(KQZ}VCgT>2V+J7oTO#F#dJdIL>Mstxf zdT$F_j92Th7KU=?j(i(%jCSu}gfe^dJ*x!8B*`(U(jb+YLGCb&B!Y?6bEaSHVf^vrbzU$#3Q%hJFKt=s;!Eg|hX zF$6N?!Ve8U##RFOGdeRLy(MOdox1<g#1%kCD!^6 zUR`jphTf_V9|hHEkZ?SOSbCN2O5F9iAJ@-G_s{87XXlfgU;TyS|FHT7CWd#mH9n*B zJc)ODFgI}(@2!RHNN{LhUHJ^y6UB8Zv*bawo3yT9GFI|y)tZl5;IkE`2(qdE6ec<2 zDmbc7+hDNJ8-P>9foHWff*sG0d#c`C?GDy%3wRA;(j4inSJFRE@syC1^zBGl_}eR0 zgWRKIh4-jCh{19K$dNodD>VAo7y$eBdY3;gxCEt>{<4LP8GzWL!SB1TU;3#-lc24RNMPL1PM2MaZOeW-tsZ;SCz5Fd= zt#?j#?_0evr`q!zNCX7sSXh0%ieHM(*-;C;($dbYcWHKjVY8_$Pte|t znigx&eSpW+-M_9F4-fJar{?#ZQ8JQG)c9{K=}n$3MwDCXO?IX@0rlOsSfr)x%8!x0 zFkco0nuku_`sgkHXLn&-;o4N!(>6tM`|X%e=0;#{F`2i;g6#mi!E0i!Sj~~QXyXo55_`_BTr-t$(IwyLaiYhK6+lDua*e$M5D;F@E?f2_+tG znB(qzbeJZsuf;wo`3-|HL*mgDDU$uwx=pq&3LZVdkhagCdRa_f1z z^$yJD3mX(i#7p#GcuQ;ic_qCL%1)bLn7mvcZ3Go^3g@8Ijc*H92iKmN>k=bQ1s`$| zsAPHpl>xN#Y85>ImC$YNZ7l6i?(v(0cbd=1^dKJ38t>pyZ@2b*yFk*c4FeSf6qkcW^y8I{=(C#IguyGfLtarc?Q5o7xU7xe2#!jUvvrmEf9%E&q6Xe~^CWw9Jj6DMOGZYWU%Kf>0`P}{O4{vn-H z>el)84C>P@+R%k4(9GcJP}N+Yn{JPT15f1RCw{UQsDd#{1?5AO%A-M#`lIWA9c_za zDP4t&d2ba=S->QOBPRPVa^d9*)}X$L0RmBGTXIXY<@oQwx-KBZ;%Xb2%!o{m*SpVK zI{pyxCxHu6MWGN~OM9fNV3-3tt|a`C3%MWUn-@s`*^shj$V?z6-H<#=@r4=oqp{_8 zy0MFuZtpB-rd`PoTntj#I3s01pNRs`@tzFhD6xj7{i}?dwT1yr~PGL=OD8A{E|=FVBFNN^F-^R}+p{f3)?ouUo5sj?hCN`?2|oZ62)#QYi?M^u zzoB#LtaNkb->i&gi=d-aa;v_|pZirBQ3?_iiqF_-7dMm#6W2nQerd~dp}`J#!RSY_ z4BsSh_fG1`L1D;JE+=(+?mtz2p{-F5Y$VSAn^I_spptkEtjfxjysG}zGP~|_of4b+ zs$aJF&N?S^VS4IVKUBCV$3@fTgX%V}_=1;8rQw2I<44zRgEg0J7n z1?@#M6ccR~oBqbtT2vwhi_!IF4T_#gK2RJ@BN2-!+UaL%JZ!4n8Wi8YdJOC3=i9UD za(k1E&)6slawhN1vCnmA%bColm2PEdj^`Naav_TDMQ*&UcW0@gcy}I}-VyQBbQOa* zRZizRHq4Pnu=8+$>!y1c8}fc=3>U5?caL?pw?P6A+pN@=4eC&~xxWdBMnIrC)ZaaP zgp5=Xgk{4LT9#Bx;@$Y9WtFHIt@`_^*?=H_)jNurCWm1 zE8k|Iv4JJy{#`N-Y))mh-Q(b{pnpiC_cT&bs_9S8S?6?-|P_R+Jf;ewaPjarSGVMd~CM&IypGExF*j#}xSokLs zDvK4D^~9}LwUPZZ1)TId#rRUy7ToH$0|DS-)28ljWfkWa2(VydM%`^&RSWqBv(72+ zvu0GL%0MF!FvIf}W<6^BJ;^Omc>`_XV4V|;jeQv_}bUjtWae>tHTp3U;;%I_e7B z??AOv=IpTJA|pTXULM{u2J%IwpsZPh3Efl#n%5?h z@YCI5x)uIfazK%vC)sBElYKSe4CQv1Vfr6ns+|1vPO$HgP>7`dXWM$R4DIp%nmk1| zec*H%e!L571bJ0Rf@R-dg_L;!Wc)ZNgE-}ugHu@8>G}Lqhas)AQ45{20;}g5%R`_u zcMMu;l{5bRg(9;-2aiGJ>EZtlxRNeDhT)EorAG2TcjzW9V(;oMoSr$~Y*j4iW4z{+ zk4UC#Ece^e2rn>)!`6~t-|wTnFgGj`3mAcD)b$|H4Q8trEemn5z!dD4Vu6pEE)EMT zX3t{@UzA-0xLxTUtHej4TUWa4>;>DuM98j0K9Dz}S=eQIc4y~n|(Fo>EGi(6ZoxC-m(qC>QO`#u9^ zGC2PA3W=j;3>mURa6l<@7Ww$9d>Hhbik1&h=z8~PvdmaT^G;IB6D1)6zHG{Q-$7jl ztK(e}-{E)eg%_ZcZVNMDEbO$R8UruYRE|^BG?Ta1FEX6X9Dm2-+hMj9+Q+uERH<4A z!_xbucdTp1!jKkra)GOmbPNxct!e~8-~?d4+kI-By>_2U%=s$}2`7gAp$BMn2M;05 zd#SRlj)|4tR=Pq)k=lyXM|I1kuIHIt!a)(m)UGb2D<{Sr**I+pkK;ioZ~CF?grZfM z>DP@F{r*D4kCH=Pv;t4wXx6 zb@UPL1clmMrvT;eGkhs=MC$sL+-NQQGfmuv8I4RkL%a-%g6Ql-TxAjRJut~c)Rp9M zB8d9QpjQrHp`0SixSQhz4uMQQoKlZbo~+7ZDXZK|3VpWWL(fNx1=|w*VC+zKWrmg` zgp~Ru^(N5J{K<%Quz!NC3zY9O)*#)`O2%ub6ahWGJxvY=w z?fI7!I&b%@YhB2EE5xsX*&;RcgTbFL6ZfFZ+F^M1RQ7>)lp^NQ5a&8PD*E|&*~m4n zlHdy)B7!x+*zaRnZa1FdZI19J)88p2E(@?|ybup%Ls6$RV~BLr0(m!|d+jzCS{psq zL+rHMOZwkJZ!lDT7(5eZcwwy&Pmi)Wcjk5Q+LwN4S3 zx4SoJHII`?Tx^57Z8elZX3vMBLe8B`aY$k5L7i944xdJOU+3dAG0eG6<-BD8l)MXQc&KJ^jRQ^m;@7v=mV;t%!>nwoSO_SyzkGaB5*VCikS z*I|v{^|+#$y=EqKsW%kY(vs(7a6mcx>XGxQ-F}GqOI3Kmp?lWG^#Ql&4&9a!Rj5<+ zvw9GS%u*BW+M-orK?fx-!Jc?|sN3T7%iO7+>F7)(TVdq317=iZ+C7`1AO#&px~TUK zmS<;A!ln+QEMYs18cWuRBxCBt@9!$1?6nj`8M%n$`=2?lUzukO$e9pu=Jj^Rimixf3jYdRC@{{`u#gb2w_FR(TKQH*^;(-^4GmIo{ zN*QpP!%lKB3K$ZMek+5q`$IFY&DwTFBy>-W9fFLt+USNT>WXovf5aaKv3f$i#wAj0 zF8faE`FCZCN=sXcwIre1Qwu09IyBM9kYDqibY|oRzvA#%gFNb}cSFkjfi{GkG08v@8CTCyp=t)hR{QK_4{WB?07V> zB;xUd5jk?s*I+8H+y^-E=_&0{bX>Uq5IMQbhp&S&frFt$T5xl&Q;0VkT~+pbsggDHYnSmpC`&a7Cz!~9Po#e}m7>Ug9Nam3jZya!j7gpi@;Eb9_3 z{WW#0gHz#)GSJF*wV8K{Z?t@)uFVRMWZ;G|h1v4*1@$pd#HFzf@)NT->9~kv)O^LPKqoz+*_#9jN)xu(1w{Tn~JQO~(>?%{!W;h0*s##N=uE>hF=Y zAx7w5H)TQ76{;6~lfZ5z69{>pD$#n?84YmM-Hg+_)gw=Uf6#@GDl7!gF+}GRQ?wf_ zP_j8Pql3-?ef8k<%=VXHH1mqx%d?i*?62tILfCgYI6gNh|BLDs`VG@%^n~0)_lhm| zT_Vdrlpdhhcz;JZMI_;hK$Nu=V&Y#L_zb#(pO{mbwMpSl&`stU8Dly@Z zQ0*SWOEz~;N$R;g+U6ETES55SHZrM_fzU!P41DK%VmuEmuS);Wg6RNXG-;GNo^$syXIF5`x^0G*-xcWoW<(C};GUL^j_tYBe3&X(h;J=~f^YdcXFtC05k8}V*0s!C zU6)CFE-Jg`VPFKVVLM39V$JW&GR7|5ICFW^+JzAz`e}~F?Jm;DDbb@4B-j^lSdz7!l|bsW=2t{La;zOix#L}(;O zdHN7)>ffrzj%dj(SvX)ayokq15pQ-j(w;9Z>)z4G?dxRFd|O%5yPP?J^L1F;w>`DG z3VL>lS6x7w_}U0>Mmm#a4IPJ6q2TGHJId9Sw4hJRx!|l4{%oDP^{-h3mo2>I(wh(S zp(jhr^b%ZfJj2CzrEs4VKlSOow`gd>jG5;ypb?lQE6CyGbKd69;M&ctrZH?0%Z1Op z5|HsOp`qy{@!fW(i@#@3J>d71TZ1uvh`zxoh~*L{4_V0Cqs&9aP-Q+=0+ToWWlVtj0;Ua6%;Sgk`$Pbg2mqYt* zbc;ON!6{wE8)jFG#d)p4o=J+S&&20FV|ZZAXWx)n#pzQS~bv0y#uBz7KZM?0a&iu z7?4~MUiPe!y>QAOKK#i|$ZxZWzhb1Q_?Ib2RE0HmWZqSAsWQ36*OBl}ZGXU<#qYIc z@*+dCF{}oxm3p@V?>$oaVy(;>n=Vt|Yn>{e>$I>-yV110E^c9H^d>Z`jD535z4t!= zz$A5Wp3JGP8fRY5oXpZxFN@hj+Z4lqK~`W1U~(X)7GXNwL@SEASZtAmJ(AuQB3b&m zvLT`V(E_(U)Xy+;RE*=E%&V{BIVewcq%Qy-tWYB<&ij1-I&P#{KMmV@_J(-tNyx|a zUnb?+#u=HjO|-_|JV-WH&+JeynB9^b=kPJ!c;M@681F}_2bCd+_2mDDD;Se2V z%G>r#zs1N*y#vyb5036yajS7@y%1eKHAZLRGZ&1F-XA?_#%1-~V~b0CipO(O$;X=7 z>F;x~sp~mZ#UTVXgD)vlD9|Xqq>a7=FtpOmndglgaY6^v)=FHxdWOLH!DQ)`cG0+J zVaog-wMFg^Awy8j5$TCpKt;Z)(!0HuHCz6Tcx$C*7^aJia^5k*)!dh4R5s|b7Gw0b ziQ`Td%f7Ahq=JY;af4U!^t7a+%Aw<2^xye&3-^(9^Ziz-6UfzEQNuaD@WY{O?e0AR z47jY*EN!oIgg&^Oq1T+alllUa=zN9dCs@l*@$_uV1LbEBXod0n0$*V;A-ZRrytLIi zuD+Hvm}LpbV4B$lJUNXui)uHlCFN# zI@R3BhN6ejiKl-!MaCm$&MJ~iydVIZ!*agI_-`8!XtO3Y023VAEZ%yQxuzmIuRd~K zpKI_}gfZ{i!2xCirjtj8Y5mT@l;D!G+%}&rFp)DUAvjNJB3xvbI`s_D3vO<`U-UA` zP`u!qW~&t?$-YMe!ZYnF@3?2bRn80iKE|IH@0=*D)l4C zNG`pDl23c^q7ZFF2&ks2wKi`aBLeCJlM*6L>Y^dkw4wAHTm9l37IlsZd9mRxqsG?$ zBf6S||D7`&t|PjLFx6)YP7;}&5V8>tnn@0T9nA=7}Hl%yY znu3Yh*dkr*XweOWUdrh+)udeCC9`v2Ju+W3&Z?S3l6ooX+Db z(jED?^go2~WO;Woo0Ka@vz1pDc%Pjn6eD0w!@`JDJuGU$S7Q}%ZE))W9Np*G4B;yO zhBxyZzCXpUDfVSFJZNAzvo?U0tygAfQ`VWella-+R2+bA%%`ELdcVD@TJcx0&ZCyd zT+9MSJ2T<2Fc|61W=-0>c!Rj;8^=+&RsXdyeRHurGt?8d`mBGX z!Bshh$giXn6;dyWe|e-|zof5d*#mm&$RhFVkPZWO^#FJvmt;8^{A9IDZnlG#-20WK zbQ?tq5W@W;)(%T`=!M(OL-)+v;SVk`3I>&n!#At2hU#ie_q~g`b*$r;CHrc} zPx+gE>dJdkHbM1%CX_Z-tl*_GX=P`ZS(}00fTTM&M{p0zV*09%jzTClrwXOw z4FZ8Pr!H{PbIC-1;RC$E?F-j(PjjtdP9&PY;E{vWzdw~Nv@xwRlu`4y&&|QIs0@tz zi_u)ipS?c{dRqF{50yP^<&UoCmw!);EM-x~vFtVs3~^)lKAXpAt&V79Yv$Zw~D01Tp9KxH)yYouuBJpTJV7Kd_(-kzMC_@6wKZyti5VSmw=WE|z}b=X$`V z6Mykb9&`PA(_CEytY0#BSfIo}GWFleSVg%$+-s0?^N&6ZLhYzfT~(V;+;7E^^@^&R zX)f2ULV0QwMXtv>GIkZ+@V_~9SJk^WpajA_6wxl zV*QJaZK*%$mVzU2aPC>=j*N=zY&j$N&W2kb7RTGcm9h2XUkh?)X=$_c`H|Z{RoUbu zdHrYB;w_dpiDIL?@zBOk5-x*35z-lg9I3Cbn=hl&pt+sr9z6odqHG2y!Se!m=!bb? zrL(cP*m9>c2|q=|ZaN<>d_`}k8}yQe}q z!}AO09sl`FhLV2z<`;EQy%EvuXm-^vSLlJ4pCR+|RhD1l<}ZeAKX)~zhQMLLNYglz%PbBG=(d8&KKR!I?1N}CgKb0tIpp0a|82!d2V`SrQgF!`xRLt zcUCO+L6xHOSf@C{bBNTmx~~p~xm>%jP3OI9I=r{&p>d^RBWEaa6bCgrL1j(9e(^D% zk?$1spWe{RT*T+3rK_8i>}Ko*^lnE}n>;poyG!agJehh~v#PoJG~K})mBclS7wZ?( zAq@F)bHna3~fQ+jyyB z9{=_HS)_pHEz9~MW9JzcJ@X@1_3j58FWDa_Y8`U)FQP)sxtA#UU6Ns5wMT|~fT^Uo zPH#(JrN-aM?6wB|uGkXt5gH?7c(2su&X~l#wt?AOzA#;T(8)x%O}9voxlZwE(xICN zw|{%$JE|*rQF`RXxRUGGh21Bd29XJA%Ud!4>$JH)Q( zaM$JY(5V9VN{TX+0Oz6mTh1!wBs?T)=u}$74uPkR3Q!FpWsi9aI?XA3ZZ~RK5O$Wi ze!fDzDmI}mKR;j6AxnRq19vVb44!#MknUxE-F)?>MeheAKQsqK%HG|>B0~6HUQ%7f zJC6GASt=G48qrMzNOCLhvb*qxv{Nd-X)5zgA)A`8q_f!aookz&+x*jjpQfel|eeey_7oX#K_ zNAk1F>t zLXJUG3N@==g1_|k2pm1xk3TAQfeT>bEqm69@<@6AHR01br+1c4sQwY%%G(nP;SRQD z*IKxPjW&t-=OFDZP1I5&PJ5dE)5xq6)hlRkplr`}eHSX)OYV%rivpq7y^>6&mflgi zR-9a@gi-R>)RuAbZVt4Bvq4Lxa~MbDZzrrR!Z)=S4= zKw}-6l|K**gd=l`T^WZ&d zWBKzpW?4fAK~Rv-QnjPisG5LTEErdq@8MX7!|5nrf3uAT~Cvay!9)(PJ4LMP-XM& zSo(rMcdLACL60e!J%*vAUdPe1U$-eF;b>G0UuGvG^Rz0o3O+s6@LaEur;cabJQxWP z@h%b8J9pX_oqp**KlZN{A zIeBqZ74if+_KVM~Zo{@vKDp0bg30G~z4y&0m@Us+0|bBQSJVGHxV!8yOj7TO%u|hv zK9e6y?_GY4M|=3gASx}!R%Q40P=A+?2XT^mRza==IWF8Vzy9iwLLy?a>{`*aXqMrV zR~r^P*)Mw2-gePo@F4ndbUC;f)XB@1y9V1Y7DG`Rlf%80h#;m{|Hrv<(qozP-3c|| zl~D&U1Db_3{%Yvbp=U(o8}ycCXs8{2!syh)5gH7A=T;$g)|*!A_f}i9aAgqS`Wc($ z0ncYJ*$!cxN6#PjZ=5Qp^{rmdqNJfO5xHUF;E1F8#xs1Yz$>n6zU}NA zxbgv&*LQkDExNe}dMfeuq?ub`xVZmWj1k!6H4c@PQ#oca3%K0h;KH#S8C9c zKQPohE0aZLfZT=l z*`)yHAiL>(!~sHMp&vo0F%p~%9?IxSzZK!Jh@t@bkB+6mkG8oq1GnujRos>L9o(RB zw4b{f-#PjtwwEmFBirX{Psun>B@jnrqq$qfZJ*;>Ed;9;n7&7^_&_mYuoxaYK_xBJ zBhJFE?JI2C6*SO2+^M6%6AUd zzH@ZoGz1Zd5j+yV*qvhL{j5f#S#X9cF2CfbK{r+~yJg`stXwTO`BETyV+PUun8Dg` zMr5#U0E4w%DLz&AtBZu-L2X>ac|K6n?+s-?vAa^ZmLlLgo0*z^QOPvYmFjMTG8G1` z?8bp2H!_*l8x?DXpY-p+A!jc-EtiO7c<8{AZA=-hK@}ht2oO^qGFuXb+p*|3^CXcn z{LsLn8!!TpmWDOIqPSWhhsGBhbuPyz7mgYjXfmRAi)r03d1p54X(Vx#<{9VUHt zCk?j0%VT?s1`UwNeuaj6I&OZGM2y)JG|p+SO*GBQRPw?O{>`z`?7IGkYIx@13h4y{ zT*s~%ibz=>A(ABl3X_o-*d_=e;8`R_Gz5r>-3Dg(tTzoXm>0(axM)SR&Z8Cvh2CLu zu?0=gL2%V+!Dda^ZpTT92Tw~>Aj=S&d7#J(|u^TTD z|ACG}XEuv8P0Dg@aR7&y=IhNDPV@DYso|>U^Z}Y}6L>i%>$H|Ta8)IB;iMdguUnwe z4J%j!D`r9MrnU5MWgz@v`&XZC5 z;e6pSfJH?xf1P>naeNPd(?)G!?!{Ywt1=H5_Q~;X@TY&~Vc7s(B~KP3!)6J7SSvT|Bl(oJO|#$$&bfiBAfI^=U3lCEelGTkfjh89vIpyc~+f%9jYC%Il4EaO^)&*sL%7 zNiRUvetWgr=JWvPBmK&Y3?EPfkq$j{Xn&OtZG-;$?>lJ72;2Ue{*N5leK%|c59N?J ab|vNW;h(G-u@8fPCX7!>JUC8X{Qm(Zf7iAE diff --git a/res/getAddrWhite.png b/res/getAddrWhite.png index 6caeeae319540c6c3bbc1b0b91af02aa7e042a72..28b30fbaeb67d543d56382775706b8fae81d3fba 100644 GIT binary patch literal 12615 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 diff --git a/res/unknownBlack.png b/res/unknownBlack.png new file mode 100644 index 0000000000000000000000000000000000000000..faf65e0eeb0c6b8e08a7cfdd172801dea0812cc0 GIT binary patch literal 21025 zcmb`vc~nzZ-!OWTLlOuHphgWDAP7}d)Cge)J%|Qs6+x|19GWOfKv6*IfYS-lfSNEk z)gsv7v5GUcXce_jVi0k{q@Yq9ib^%ks91+O+}}>1&-dQ-uDiZJZr5^EbN1Q$H_!X5 zOH7F4vIT4m!?<6@kDiEO^lf8V2Jlcl9rEZzk> zLg!KVa@i+bvZ}EE-?YMEB>(g0&m*OReKq+1YwJW|prL*PjrTZK80;qd*|q)@+5Gl| zbB0JCLi)2XT3uM}$&7BmR2pU!eKxVbp2KLPPc%QksvCck3g*?}Bqqpg?}FZ+pRO0M zR1|acV9xMiq|@TYsSyhSDFu z;!;QSY>cj|DGdTrz&c717BZjE|L{TCTJ4$H;oA0C&@cQWV&iTCOiYgp%S$xP=u zSMv1-O{u{7f1=tf3}tc(lZ0xkhY2$zRjl>R&SgnRxiB12kiKF|0Uh5_`N=w_m{O2U zX>>gGpx&%fc`&@N7o(XCw#I_eHs!yFM!BwTALaeSkm749+UvaZ=mW*KJ?Om;^|ijO z&OFjrKK4!|+ke5$<{(}9(U4}Qw?SXwVvha~&B>zjO#^aPetq05_@Y7ItHou%^u?Wt z&fgM`R*o2*AzjIj9-LZ}9V8G?dhslb!1N(Ghzu(jC+IaEtl*UPBeD!RZRZR83@c7Z zm`6+q!}h+T^xLiVZhNtAbT}(!*Q;s6_3ctY;N-zI!w4ZEd2dqPOKZ4a`i^>+e@I+# z=1vXa*}dMfr&|6SD^2Pp9y!rSQ&A6mHhay$Wnr&eRqZ`xL%x;@1o+ko?1I>H{~nS@+&a_wny+|7cArE0Jopy zBf9Bm3|OiR?V}L{Q@+6z$;UF<$;G=wqSO3R+lu=}Y3+~|Rdh>Xf;lnEzxx%EcigaJ z*GRKXb=lwGhJ`NW%j1@1{S|6CwD*&>g#UXR29nZf*zp^^3#`3s1FC%RjFy%lo!gdT zdMn*x`6Sm`k49BL9GG~ozf$%M$F&1%wRqM%6m&7b4S+VT3ZYd5{g~Xy#YAb)lIxFupfAc?6!?ELX}# z%S}>M$2ifWNhz_J>K8=tTpCJDihY(Q%Qw@>Tp6kNLo&0XTHx8XQ8jJ zs3G<*>QhSRc5BQZ#vVO+ zsZ0NPCcc+7UZOc*3i203bg6Ib-fVo3EG{lnZi;8Q6M8YyMU9o|rj&~0^BW2aOo=Dl zm;MV^b=qXh8D&e#c5BjhFg1xLgW#6ud~SJZ%kdbNMvGjiM0av-K!32J?`Vi zX=`XCWw~8K&y2mt4EbUUs0|P(kwFgXIVNwizwyHj_ow9?KEGmXzrnYeJ74Zuj=GmKW4&^!bm{nLRQBPb}Da=s|z5Ber;0 zR#ML`*_Xzz*eGC7WS=&ydis)Gu_Hpr#fi)V8@==y`_6uGT1eL$-_A1>jOn6h=Y`SL zuS2M`8(^=AX^QyAn>JRyd-sX>>n}LDT4i(kefCrdfgRDwpZfDNZz8Kc-$;*`!8o$2 zMjdnt^Pm3krsW6sn&-5GO@l#tiooz&>n{V$X52F8$O~eK%T_7IUs`6r^9Xrx9`jCeD%eDrz zZzs#3Ts;rqRAUEJ|czZpgdLk)N2Ypotgmk1*x<#m4P%Lvu_3rc|JXH0y> z+CyQm*7OE&5~k|uKMO)RB}u{ps|7hEquO`K;VgdDE4066_o+Q;zO>xJznn4z&JGq2Lv%iUz@~kRw0k~~tS9x{`576+vBDx08a2>eRV~KK zR+%X)v&|@E>TaE*`HR8UUtMp~~0GWWvcqbzXgA&N0v1?xyaf{XuO25=YDk4h;04 zzhfo%a}Y`k!|+|$`kLfoe2DKe_sPC#)y3_WoaQ-IT9?CblQ5PeRRu{W7&#jFLo$% zd1-_oJl2O}6MHpZLLpzo#-J#`>1o@8IAIu)Nnr=6<(4~Xtx4sk*`=R3So>|r%twnH#u zHDXZ%)>rl2)ZS*>4&WUflDwZ(8oY z3=hmF#$+W79FHe&aVL+9Dn7RrOy8|Zz$e{&ViVJ?bNa!Ups#~B9!{{kNLAn-XHxF> zVh7XBvF#s5+V}}-w}%3V0T31p7Hi*|NVdvd`+G`x%uW6m+qTl^s@&R)ERgVD3yP60 z4Yf4fv>v=iDUM@|QA@sY;F%Si)sruuFbv5x&r(&2S1^|VG-?J#g-vEGz5cypS%+Ug z%e9Vo4j##Ac>AgyESYo(Sk6|X=K}0`gP%k3Mci`QfBX=(Nzy7K5LN0Fn;m-9Bbi_H z>m3BUZ#cevse<)E@6bF(r>Y%9=&4a{y){`zqg#$1NT$J7Avw%LYRZUxvpOinhBjkc zOtFF=B5Ny^q%pC4w_wzbf3kPa1M#gmB-pkFzY!B$`)MvZmgHJySzo9MG61&e>JdX- z?5b0_+TnMAR{oO2fnEmn5jN!$30}7HkYH?q?5^m%-S4}t>@}WlwsG$wPS8KJ;is3M zq>#f}BMe(A498HGR=E&Q`=pAuL*!w_ zy@$1rX3R?N-eG0_Kz`Sfc&w)OmyF!96$oBon52yyk7RktRBMPy=k+oaLCojODK)G7 zVIyre&KlsbcMk7CDYDcoDn{CBtQ-LLSm4GLEt{YJKY-A#2BC{?RN<^N`~k#gW*-5s z+6BxYBqngE{eVvj$BM!H{#;RcSM+9ANV%zPpUmB2OnzrA5ofk3_Wq)6iVz*3w*1dC zMkeyP`2do10T}3O*0FZO(q&$eXd&3YK!D2u5agv0b&%6brvHzn8rF2jMk>5u{%7U5 zE-~$fGm4z@{h|mE7gg#QF#>Q z-*H;w#3;zCc)fa8z1S{X;Kac`6bnRT$Sk7C&%5gAO3!T*I0n7glmR5iUzBr8w=k+ok7DbURP+mr_KHda^Z<1bhE0a_8wAW} z=n*G7={)G(C4vwZGn+vdJ{>5^?0~q73G^%IgE+KgYLA2frX8lySXE3f=YVpCIxJfn znpGXVlsxWH*jqh4j=3xSP!e%e``lmBlk?ZwdWtKWY|qL?XSn4bIn?(z^!cVgk7qlD zco0h)Lfr^`ki^X?FowH>L0P}*EzSGn=Ax(?D)V~C70nk%+IiKM5Wuz{+d!+L8Jsh3 ziuhW_HQZ9jn>ahoPbUx4^?yv8umqMU9XX*U`Uoiqd2Dw?CHc6eo~s)B$mCp=tI&&M ztNuiO0x}lSPDk=vjVI#g6f(ZtB*6{L@siy3`=Kl*7Fm$gl%hpqd%GkNAYH z2emV~+r5M42L-V~Czi*~;&B2k&UIR|@-nygpni#b{wQ-Q&x0ku-p+}I6h+o*jKK~x z{b8qcOlBKTs`L6gl+FD1FQ>Ay401rv3t2k8J9bJA5i|`FG91UGd#l+;!-lL}F{MMLNb*VQvl}<+N)9K|9h`dM_ z0hd?!vT8T6n~k2gz6@qFag2MS=+J4O!N-B4M*YjsFF_>;Pj9D}R=aa_|`f4&0Sw?^84n?LArHUyH+^aCgN17}7<^xIcZoF7B?B7|Wqxh8)uSKJ{OpshT5xqM2~ z16JH5r~Z7l|L|Ifl5Oib3`nxQn6y zxh$r$Wc&>7-|Qc!G(BX=Cz&iXYF>8yqo`R75T|~E@Oa2SK$shtMfYr;z!7mjb+rDH zc*csTHAY*CXr~chL2ZVm6Xg!7m@G!milO{Wn}@6FsQHmm^`tmo$?Vvj4($0`Uv9-e zgA!nCL6c%`SiVfkgSc8TgKO^1~VYo*?UUs(LXin^fPOHrHE| zy%}bwC`nCY4+*J#74N2Uic`wCu=9l#geXkFiQQc}sX_Wy9wuV$d=LpH+=DK39tehA z`A38L_E%6h`V7T1qixEIN*B5(^ZI*HS-=Qwf;F12U$AuL@Q5L@T$!)XI+XAMX*qBfS*-@@Wsi`WP}|#enX3Usm4kI@{tG01&8yxUpm1#hBln zr3S0Mee|0($V}2BZ{P@VB8gZPn?^UcwJgY-;QKjK!MCsO72s!I{jO`Z2YJStzEA1O zG^^Z(T=z^6>F*{<>x}qB`DMT?OxNC7T>lOU`>$XpwFAhZ7IDYhwL3nJag~-Wjx#0V ze!-VuVSH$g;pASC{2sU;3BO{u;FChCyKhMy9NroK!Fn{6QdE)dyF$>?22kySPx^#O zdJrO(eBpOqpRiUBzD=7zuen4qlEVZS!FG_`T|>FR?8>N(LABeVO8j?69PPBxNvr;L z*H@bc4z|75vZ$mews!Upt{z0}&!u?uqZOT&{{TT1CYyg_1I=>#9x?3q%ifvQ#rZur zZXUJSA|d81ksEebUNh44x69M`r{-{;$bZdz-(lb|d*qAZBbT=c_oQltk> z*(J|0q}?s|);~{@@|N=`g$=i<8vmi?(rpd&F@pCC>vZ>Zkb~+1`vQYofx$mOoM13P z?WwVWVX>AoaGMjuRyI0CZM8zS(t?dSnT&`h%OO1@)ymFs@MDLfrYGc16-?DJ%rme0 zFOAjTi(&o(Rf0>l9TLo#AH`<67#>arX^Oy-`>TtpOtZg{&V0{&o+r4S;Fe({cXQly z@>l+bUf7mj)-}r@N@mXSWtFAJ#bwJ)3YsuZqu{k=VD8l)*_@g`FYIWLc7%eImC}0d zy;bQ1&;a7Kb3nHGOItUI8OgNV;qNuH#qts24O|8?ajT z8_<~ME?@Gso<3^rE9}OErla8&Z6jT4{Vts%7n6^gCQA|hv;A1I_4eI$Qxr(8G#Vqf zbK7n2iemzX?5k-tDQ}=qq}f**1bIDMKDatb+Kdg+ww%Wd)^eucpI(z)7)AAO{SAT1 z#KkBlSeogV*4YM%lcEMKaAw9voG;knG2!BeEK->}?VZ2D3lp1&rq?q;tW|<=%cXCm zf(MYP+y&d?!O`{@naDcwqZ{|L)_Q6+Lj9${K+NIJNezzl2Rp80i(D0D`&R;0D!tEaR12 zjo&?W2c%A>z>N;nP;;e9gKO%Hkh5`Xv)rmSdnQMtBY~swl~Kr>2JM z=sit}vfI1f^-ER7rkUXnuLR0H^YYM+Qpb)=U%vRPCnGleGTF!H@ScJ(mYMI+LQXBy z%^7pDkRUWj0#t`rfDOn|F*&y3nZZzOXK0S9aXQe)0xE>gtT`iqnhA0EGk^Z1a>KL> zTw9Cf2WeSPIc@9DxyENBaAyN;UOO=%G=Z=GoCMJfR0KRtAEv~GU7p&TAXN;^68jub-h(K=BRe1q-J=e4HUVa$k% zGvRDGjbY5Lp4$Sl=9AQe?^btqr?G>UnLdF(exR8?oeatH;!I)DojgwO*?%_vBHu3OGQr3lG@-L!~XZU90i|rMQ&-kzriVr-|v~zc<;-5 z9*j!e1!^go(;%&FSY5TXc&%p6hA^UpwqOenSR11d9o}e<7v8>vJxe`Hyw_$3G?%8jG511_PURZO2 zh6Mo0z*+&b?3t{A>0->OU2O;`7~07i|E<305oZKew7pW6r{Q4q!kNHW*CI!vqsY?a z(-zny#gB9ep6*fD!C${zQ*@j2$6N4&W#F;*zY)uuE_M-Powo6VIu}z-W);Rz5$ibA zc8tj;<(a%n*SZ23ypgAC*Bt`=0Lnq#6Yt5at;92*kb{!PXsrVS^73&`$=Vzj@4}WW2DCb-+Sp#reos|62eHs*t}eIU^bT9JGL!eb<>C> zD#tG^_XdP~fT3Uhou&P^;duL@{V{)qs%Eo7^o*2~uN1O(N-PogI5rLPq(7t^qoA=U zJGoZ0>6ha_9M#F7kyw-i*zgSAH%y@@53_>fG8G(I+=c!s0W|6V@97=iiCP{Xu6Qdz=!|PnXFqjuhkR5kEjafY{;^fMP3&@O)o++=Owc7^R0CJo@!B=^>8gP# zQ2E&TKDT#nYNW@N3#j_ha`PM#iSg>L!@nTHL_PDt8cqkQ*MltFkh{Az0DtuWx#!$uX$*Q_NnR_dHP2d)W z_^CR0X=f!jIYmY)xSmY^j~>^mJ;gs&iZCaSuOa!EClbju-|;w_+Yb?&NSVd`08aS& ztTR{U)cBqpPaLUSVvx7ihpfFbwOK<@$k3 z=xaCH?VHt2`ZQQbR6W1)Z5h9X${6YOK9@3qkJ%fJjl|&845hCQl&cxpHWx z({6#VCe8D+m(;Xk{*b~r+B!lhb1rlnVBuX`Wjo>v0%hR<&5jDfsYzc$sXre@kp!Ec z$=l>L69yEZt6z~sAhz;CbD-V~O<5+jp*W6qIn@&Vp>a!qXH|L1jXWDhBe*Xk!2CD0(>cd94>s4^O9$q|bvwMs$=XvFuSzqYx zkN;U1!n91PilIX40>V9iMr9HIlubbq?$KM)9^y=ozO`@)QGExFPxuMDA@k zo_ge^O2aB0!8LG&tC<&Ae%jPDcQ`M-T{rhxl5`gPO694Oz{i@Nv?0yo_}q0dE=2E_ zF&@zq7srocd5h3sig^6xho^l0_yc#Aj0INzu$-s!lSa%5W>;^~Jl{LLR7Y-x9^P_bP9jst}mI`f;;lQ4r9dyNu~^tP?!`%Ik8l;4Pbe8ZIZAc8Q@X#ka&RcWL^ zW_8E4Zg}bd=m_0WbTyrK=B4-rYun|CxP zk8hg3M)6&K54IcjYQsI1R7bbDoO%@p^*NnX+8&|=Jvadsj`KaQ@;x@RyPL?q3bmbp?2o3bhZ+@TlWj5EnJ zablzqA`09`l!b z0ILF;C?yD%4>R3Vxmd(lDVsTvOc+wMxE}2%W%s1Z||Gf&#=xsB3YxF*l4~ zViOsZ&u{?z4@IIk4{CEza768Vs7F=r!4Hg!TQZ&72<84$5K|G$;ucuI2ld+x;ps1k zycc55Ko*o3oW-#>GkA%6dWCMYPYl_`MHiAQp9RG-b~a)K856w`Ns?n050Z`}>Y!Ra zM7i`w_xH#AcfJmG?CP`_oH(sf(8C<(#9r$VIEq_w$70NO^sR^>sVXi9(6_`l+UMKo zts%MBig!@4ub2sEP&q+IFUyZP83Q8^&cQiQf?8nz1=Ct_JpB)2x`Kae3}V_rlR*rv zH_0fy=%e*Gbau(1jJkK$rn7r*8)?A{9@z~By-X8x<4Z87yDJ}cfY@q16BVS+=BHya z&gzAhpVWqjd#%;b^Cee_k0Nvm(`5@#bUXQUR5w(L8ljR%zQzsovl5zBKB&lP#2_Y0>wFo1X6@klc^SDM z(U1y-F(Cc4CS;CX?Y z|71NH(ed&;t?-IQpayqrZ~M~G%v6WIUDrnhQoW5Z+(JMnsL*g*z=RzG09T#v&sUgDVQ;xO7rmwZyP+pUanM~Iz zyJzhfzV0Nu5+_!8Aotl?WzT#PX<_t>n{dtf7&|(zpm2joGrWyn^8(L!8%5rAt?RsC zVDZj09!Mf*t@Mx1+iGVaB!d704Al+*^kJy5z7S8r=gLyi+l<&gh`+ax_3g@n{P|mf zOVv;-U1a+|e`VC=$NU-zorNr5Ak-t!+m7cD-Q~{fK*ENMq9a#?hvuHJwOw)kzkX`Q z-fJ!cN?kPSdY=|-G)!9x_M%IjyAI=g1-9>h`RTYI+>MHHw0RvsRYFGECH(fF|Nk1E z|2wGBDwt{Tuwz>dk}$W~XE`^IsC!@MH~R^y)Ri86@|6Tw}^kzIlWeH@g8lXr1l8C5NxS zi!h>v|Mw6vHm`x~7{hFEzNEf$H{9^;P~rzxmW<>XxRT}m)0DC=?QnL0katZqFQrxe zJkt56^oXBiqXmTI6m9PvT=-fYyg~$a;z zw8d>WDl0h0OUFb4JDFx+|BZPJ8=aCI$!7j$#WOnmvAr0x!GD5LWgnFI0BOi@dQkLk zN&EB-A1Mylu? z=H=>n9Rb)xSHq3w7~jZu9BSTDSS#86ODGf}9ixLuga8}ThdE?cu+x+^hNSIhz`s;4 zc(Q^ly5LDau^xsjYprj=3}caR!&*fD8j(WWu%0VhOPklC8`{rn8Q06A*7YLv(czV5~JyRMVu^)M}UG?G%JYDU}gj>X{JYD{-pie287 zPu#SJr@OFSM7$Y~XVNO!pqAX-Dl z{EB&ZNsyn~)l#p&XFK>OY<2`~cD3oPAu?CWBUzl1^nqsk%;so&WyabGaW;($ z1Q_1K_8I~l>1LYB#>>^NyJM?qhCbKnnKt^IbJmxOK^$5!5<7Ff;awPV63)2gs_S~o z!8VF@6h;Ri3&3vWxe0D9lL`Qr!u*&Y7DM2)ju>X2!(;Z5N)FBBk2g~a|KP=ah{HO5 zbj&hTr>#N-e`FLndpOLL#PYDbLWp|r>MNMchP&<7lSd%?^eq^LY?^CvoGA;_Tb{N- z{}}rFo3xEA+pXjx7$#4q6e_YnV@(1*gYrIG8;AvG@G7JK1O{to&whaY&btP*)Od0( z44eXP?9BB|eEl!bst=kZ={&XFIuk-a7ri(!c4nzE_aanrPbm`JbjbBT+-DEV=VQm_ zW#pbd19u#_6)ek;2kWRgul)JDDy|^kTG(S-de&EgfzMbI-KcD60)ELHE3!|}Vnet0 zCYwK4UoPWucFM!lQ!sgj01fuISXc!fDcH>MbfD{X&6WiW%5Us$N-`cai5NUMuQ_%W_ z28C)5^lj)epxzomI8aT+<6v0tYwI;H`+mi&hoU^E4XGRVBE|(UK++Uw<-*h^xl({=V!8^Ii%g*K$fS?*l#- z*C_r0H;B__L4SKNlr|1S_-cv*N&C)G><0NPH5=hL6zX0dV;^UMvmmqtpt62CifgWB z0w?Vufn)ke7yU2AvL|jdHtXM1pMd7k0KyMKzT$|<3D^aqdh`Fo!VFbJCX12Hn^tmvzT{mScMGji~ z*!DHFoS}(HE)Jx}U3{HH{M0F{Lc?F9=lecrQ%x?SvuUcz7d9#C8)){-$`HZ)2;s9- z+9F2t#1O%gGd(M_&1gNrVf(GZS|>DtaDS=SW33ji=6|GzpAwU)D(+ zw66*}H>yQ4UmZP%xMv%47{QW2){H>p$}t*--9Q@Zbd;jPDROcLmRyJuJ_HHWj`vmd z(P``aB{=8(VlWRVSwkWj&!AYJkmZtLs>?TRs*nB>n1knS_35I#p*N&zC=D}NFw2FE z++VN4g3=(K$i)$q5QEV~D|(z^8^<5=AdcqJb~iE059nH2Li3X9+|r8Zca3YTj|qhH zMnz{;K@t%VCbjRNGhQfMdRC|VN4**4)buE<*<*_6RvlY z)>pPAfU5UP`e?g*FNts-Cvr%|E|aYlWYRf`KgbPgwi6-Iesz?>ys_W~{T=wn))u(! zGurXzyJbQ|(C=vJB86;0902Hmz5{cO(y z!^|S$7I`5i5I9S_aW*ik98?|h3}bv}S4BR+jtl9gZ6;X2q?--uDRZgbt^WKW&Zv&@ zNnwKci!PJyVn%=ttQ)tICBL_fN6=uJUTamL;Pfp`wP$f|=PI6L&pMy4KSMzTm1DjO zr!Z!SZYWe$K!G&tV6u>HXfq}*k~*9>eXOb8admC!l2kcRf-sc`+W^a-q0ohG@f9-d#!!%uB-p20aVgXQ(yLU5jVfbt-a!nkB0$4e+Pn=>8y0eq-vlMXwjbU zs7H>0PR02G>f}7R>f$PyGm^$|EFwBO}F zTkt@5ngOQm$^`zhHk0igsubwrrSNK0mcl>M3mh_<*Z&464TUO7F*+YEGL*8kovqWL zzI?nCe`@vSk7rS*PasN|s#%opabI`NLp28kdgn$clpa9vz?&$k(|&`eRSg@D&V*0` zNYN)u>bM;kCFMOIDq!%`J|jt(ry4hT>|1xf{6Pki4R{$?aK}me0b?R6S`SzU?k{cH z9w`;D(W7K(+2^=;JT2_WPSBE!keoic-7wq+;Mm_yCY8gpV9&|(pz-q!vIveRW+rFD z(PN0$b6)i++P$IscW}_5S=x*0!@%gLK=q;f@3=!S+XV<`o^<}T7RZrNA7S8roO(FB z`x@XeMW@tq$6b4wWB`~}<0Sy|znd1qJZaOdHLxjkFVt39-~qL{E9C&XG0cy`_(0J- zkgN+`d6zaAD)#wGuJ&qc3Zf>A3r(70rvW){R#+5!Aycu$~5liaOlP8hhrRmLvyEk$bgR_$&+u>%I! z`bV@J$(C`u@T$hB4MhdsEz+Bf^)ZlV)j4;Ho(@r_p1LB9xDlirdRX(9Sy__|^j zU&6rXyq8*GqUg}$Y}DG`W=p+dqqpCg+M;)xh6)NVjjG?gXSNx$&=@e#VSi~5jKw&$ zThBoK2c9=ahJbf7yK??{^#lylP|&p%f1({2^1j|^gVrO^>hH_B*sI8jf>W#Y5OkP> zQ`+p{Y6C2Yg$#M!LAV_|`unx#vM%yHuj6}3YfbQcvMp=omXU}g#K8YtDPFule(`xF zYGkf!{9AuJE%=mC1zjpIPF7Xr1|eadVxl_)-qo~E$mW3|E11jU zgiB{_Ee4J?soIL@W7#8A?hb=-%4Cyk?%*MuH<|YufDX)^rFhEa=-Q&$H3g0|_woaZ z{G=E?LM zwH{ppoIQRSwPPfRP;L3v&X54CN*xrj8CoAEsguR+lIoL}mtwT&Qvu3-(y^yr;>(^R zBwd`}YUe!Jwn z$~I=pCva+a@R!Kh>GG9Vjl&Vegwk2=cNs7x0cQ2kWzQ)RXm25$o*vhsiPp%n0lLXo zz>_pdvdm|!vakRWt9}sbh{pJsV&)WB37cg5{W%=M9K5zaYhdhC6gsD8H{g~>E6+My zQv=ZJ`d4o5aFr7VyX0_TaX7c<5_F;$q0E(`qMgs5#v}(sJLBw<$UGbGCYyaQjUQdC z3_}HfFcsRxp#HqHrDTth>(L-coviTY#IUmd1q?nA321B!fvHhpn3<`2nA$4-*8N>3kyYzFmeiJfg3#xM+vF zI}D1!q#D7@eEv$13xTJG`7f0+Vsm!{F~A zIUPCQp*hPzQ+vl|lzO!I7t7JT zF35Saq|hfuTOsNJp$vuK>uv`o&_Nn2TN-F{TK=It zm()}`Og#j$gtWG0n-kg~vzER1@KsyQ)efgumA>DhBj_)MVd$2E(pBD9xCzy`8}#jx zIqlX>B?ZH?Y$D8?Nmrx`( zkM|&Vq((s#?l(zxjXE|0pz^uVpgt6^P^3SjbmbVh6;^94(9>C##g{Zqa-k}R&!@py zuURE60d}ey5~ljh>9GE?NIMb}PaBap5)HO&`^&qk7bY-y!W}H=R>^uZ>=aXb_wAo}(|1`NN5YcBUup~^jE%6-J9EvS*~*X$~Ed0 zuzZ}kVHlP6KqtbcZI1Fz=|HMjE`%#@JuX?T+e;Y&5WmeR_X_b1x12G+*u3js@wnkc zh9!C^mx_U=w-RU7RP%F*`>NTiQfU_17RV(N5e;Ax*|7EuFsi}HoiB-F!~OPMp=@nT z_*QJ!T~GOvqN3)a8#eB}$)HU#kucog};Z7?X=sPQ> z4dzmtQSJN*jGQyhez4laFZ2~~J$df|tC!WEf9bE@Rk6%Lzr2L&sJ>nS*w(4kqcyz!sl*DBC3921T5slY1AP|6Ic4OQaW@q?}oD*2Cc9NM!3s0sXWP+ z!E{Rwqq+Ks_mJ6g+7A``txxaD(5Eye3ILU6+p(8$Z!8n@DVl`S7hG7Up zFcy6psmF`#Zi@n=Dj*}+08o|<-P;)r0~y>37)e?52A05IY1wzPjLTA<058C)lXxc!$=0OT049dDXdqda0 zHSt9?mi%h~pQ}|P(Qa*sk>wI^3Uppay0;)FVzoCG)ZB}52G6X28ywE31=il{Zrjk_ zDd47z1nDT;DZXu?iFr1upeGz`hdUmlBKI;q0cY#OK~E$lwCtasIN*ZE#N=DU!G=vo z(j^Q}#&Wj}2OoD1bq>+{Q24MV?2ADPT2rbyS@{ZmE5iN+j1ap+ea2cbS<}l-4%TY8 z@G!`GhL1hah1apZSZ41ZAq41JP>>Z1w}Mb*481F-6+sE^qqGq55lYhba+>1_cvD9c zs-Q-jaIfn=quf-;GKeQr1?SvoU=*nb?Ii*QRlq)?A{!3S#oWsUMrxFUB*>5L)| z@%c(lSfFm^XLKAQ4=MxtJD~T+EXs?HVF^Svbc0laR2vfUOvfcr^a{kOU7fK1E=AYo zs{emqYQMABO~k*s6H)#O_eH|#aKk_?10-2`O!DYtbYi}O!E z?v^m1ANk24BAuBwzappr+2w;1)`A)hp8q}yfU!*n$xUQF!}xPp78FDS5mQ2Pn7b=` zHDKRd?v@YoH*UGL=)SW zFnhOPe4_-noR}S}wO)*Nlrl&jR<@Om3Vifb2Z);BS(3=Z#H6XTe^GD(!n*3>XiTJ> zrR6bfV#8m=o*eoQ)ai{5(_-YhVMmaR@)TVy=@0sfQCe%SjgDh5;WjM5H}1JXzz9RK z2v;<=6y^uSGhx!#O9ZVHkh_OibJdq?c6b5dX$cNkVx5SBS#j=e4%X*lx66?gVA$_< zWVUk-qCUnS?l9EbG}TVfQWjAW1!E{0s{uZBgAxh2-Mp_ys67^fBf_!fy?DiHC|~=_ zX#*YN5PPx`Z=LH_>()={_}T))%!^Wx<*S2gmuK)w?5*C~3}<}T!~OMLgyqCyDNAOD zAyC>KV(2-vM|k%k5W>D`_BXH{#8T2r76XoG))D}?(1w|9&-Nw}UpNpn51;7iDdtP4 z2o#vumy9y>NFET3>Zyi4XbX8`2MFtJ6wSc~gD_doim=+h=kgMTAQVv4lrrL%e5;@7 z;&}TKCObPK@5Ft7gNx(*QjhZ`Nfob&C*48^7YU_=e4(3;dDh?1+p(wzW}qSrW6r~c zOFJFm3dgybd~gOZUxL^LGr%>@-q8e1gMp!fD&$l6u+LxzbPbtL!lb%qMwD~&EG$x9 zGN9-g#6g{1V)+M%WmN*r<9e|ceI0=!n||f z3Q!-XsV?j7^39PuI7g9L{XB22wR6Sj#Nx}BjMv-yr}lA?`1B_L%VK4?2028NA~)72KoG(okAqePxGnrUJeyK>P>pvO_4{uj>fIlvviWuw|W66Vg-1L<$=rfCib+EG+QM zXr!s`-8aINZvGtS{|8e0CumI*nals=*!36~ZrT3(RH9;}#>rtWeNAhS?i- zce=koX1m(rSy7LqAuD)+{5pIMN9nj>33-G;iCt1r!I2wpK!fc z%!Y;p_!1UKI=sa#lS^)Qts2)&xXFS@cD!C}{}hg|C;;vt+P@|w>E2~M*DEphoOf%R z=ZupOL9(%6Ri8jzQ7ddoz?B2Xr?@WY#VxJkWDN>5?l9qUZwNIHKG+0}BZsl)alU63 z(`&#utsjy143gUm*kaY6qZRK~C}m-2op<-TbIf8Iw5@Ab!2tJB?Pa;*hf|Iv@a?Ux z!_dulq_`#sy#e1=6iFb8mbSFP=QUwXMCe5 z@>mIil{v8Qb(;?abmc@WmW@ zKO->vNDk=@SELA-gL4H_+zDE($_4O2R3J>*O@R2t_#UPqKO8L9CI?3-B!v-Zo4bEb!fy}T2&05(GVrd zY(^AW(JgxZhLz?xtQACi6-??ItosKrnZ|3si`M)O^8zx2jy)DZYQtt8dT|d%R2qUL zeS!z;w4ASnL6Q%pw1|m8wU5&Qo>I67(FIT2ybne}R5jB>7aj3*t&5QwPORuLRwJJa z=GT5h#qO6Kuv^kU7$YXmvOx$f#@l~E=C9KG z;Jf7RFKzB4w`x63%L^6yUhT|Fv3?`w=dDxb`XS;Z5ktCJ1thGL_qv_5(<(oYEU}`x zTd^EY9Q}m8CNWFEwTGkVG=zEFe>dp<>3<)UQeZ2>2aa0(2ehoYtX?i#GTHT}(1_{%?cRN5$&>g|0))Qj8k ze|^!|%%X>9jd!j2koRk=e}`T|Qcs zs(WqJrQY9N%dgGwQ(bPnBdT8H4o2(Lf;H4pnr;fP_f>VT>9Ta+&o3q2d;RjY*hdGX z`Pgjr;)K^Cx*SQWvmfC7_!d=?sv@qCbICWx@%HYzyz5IfDqr4NWe$*kaHgBbxOk!4 z$j($mdm~?#o9SDkGUT0Q+|vHMCP&)4YifvxGLl{ZtaezfJl!zv$3^FBSmb4K-! zeJjPquhpsR2Hole{s6o9!;k=b_8g6DE3ug=(8Q)F?&@hGu9Jy7lK`RB`HHS_Ntx+E`_v}wdP|VZ ze%8`T*jv`)j@E`gcb!VUZ+y4kXZp&#LK{TR!c9IE9xUXPC9Lk2d|ml5=L=%NI8^BM z6@MZ=rp_o|X7O7Bg3T@ZO?*m2gH3-^QI7r@5~cp&mIH4K-3A7)jn{A3t{7J1O9TN> zNeSi}j@k4NxDVw^huU}-pD;A$Om{`30M+Bqh)qyj0YvyoH0@5v&UjsE|eHn*l06z zq!x$$d+XDW`1pr3@Q+lMu4{V7NO9rt+oKJ4oPWbndioBSWYLbP%w5Ry&N|}qIaf{j zb5lPU+Lh~?hO01ka6OoO{=vs8pn^u`_IoTRIoCd4aJJ*}Y|sJ;&*2JfxcL$J!Tj+`U3?Bd6o6BnCRr_G^8ZE~K4 zbdplY0dYC9YHBWq$NqIn56P`Z4{GCc3@q$s{7taF`dYf=dHo!WScs4C-c0+S^od#A z(J(2T=yDH;2V_lcuPCiL+2YTIQ*LhP4Y*kJU$fbecT&VZN@rL`z@;XK*D7D+U+?nE4&9Z@Z>N*)C1h>PQYkO;TzF)L(Bt9-bW zg0{~>2x;yhe*v~F!NfR`b48kD4`LzUipy7W5kE>&?50p8fQi8kI|3w+UPJ*!QUOWx zs4R`eEsZfAs#QxDdNjZ;d`#YK>a_WNUukoxEc;l*=lSNCqunKi^*kVFW(s3l{BK8s z6pkcmamk!T>*i}$SD{d$46cBYu~M-5*B?vW@Q$>;GLxK~!R;mWB#8+~h;s_gi?Y3C zmXm$IYQ>Zhz-*8IM#^fIt!^IjT7rHrWkzw&Aj#+<*+BzQ&E$mV*w&;=r@r7v;L;nD z@KcbYZd@34vS{F3%Ddv92W91oMp;JC7kAG|y4bt%VZmxS-J$0TjVs!{DrD0y;MkML{8PTA=rfk_wn7Ngdn zKmt{JiJhfe5;vBGaI4XGo;BjNrQPCUbD8Wu=vK zg}l*}GT_^)J0pd2hxs$bp%Z$L=N28~UBD~wRG;1>gd3<3jz2D_jO3t;hsPbLLSBXy3@L#T^#61}2016d2Wjh0x;1 z1ZZpWXo!{RNw`J(M`l^JC*@Q+w>=X*cw)+h;T=@RQzZiF-a#@c!0oOr2cA>;SYCyA zn@-60LvNAkzNid7&&?mAwzCpOS)LoIlr44@*6?&j`)O2XDl>>ra_Wz5_<<`yA;6gvsygw)o1pBF;4- zbts8@*Pt^b?t<&^k2XhZRl2ET|D!P9hz}+7$s`Wz(JyU6P%J@YN-2=-x$VWR47W^{ zBHd7%Hn*i169wzNaDqvOFZDB&q_uB)8;Y}4_q*9g0tpS8nRMvEbNng2x~%_jk|6(3 zz8iaxDY;p(%C$7ueTFoQWztv7nMi0xYSknz2_KvOJc+g1+@xqx{2f?0xt(H`gfY;! z^-A0|bQQ>m&XE(KNF4&m$Z6)|42q6u-Iv<(b=3z`F3cA@maWC_attTW92J+bhJtTHpRUP0lN0?xAX1L@{CLTlz!<;$gix`@b*xtZ#XOIL zQaCBwJTnnG%;O*O1Hx%N{KA>#??R8=oTO_E6l{rx&-~P#Fm}~UpXhkdR$+hOA0F}h z3}2aU+GfzyC5&_&j}^{^Z^du?aa57d!<(-zL34eOe_yA)AkGd?h4BhUA60Z|pDau& zGCXbB*&PM+Bz*%_W~HAS5}!8&3y(b!)C254f@*rrM$8J-j1CNN44F zvCw|ag9*9Ygk5)zaTgY7%qjfy_@<-zj3oc3=U{MFO z@?rIAsx?xjTn7eM4k@Az-Wo-{p=Ta+c+*z1AwVc0TSWT)QZ_o@Iq>8Qj`XAl2<^Ts zBgdVh9FliYZeqNLM<}8wTt+R138bwStnp>yRb(eVA%5j~&UIMr;hjRrsE@7Tc^8A$ z+P|Mr8Hk7gG|2uJQf{a@Fju%S!*a4eok8P+WaVRO77%>0Tlf*-?d`KS*heO*wmNdY zR1}^3#$AzlmmP6O7SWj<{V2lS6EI&K&4v(~LwsFMo7`L}alE6~HU6nwr>#s2yFKxA zA@}-5&XwvbsM`=fyQN&ckot$0lLt=h>?2z?pG^6kkn0pHsE1?X`&2FXfd7ikEinBN za(KFjiBpnlVq+?BeKWGXJ#WMEGL_Gm45YA`&`&9jKnD#jaoEU?BgZBT@T04!&1W1^ zjb_;_HCRta$Wf8~<~0|)bWHZ^EipJs_Xi33hV%>|II z8}zc&UC_$@0#u2oX%%f1B{u4Doy+9(#_D8GU^H$3a!Q*+*bZnw^^@Cmu~FP^sCW~< z+p|ykAV_n}?UtXHWM$|55nmR3O$*2k*I5b-8tWw}tJ}H=x}vgPDkHt6f1|Pye^t#u1@Hnsa!m%egyJ`!;iG zsX&y+ye+y8o5k=TS+MUkFA|>%73gn2^mnrgMS2C@xF2&TiG5zGcT396>-~ zDxo?;1}<*S&4-T+Fy`%Ho~{`{`B*YGtJ6oy*yK{wm*QS_T0zLtJXiK^hFU(cC)K>n z8nD+(!2fSc<=K|*ETH-B-tBM>`o8Xyzu!tpmc~gTUhq%UEEvielbJD2rDjZWs^+Eo zujlFWR4gL1ZbCNRQRaL9IimS8(|ridU)}5SqIYaD4z7y}PcaTB>eI+(D_G@jj1wx> zx-DIykZ!)`3>g;Gd%2s3u+3~3B5hZOAf!r|b*(9JKW%1um$|T+1M>HrMz#u?= z5JJKX4Y~6JK})yVBRw`&0q?-HzjK%&%bvV`p)?vP!x$&z%&l8ZSKIhj_7VX%Deop^ zw}Oqbw-0zKSV&c}xIIUjzqC+wBQr&QMTLr2*v;x+K~5zx>akMEFQrKhvw9j!NQ2HI ze<2%@KlX|CZd9jHp_@a|LK78H$qv*EXA^=b0*6r6^h>K;kJui-2Py|7KlYzeR5Y1N ziZ2v(%cIl^>g*(tsa?MK+r=z|=hd(ll?6MR&+vOGMn$C^5)fWc(XmdQ_>qS2d#22_ z`~@dyP8+rQ{8`7fdvN9qIljw}YdC``OTWLmyOf;ubZ6?y-f7>07JI{EvPrB?vO1^1 z?X%4VWU=h>epFd?Z(Sh%Kw*sqLNcl>#$@wl_js4gSR9R4xl(Z$4NW{@dBL}2K*cm6 z^dKL2iTD_|R^Ldo?HY{EcE9&tfIs)x6-5EbfsX1=5cw|JX++0*z7>;+{7y?}^5}^` zo+=;PisOn2n)k8Qr#oMI8kcfcsU)G)E#;lC_rZXp^q8VQG9KjiJzE%jTiKk z8R$4QkX{vrvxbb6{pPNX*faq+V7!C@ygYSQ3oFnwfPJ>=3GK9o{;U&AR5P&KSWWy2 z<{Z5~LgCEbNLCIZ)~31@)F%Pv=MLTT0iBSnA`>C?rzfS9TlKeKC+m3A|gz zh#W*p5UemTzU$U{_TxP|oyHH$vmSXG5$j9E+=z#lJavq02P$>Yi}R_^lX9iJ$~5%K zRN%2+X?uvRE^R9@-(ro|W-9*fmXcNP$6zxLXDD2f*|8UfPRdYe>hfxQsm<`4;)PP3 zf>Mb=wNbW@wi8b5U!=1c2i7d}E(Mk%{t=Sm)zIA)> z_}ep__9KR)yQ;strmi?i;@3Ul0x%wa10DA#$=%Aj9`^5(6o-%vW!5y=)?UO&`-Nlj zD#X}co4R3D=a!b}QWx|o99l@I>){CglRRLJ)*VnhTA|BxI$eLi9yFaYxI-La?tY8l zdng=-=*Ia4-`)kj^rR}nBCqWYen`_7#uIZ(Oo93%hq1<}T7Q}Uw_|g-M z=B5Wo`HLNz#5Ma#nrJ<33*f#>Vq3Z0x8K@R-ukJnJJ&5lr(+Ksxk+bp z!n=w-$6C~)^2OdO=x_vm9ts&J$->@oPDae?q9q8!-ZOUKE$NSY`M0H5lXVI$b4Rs7 z+03)F!`Ni4?oBuC zakbT|X2Fcd3srd12>e)q-)*uq00v_#Z{bNyBl!7lhf)SsaHr%8sS-lcCE+I-s4vWF zqK1)1N3wCzGYh|trWO1jjq2nON3bdcuYxed6{s=jt0Ajp2^HV&?o}L3#k;t3aDZK> zyL7!Lm4OpZJvn&gloYcxhIhUNePrMFnj4dK_~Zxl$-NmUg&2G3XFFe{dI(9icS^$t z=}AE_l0GN)=^OV6D~ee-$-2L?`hSFy5T#6RJWRl_dbK#7>EZ+;bbVxF6EkeFFy9#- zuD*^iscpv(n%<3P*#QFK#*lz~WmF|PXdcG@1M`!HT`c(T8&b%bf8gzGU@;$Ma>IM+ zC756x-ooRPh#$lQBk2Iuj@2^-RfH0O!hDH-bsmtKW~4C29->UT*dQ($H4Q_5MO?sA zC`J1wI9dnm3dAE%RwX8-h0{W7DWcQFknckea{LVpSluxV%WAv@#!duzJqpBznks5X zG9hr_3Q(cfy$+IVNZ-3j-Wg{dVZ%Tp3N+5q!6&$W3jS(AjlMrN1*8%Nv7)XVLivE{ zz)c{P0aDv0v9B!#!s>UU#th>@Y8Z_Fob-(hRcz`{K;trJ97Nc)-l+0ZN>djz?aDKN|d3N7J{ue04pt9-C~3_)-hzOdo3=q0VMNj_WF3+$I85r!S4t*}^l zazY(FewR@}1aXW?m0e6ey-Wtz*s=W7yKJ!J9b%$)fcJ*m8a1@I4q#{%Hdf;cT zP!egp<+D#v(hl;k$XNtTNPSFIc#O4Z40VIVmy2Im+(u20C%>_{!=!FY4GuQZBa_T9 zzG!e#sD;q1#Fj;iXPfcuf^(hsR;AYdrCYz;Y)Cuc22AQs5|<_4ql*wd;$Deh@eQ{0 zV{v~CGN-S|DgX)!hAD;7{+@I}BeAlcl7IbYg8f(F($c%IQpnSsUeY2SN0ljq)T$7W ze@He~tloRg>hklq40)!sj*ew+>!Lh^=xwyZu%#UcIP#i6uY4!?bU|^%pSk zFL~`u_21z2HVj~_MT0gaM#^I^Y3iheQ#dgDKuP*0&$G3Rg7;5sZK8nS+4|JK*vh{2 z^KAVURDbnWJ3iR)nlwnCaNz^ - - - - Svg Vector Icons : http://www.onlinewebfonts.com/icon - - diff --git a/res/upload.png b/res/upload.png deleted file mode 100644 index b6f3c1fc0fe0d3f6b4bef72ec66a3bcd4d3dc2b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1369 zcmeAS@N?(olHy`uVBq!ia0vp^w;321WjNS?EI-MEKY*N;OlRi+PiJR^f};Gi%$!sP z291fe6Ky>XJIEZ356*Vg;wuv|5lX0FZ|9Y@G5m#q-=7-vfF7^GX*y9 z6gB+QC154!%A;(wxhK-o>tK1!UF8GUcUzqQWdHs7i@?uf%uGrjd5nE#SIn)*x@>0g zUf4a-GpzG`r@QYig^$YDMf>kth{uXmq+L0)03F=@2AtX zvGzaY|Gc}V<mW zgs+r-@IXL9FX-E>^SgK7s{Z}mXY+pfqN7F2cV#rC0HcL1$=lt9;Xep2*t>i(P=vF< zBeED6gV#Zr(Me-=1yGQ^#M9T6{Ru0Zh#KGI!)@XW49sDkE{-7;x8B~}$jfZV!{Rvi z_xs4cn5Oe}MQTA>T-;3aYxw$$-tV1XJZZ*>;)*rxZE6-919^N4k`_zMdT_+e(Bxoe zZ&F5+u=LRjEb3-m3pxFAM4W}^+|a#23w$Lv5^yGzEqPiL;$4K z8DgQD3DgN-t!)pWW^v?&Lrgz*>46ehiJ{gG4zQ^`TzX*5Qj43qF9-k~aBKyBC3hYH z)f@q-*=}IA(9jZOj&7H4Mh*waAa0<$W`j(+^8l#q7)Y5pP}xSXvQnVL0^yhzwz)v@ z7cAln9o2!ltq!_oT;SAmYW6D-lq#XF5?OuahD&9)s|uz6+S^Ip$Z5FY0LBVt4ml7k zAgy2q!5zE;(hz)vt%DbWlbDaNLGVV#BxW#fyuq*$f+0qMjHIz~z+{gDJfBkxOxed6 r?mzzzbOh8NXE|UlBE@s4HvF*8f8(*Ycx^~XAV|W~)z4*}Q$iB}e1!gF diff --git a/res/upload.svg b/res/upload.svg deleted file mode 100644 index 9f31b60..0000000 --- a/res/upload.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 5bd28d0..ee3fe6d 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -99,18 +99,39 @@ void MainWindow::renderContactRequest(){ requestContact.setupUi(&dialog); Settings::saveRestore(&dialog); + QString icon; + auto theme = Settings::getInstance()->get_theme_name(); + if (theme == "dark" || theme == "midnight") { + icon = ":/icons/res/unknownWhite.png"; + }else{ + icon = ":/icons/res/unknownBlack.png"; + } + + QPixmap unknownWhite(icon); + QIcon addnewAddrIcon(unknownWhite); + + + + QStandardItemModel* contactRequest = new QStandardItemModel(); for (auto &c : DataStore::getChatDataStore()->getAllNewContactRequests()) + + { - QStandardItem* Items = new QStandardItem(c.second.getAddress()); + QStandardItem* Items = new QStandardItem(QString("Unknown Sender")); contactRequest->appendRow(Items); requestContact.requestContact->setModel(contactRequest); + + Items->setData(QIcon(addnewAddrIcon),Qt::DecorationRole); + requestContact.requestContact->setIconSize(QSize(40,50)); + requestContact.requestContact->setUniformItemSizes(true); requestContact.requestContact->show(); requestContact.zaddrnew->setVisible(false); requestContact.zaddrnew->setText(c.second.getAddress()); + } QStandardItemModel* contactRequestOld = new QStandardItemModel(); @@ -137,7 +158,7 @@ void MainWindow::renderContactRequest(){ QString label_contact = index.data(Qt::DisplayRole).toString(); QStandardItemModel* contactMemo = new QStandardItemModel(); - if ((c.second.isOutgoing() == false) && (label_contact == c.second.getAddress()) && (c.second.getType() != "Cont")) + if ((c.second.isOutgoing() == false) && (requestContact.zaddrnew->text() == c.second.getAddress()) && (c.second.getType() != "Cont")) { From a02ee09241799febdb54e42fd35c464a95501a1e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 28 May 2020 00:30:02 +0200 Subject: [PATCH 170/251] fix place of gui element --- src/requestContactDialog.ui | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index 242e3ba..d4420ea 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -376,13 +376,6 @@ - - - - - - - @@ -397,6 +390,13 @@ + + + + + + + From 76a7776e7385b2cbd5c8ac8748fd63392c78a76a Mon Sep 17 00:00:00 2001 From: Denio <41270280+DenioD@users.noreply.github.com> Date: Thu, 28 May 2020 15:39:40 +0200 Subject: [PATCH 171/251] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a36f828..31d4041 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ SilentDragonLite does automatic note and utxo management, which means it doesn't ## Compiling from source * SilentDragonLite is written in C++ 14, and can be compiled with g++/clang++/visual c++. * It also depends on Qt5, which you can get from [here](https://www.qt.io/download). -* You'll need Rust v1.37 + +* You'll need Rust v1.41 + ## Building on Linux From 0333d502ed312a607f342566351f412db8fb5810 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 28 May 2020 16:24:55 +0200 Subject: [PATCH 172/251] fix deps --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index c2021b0..01613d0 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=1daf5ce75fcbd51047360681652f173f93f54f93)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=1daf5ce75fcbd51047360681652f173f93f54f93#1daf5ce75fcbd51047360681652f173f93f54f93" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359#32ca60735b3529ff8589ab08fc16678f508a9359" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=1daf5ce75fcbd51047360681652f173f93f54f93)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 15e0acd..fba5265 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "1daf5ce75fcbd51047360681652f173f93f54f93" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "32ca60735b3529ff8589ab08fc16678f508a9359" } From 1efbfa342fb72fdc017f773fa5c70123d21789a6 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 28 May 2020 16:25:51 +0200 Subject: [PATCH 173/251] fix deps --- res/unkownBlack.png | Bin 0 -> 21025 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 res/unkownBlack.png diff --git a/res/unkownBlack.png b/res/unkownBlack.png new file mode 100644 index 0000000000000000000000000000000000000000..faf65e0eeb0c6b8e08a7cfdd172801dea0812cc0 GIT binary patch literal 21025 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 Date: Thu, 28 May 2020 16:44:12 +0200 Subject: [PATCH 174/251] switch back to sdl-cli 1.0 --- lib/Cargo.lock | 6 +++--- lib/Cargo.toml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 01613d0..e0ea0c9 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d196ad938a22810c0b6b4164e6bf8f1db0409763)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359#32ca60735b3529ff8589ab08fc16678f508a9359" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=d196ad938a22810c0b6b4164e6bf8f1db0409763#d196ad938a22810c0b6b4164e6bf8f1db0409763" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=32ca60735b3529ff8589ab08fc16678f508a9359)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d196ad938a22810c0b6b4164e6bf8f1db0409763)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index fba5265..dba0c30 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "32ca60735b3529ff8589ab08fc16678f508a9359" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "d196ad938a22810c0b6b4164e6bf8f1db0409763" } From 01737a5dfafc8f44612af3413535b2023edbd648 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.notfound> Date: Thu, 28 May 2020 19:31:34 +0200 Subject: [PATCH 175/251] update// added read fix --- src/FileSystem/FileSystem.cpp | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index 208bfaa..07d476c 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -100,12 +100,29 @@ QList FileSystem::readContactsOldFormat(QString file) in >> version; qDebug() << "Read " << version << " Hush contacts from disk..."; qDebug() << "Detected old addressbook format"; - QList> stuff; - in >> stuff; - for (int i=0; i < stuff.size(); i++) + if(in.status() == QDataStream::ReadCorruptData) { - ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); - contacts.push_back(contact); + qDebug() << "Error reading contacts! ---> Your hush contacts from disk maybe corrupted"; + QFile::rename(file, file + QString(".corrupted")); + QMessageBox::critical( + nullptr, + QObject::tr("Error reading contacts!"), + QObject::tr("Your hush contacts from disk maybe corrupted"), + QMessageBox::Ok + ); + } + else + { + qDebug() << "Read " << version << " Hush contacts from disk..."; + QList> stuff; + in >> stuff; + for (int i=0; i < stuff.size(); i++) + { + ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); + contacts.push_back(contact); + } + + qDebug() << "Hush contacts readed from disk..."; } _file.close(); From 47d11fc5c8b1b74dc0af115879466161e0aaca17 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.notfound> Date: Thu, 28 May 2020 19:57:22 +0200 Subject: [PATCH 176/251] update// added backwarts compat on addresses --- src/Model/ContactItem.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Model/ContactItem.h b/src/Model/ContactItem.h index 7eda17d..861ad26 100644 --- a/src/Model/ContactItem.h +++ b/src/Model/ContactItem.h @@ -11,11 +11,11 @@ using json = nlohmann::json; class ContactItem { private: - QString _myAddress; - QString _partnerAddress; - QString _name; - QString _cid; - QString _avatar; + QString _myAddress = ""; + QString _partnerAddress = ""; + QString _name = ""; + QString _cid = ""; + QString _avatar = ":/icons/res/sdlogo.png"; public: ContactItem(); From 54deb0cb2688528eb67a527de641bff23f1207f0 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.notfound> Date: Thu, 28 May 2020 20:09:23 +0200 Subject: [PATCH 177/251] update// added backwarts compat on addresses --- src/FileSystem/FileSystem.cpp | 19 ++++++++++++++++++- src/Model/ContactItem.cpp | 14 ++++++++++++++ src/Model/ContactItem.h | 2 ++ 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index 07d476c..4d3f146 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -118,7 +118,24 @@ QList FileSystem::readContactsOldFormat(QString file) in >> stuff; for (int i=0; i < stuff.size(); i++) { - ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); + qDebug() << stuff[i].size(); + ContactItem contact; + if(stuff[i].size() == 2) + { + contact = ContactItem(stuff[i][0],stuff[i][1]); + + } + else if(stuff[i].size() == 4) + { + contact = ContactItem(stuff[i][0],stuff[i][1]); + + } + else + { + contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); + } + + contacts.push_back(contact); } diff --git a/src/Model/ContactItem.cpp b/src/Model/ContactItem.cpp index d2321bd..589ca9f 100644 --- a/src/Model/ContactItem.cpp +++ b/src/Model/ContactItem.cpp @@ -7,6 +7,20 @@ ContactItem::ContactItem() {} +ContactItem::ContactItem(QString name, QString partnerAddress) +{ + _name = name; + _partnerAddress = partnerAddress; +} + +ContactItem::ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid) +{ + _name = name; + _myAddress = myAddress; + _partnerAddress = partnerAddress; + _cid = cid; +} + ContactItem::ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid, QString avatar) { _name = name; diff --git a/src/Model/ContactItem.h b/src/Model/ContactItem.h index 861ad26..edb512d 100644 --- a/src/Model/ContactItem.h +++ b/src/Model/ContactItem.h @@ -19,6 +19,8 @@ private: public: ContactItem(); + ContactItem(QString name, QString partnerAddress); + ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid); ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid, QString avatar); QString getName() const; QString getMyAddress() const; From 5e9c7fa5ee9118ae98d7ba0e187e8a3770d541ae Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.notfound> Date: Thu, 28 May 2020 20:13:13 +0200 Subject: [PATCH 178/251] update// address improvement --- src/FileSystem/FileSystem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index 4d3f146..92f5bb8 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -127,7 +127,7 @@ QList FileSystem::readContactsOldFormat(QString file) } else if(stuff[i].size() == 4) { - contact = ContactItem(stuff[i][0],stuff[i][1]); + contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3]); } else From 4413d3de62a1504c27f94ba7a8462f5dd8faecd2 Mon Sep 17 00:00:00 2001 From: Strider <127.0.0.1@404.notfound> Date: Thu, 28 May 2020 20:45:30 +0200 Subject: [PATCH 179/251] update// address improvement --- .gdb_history | 5 ++ peda-session-SilentDragonLite.txt | 2 +- src/FileSystem/FileSystem.cpp | 80 ++++++++++++++++++------------- src/addressbook.cpp | 5 -- 4 files changed, 54 insertions(+), 38 deletions(-) diff --git a/.gdb_history b/.gdb_history index 06f6849..4846c14 100644 --- a/.gdb_history +++ b/.gdb_history @@ -54,3 +54,8 @@ r s n q +b FileSystem::readContactsOldFormat +r +n +c +q diff --git a/peda-session-SilentDragonLite.txt b/peda-session-SilentDragonLite.txt index 6f620bf..12c5dfb 100644 --- a/peda-session-SilentDragonLite.txt +++ b/peda-session-SilentDragonLite.txt @@ -1,2 +1,2 @@ -break FileEncryption::encrypt +break FileSystem::readContactsOldFormat diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index 92f5bb8..f7d37be 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -83,7 +83,7 @@ void FileSystem::writeContactsOldFormat(QString file, QList contact c.push_back(item.getAvatar()); _contacts.push_back(c); } - out << QString("v1") << _contacts; + out << QString("v2") << _contacts; _file.close(); } @@ -96,52 +96,68 @@ QList FileSystem::readContactsOldFormat(QString file) contacts.clear(); _file.open(QIODevice::ReadOnly); QDataStream in(&_file); // read the data serialized from the file - QString version; - in >> version; - qDebug() << "Read " << version << " Hush contacts from disk..."; - qDebug() << "Detected old addressbook format"; if(in.status() == QDataStream::ReadCorruptData) { - qDebug() << "Error reading contacts! ---> Your hush contacts from disk maybe corrupted"; - QFile::rename(file, file + QString(".corrupted")); - QMessageBox::critical( - nullptr, - QObject::tr("Error reading contacts!"), - QObject::tr("Your hush contacts from disk maybe corrupted"), - QMessageBox::Ok - ); + qDebug() << "Error reading contacts! ---> Your hush contacts from disk maybe corrupted"; + QFile::rename(file, file + QString(".corrupted")); + QMessageBox::critical( + nullptr, + QObject::tr("Error reading contacts!"), + QObject::tr("Your hush contacts from disk maybe corrupted"), + QMessageBox::Ok + ); } - else + else { - qDebug() << "Read " << version << " Hush contacts from disk..."; - QList> stuff; - in >> stuff; - for (int i=0; i < stuff.size(); i++) + QString version; + in >> version; + if(version == "v1") { - qDebug() << stuff[i].size(); - ContactItem contact; - if(stuff[i].size() == 2) + qDebug() << "Detected old addressbook format"; + // Convert old addressbook format v1 to v2 + QList> stuff; + in >> stuff; + qDebug() << "Stuff: " << stuff; + for (int i=0; i < stuff.size(); i++) { - contact = ContactItem(stuff[i][0],stuff[i][1]); - + ContactItem contact = ContactItem(stuff[i].first, stuff[i].second); + contacts.push_back(contact); + qDebug() << "contact=" << contact.toQTString(); } - else if(stuff[i].size() == 4) + + } + else + { + qDebug() << "Read " << version << " Hush contacts from disk..."; + QList> stuff; + in >> stuff; + qDebug() << "Dataarray size: " << stuff.size(); + if(stuff.size() == 0) + return contacts; + + for (int i= 0; i < stuff.size(); i++) { - contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3]); + qDebug() << stuff[i].size(); + ContactItem contact; + if(stuff[i].size() == 4) + { + contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3]); + } + else + { + contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); + } + qDebug() << contact.toQTString(); + contacts.push_back(contact); } - else - { - contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); - } - + - contacts.push_back(contact); } qDebug() << "Hush contacts readed from disk..."; } - + _file.close(); } else diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 808ca40..6d7f913 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -417,12 +417,7 @@ void AddressBook::readFromStorage() allLabels = FileSystem::getInstance()->readContacts(AddressBook::writeableFile()); // test to see if the contact items in datastore are correctly dumped to json - for(ContactItem item: allLabels) - { - DataStore::getContactDataStore()->setData(item.getCid(), item); - } DataStore::getContactDataStore()->dump(); - AddressBook::writeToStorage(); } void AddressBook::writeToStorage() From e21a02a510e5a8274954030067cbbc3e3ab667df Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 28 May 2020 21:05:54 +0200 Subject: [PATCH 180/251] change error message if sdl has no connection --- src/controller.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controller.cpp b/src/controller.cpp index 83ee2e4..17f80bc 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -563,7 +563,7 @@ void Controller::getInfoThenRefresh(bool force) QMessageBox::critical( main, QObject::tr("Connection Error"), - QObject::tr("There was an error connecting to hushd. The error was") + ": \n\n"+ err, + QObject::tr("There was an error connecting to the server. Please check your internet connection. The error was") + ": \n\n"+ err, QMessageBox::StandardButton::Ok ); shown = false; From c298b8a63cf62511569475dc8dcb21c841305abe Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 28 May 2020 21:08:52 +0200 Subject: [PATCH 181/251] change default theme to dark --- src/mainwindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 7db28cf..27c567e 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -59,7 +59,7 @@ MainWindow::MainWindow(QWidget *parent) : } catch (...) { - theme_name = "default"; + theme_name = "dark"; } this->slot_change_theme(theme_name); @@ -1823,7 +1823,7 @@ void MainWindow::slot_change_theme(const QString& theme_name) } catch (...) { - saved_theme_name = "default"; + saved_theme_name = "dark"; } QFile qFile(":/css/res/css/" + saved_theme_name +".css"); From 83dc3b5135251bee968ae5d262420f91c21ff4e4 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 28 May 2020 21:30:21 +0200 Subject: [PATCH 182/251] make sd-logo default for a new contact --- src/addressbook.ui | 28 +++++++++++------------ src/contactrequest.ui | 44 ++++++++++++++++++------------------- src/requestContactDialog.ui | 28 +++++++++++------------ 3 files changed, 50 insertions(+), 50 deletions(-) diff --git a/src/addressbook.ui b/src/addressbook.ui index f7877bf..1bcf214 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -65,21 +65,21 @@ - Stag + SDLogo - :/icons/res/Stag.png + :/icons/res/sdlogo.png - Elsa + Duke - :/icons/res/Elsa.png + :/icons/res/Duke.png @@ -95,41 +95,41 @@ - Duke + Berg - :/icons/res/Duke.png + :/icons/res/Berg.png - Yoda + Sharpee - :/icons/res/Yoda.png + :/icons/res/Sharpee.png - Berg + Elsa - :/icons/res/Berg.png + :/icons/res/Elsa.png - Sharpee + Yoda - :/icons/res/Sharpee.png + :/icons/res/Yoda.png @@ -185,11 +185,11 @@ - SDLogo + Stag - :/icons/res/sdlogo2.png + :/icons/res/Stag.png diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 1e37ee9..cd4120b 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -38,21 +38,21 @@ - Stag + SDLogo - :/icons/res/Stag.png + :/icons/res/sdlogo.png - Elsa + Duke - :/icons/res/Elsa.png + :/icons/res/Duke.png @@ -68,41 +68,51 @@ - Duke + Berg - :/icons/res/Duke.png + :/icons/res/Berg.png - Yoda + Stag - :/icons/res/Yoda.png + :/icons/res/Stag.png - Berg + Sharpee - :/icons/res/Berg.png + :/icons/res/Sharpee.png - Sharpee + Elsa - :/icons/res/Sharpee.png + :/icons/res/Elsa.png + + + + + + Yoda + + + + :/icons/res/Yoda.png @@ -156,16 +166,6 @@ - - - SDLogo - - - - :/icons/res/sdlogo2.png - - - diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index d4420ea..f8cb244 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -205,21 +205,21 @@ - Stag + SDLogo - :/icons/res/Stag.png + :/icons/res/sdlogo.png - Elsa + Duke - :/icons/res/Elsa.png + :/icons/res/Duke.png @@ -235,41 +235,41 @@ - Duke + Berg - :/icons/res/Duke.png + :/icons/res/Berg.png - Yoda + Sharpee - :/icons/res/Yoda.png + :/icons/res/Sharpee.png - Berg + Elsa - :/icons/res/Berg.png + :/icons/res/Elsa.png - Sharpee + Yoda - :/icons/res/Sharpee.png + :/icons/res/Yoda.png @@ -325,11 +325,11 @@ - SDLogo + Stag - :/icons/res/sdlogo2.png + :/icons/res/Stag.png From 854b14df6a744733e6052d8582887f15226d0941 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 30 May 2020 14:12:17 +0200 Subject: [PATCH 183/251] unready code for mmessage encryption --- src/chatmodel.cpp | 231 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 230 insertions(+), 1 deletion(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index ee3fe6d..445a6f1 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -374,7 +374,236 @@ Tx MainWindow::createTxFromChatPage() { QString hmemo= createHeaderMemo(type,cid,myAddr); - QString memo = ui->memoTxtChat->toPlainText().trimmed(); + QString memounencrypt = ui->memoTxtChat->toPlainText().trimmed(); + + + int length = memounencrypt.length(); + + char *sequence = NULL; + sequence = new char[length+1]; + strncpy(sequence, memounencrypt.toLocal8Bit(), length +1); + +////////////////////////////////////////////////////Important: If we can decrypt the output of QString memo, after we encrypt it, Bobs code must be in Controller.cpp + + /////////////////Alice Pubkey + #define MESSAGEAP ((const unsigned char *) "Ioesd") + #define MESSAGEAP_LEN 5 + + unsigned char alice_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_generichash(alice_publickey, sizeof alice_publickey, + MESSAGEAP, MESSAGEAP_LEN, + NULL, 0); + QString alice = QString::fromLocal8Bit((char*)alice_publickey); + qDebug()<<"Alice Pubkey : "<(c1), CIPHERTEXT_LEN); + + qDebug()<<"Size Controller Memo :"<< encryptedMemo.length(); + + QString memo = QString::fromUtf8( encryptedMemo.data(), encryptedMemo.size()); + + + /////////////////Bob Pubkey + #define MESSAGEBAP1 ((const unsigned char *) "Hal12") + #define MESSAGEBAP1_LEN 5 + + unsigned char bob1_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_generichash(bob1_publickey, sizeof bob1_publickey, + MESSAGEBAP1, MESSAGEBAP1_LEN, + NULL, 0); + + qDebug()<<"Bobs Pubkey created"; + + /////////////////Bob Secretkey + #define MESSAGEBS ((const unsigned char *) "Hal11") + #define MESSAGEBS_LEN 5 + + unsigned char bob_secretkey[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; + + crypto_generichash(bob_secretkey, sizeof bob_secretkey, + MESSAGEBS, MESSAGEBS_LEN, + NULL, 0); + + qDebug()<<"Bobs Pubkey created"; + + /////////////////Alice Pubkey bob creates + #define MESSAGEA121 ((const unsigned char *) "Ioesd") + #define MESSAGEAP121_LEN 5 + + unsigned char alice1_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_generichash(alice1_publickey, sizeof alice1_publickey, + MESSAGEA121, MESSAGEAP121_LEN, + NULL, 0); + + QString alice1 = QString::fromLocal8Bit((char*)alice1_publickey); + qDebug()<<"Alice Pubkey Bob create: "<(m2),MESSAGE_LEN); + qDebug()<<"7: "; + QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); + + + + qDebug()<<"OUT decrypt:" << memodecrypt; From b67d304b66a9db782a9d6e72b2f3017ef7e0a7d0 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 30 May 2020 21:43:04 +0200 Subject: [PATCH 184/251] undo addressbooklabels storage in filesystem --- src/FileSystem/FileSystem.cpp | 86 +++++++---------------------------- src/Model/ContactItem.h | 10 ++-- src/addressbook.cpp | 19 +++++--- 3 files changed, 34 insertions(+), 81 deletions(-) diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index f7d37be..d31d5f4 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -1,11 +1,7 @@ -// Copyright 2019-2020 The Hush developers -// GPLv3 - #include "FileSystem.h" + #include #include -#include "../Crypto/passwd.h" -#include "addressbook.h" FileSystem::FileSystem() { @@ -23,9 +19,9 @@ FileSystem* FileSystem::getInstance() return FileSystem::instance; } -QList FileSystem::readContacts(QString file) +/*QList FileSystem::readContacts(QString file) { - return this->readContactsOldFormat(file); //will be called if addresses are in the old dat-format + //return this->readContactsOldFormat(file); //will be called if addresses are in the old dat-format QFile _file(file); if (_file.exists()) @@ -83,7 +79,7 @@ void FileSystem::writeContactsOldFormat(QString file, QList contact c.push_back(item.getAvatar()); _contacts.push_back(c); } - out << QString("v2") << _contacts; + out << QString("v0") << _contacts; _file.close(); } @@ -96,68 +92,20 @@ QList FileSystem::readContactsOldFormat(QString file) contacts.clear(); _file.open(QIODevice::ReadOnly); QDataStream in(&_file); // read the data serialized from the file - if(in.status() == QDataStream::ReadCorruptData) + QString version; + in >> version; + qDebug() << "Read " << version << " Hush contacts from disk..."; + qDebug() << "Detected old addressbook format"; + QList> stuff; + in >> stuff; + //qDebug() << "Stuff: " << stuff; + for (int i=0; i < stuff.size(); i++) { - qDebug() << "Error reading contacts! ---> Your hush contacts from disk maybe corrupted"; - QFile::rename(file, file + QString(".corrupted")); - QMessageBox::critical( - nullptr, - QObject::tr("Error reading contacts!"), - QObject::tr("Your hush contacts from disk maybe corrupted"), - QMessageBox::Ok - ); - } - else - { - QString version; - in >> version; - if(version == "v1") - { - qDebug() << "Detected old addressbook format"; - // Convert old addressbook format v1 to v2 - QList> stuff; - in >> stuff; - qDebug() << "Stuff: " << stuff; - for (int i=0; i < stuff.size(); i++) - { - ContactItem contact = ContactItem(stuff[i].first, stuff[i].second); - contacts.push_back(contact); - qDebug() << "contact=" << contact.toQTString(); - } - - } - else - { - qDebug() << "Read " << version << " Hush contacts from disk..."; - QList> stuff; - in >> stuff; - qDebug() << "Dataarray size: " << stuff.size(); - if(stuff.size() == 0) - return contacts; - - for (int i= 0; i < stuff.size(); i++) - { - qDebug() << stuff[i].size(); - ContactItem contact; - if(stuff[i].size() == 4) - { - contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3]); - } - else - { - contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); - } - - qDebug() << contact.toQTString(); - contacts.push_back(contact); - } - - - } - - qDebug() << "Hush contacts readed from disk..."; + ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); + contacts.push_back(contact); + i++; } - + _file.close(); } else @@ -173,7 +121,7 @@ FileSystem::~FileSystem() this->instance = nullptr; this->instanced = false; delete this->instance; -} +}*/ FileSystem *FileSystem::instance = nullptr; bool FileSystem::instanced = false; \ No newline at end of file diff --git a/src/Model/ContactItem.h b/src/Model/ContactItem.h index edb512d..63b4b39 100644 --- a/src/Model/ContactItem.h +++ b/src/Model/ContactItem.h @@ -11,11 +11,11 @@ using json = nlohmann::json; class ContactItem { private: - QString _myAddress = ""; - QString _partnerAddress = ""; - QString _name = ""; - QString _cid = ""; - QString _avatar = ":/icons/res/sdlogo.png"; + QString _myAddress; + QString _partnerAddress; + QString _name; + QString _cid; + QString _avatar; public: ContactItem(); diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 6d7f913..28a0f9e 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -380,7 +380,7 @@ AddressBook::AddressBook() void AddressBook::readFromStorage() { - /*QFile file(AddressBook::writeableFile()); + QFile file(AddressBook::writeableFile()); if (file.exists()) { @@ -413,21 +413,26 @@ void AddressBook::readFromStorage() { qDebug() << "No Hush contacts found on disk!"; } - }*/ - allLabels = FileSystem::getInstance()->readContacts(AddressBook::writeableFile()); + } + // allLabels = FileSystem::getInstance()->readContacts(AddressBook::writeableFile()); // test to see if the contact items in datastore are correctly dumped to json - DataStore::getContactDataStore()->dump(); + for(ContactItem item: allLabels) + { + DataStore::getContactDataStore()->setData(item.getCid(), item); + } + + AddressBook::writeToStorage(); } void AddressBook::writeToStorage() { //FileSystem::getInstance()->writeContacts(AddressBook::writeableFile(), DataStore::getContactDataStore()->dump()); - FileSystem::getInstance()->writeContactsOldFormat(AddressBook::writeableFile(), allLabels); + // FileSystem::getInstance()->writeContactsOldFormat(AddressBook::writeableFile(), allLabels); - /*QFile file(AddressBook::writeableFile()); + QFile file(AddressBook::writeableFile()); file.open(QIODevice::ReadWrite | QIODevice::Truncate); QDataStream out(&file); // we will serialize the data into the file QList> contacts; @@ -442,7 +447,7 @@ void AddressBook::writeToStorage() contacts.push_back(c); } out << QString("v1") << contacts; - file.close();*/ + file.close(); } QString AddressBook::writeableFile() From 030443393f2ccf0d1e9ce28e6e6c50f23a2b1e14 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 30 May 2020 22:46:57 +0200 Subject: [PATCH 185/251] rename sdlogo, refresh at new contact --- application.qrc | 2 +- lib/Cargo.lock | 6 ++--- lib/Cargo.toml | 2 +- res/{sdlogo.png => SDLogo.png} | Bin src/FileSystem/FileSystem.cpp | 2 +- src/addressbook.cpp | 42 +++++++++++++++++---------------- src/chatmodel.cpp | 34 +++++++++++++++++--------- 7 files changed, 51 insertions(+), 37 deletions(-) rename res/{sdlogo.png => SDLogo.png} (100%) diff --git a/application.qrc b/application.qrc index bb3c02c..d62ea29 100644 --- a/application.qrc +++ b/application.qrc @@ -9,7 +9,7 @@ res/icon.ico res/mail.png res/darkwing.png - res/sdlogo.png + res/SDLogo.png res/sdlogo2.png res/Berg.png res/Denio.png diff --git a/lib/Cargo.lock b/lib/Cargo.lock index e0ea0c9..d1c7722 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1177,7 +1177,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d196ad938a22810c0b6b4164e6bf8f1db0409763)", + "silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d2887d07879a93bdd9b2c8bd12504bb977e82fe0)", ] [[package]] @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=d196ad938a22810c0b6b4164e6bf8f1db0409763#d196ad938a22810c0b6b4164e6bf8f1db0409763" +source = "git+https://github.com/DenioD/silentdragonlite-cli?rev=d2887d07879a93bdd9b2c8bd12504bb977e82fe0#d2887d07879a93bdd9b2c8bd12504bb977e82fe0" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/MyHush/librustzcash.git?rev=1a0204113d487cdaaf183c2967010e5214ff9e37)", @@ -2631,7 +2631,7 @@ dependencies = [ "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" "checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" "checksum signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" -"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d196ad938a22810c0b6b4164e6bf8f1db0409763)" = "" +"checksum silentdragonlitelib 0.1.0 (git+https://github.com/DenioD/silentdragonlite-cli?rev=d2887d07879a93bdd9b2c8bd12504bb977e82fe0)" = "" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" "checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" "checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index dba0c30..d46b55f 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "d196ad938a22810c0b6b4164e6bf8f1db0409763" } +silentdragonlitelib = { git = "https://github.com/DenioD/silentdragonlite-cli", rev = "d2887d07879a93bdd9b2c8bd12504bb977e82fe0" } diff --git a/res/sdlogo.png b/res/SDLogo.png similarity index 100% rename from res/sdlogo.png rename to res/SDLogo.png diff --git a/src/FileSystem/FileSystem.cpp b/src/FileSystem/FileSystem.cpp index d31d5f4..055ca88 100644 --- a/src/FileSystem/FileSystem.cpp +++ b/src/FileSystem/FileSystem.cpp @@ -103,7 +103,7 @@ QList FileSystem::readContactsOldFormat(QString file) { ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); contacts.push_back(contact); - i++; + } _file.close(); diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 28a0f9e..591a9c0 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -39,9 +39,7 @@ void AddressBookModel::loadData() parent->horizontalHeader()->restoreState( QSettings().value( "addresstablegeometry" - ).toByteArray() - - + ).toByteArray() ); } @@ -241,9 +239,14 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) return; - rpc->refresh(true); + // rpc->refresh(true); model.updateUi(); + rpc->refreshContacts( + parent->ui->listContactWidget + + ); + }); // AddressBook::getInstance()->addAddressLabel(newLabel, ab.addr->text(), cid); @@ -394,37 +397,36 @@ void AddressBook::readFromStorage() QList> stuff; in >> stuff; //qDebug() << "Stuff: " << stuff; + for (int i=0; i < stuff.size(); i++) { - //qDebug() << "0:" << stuff[i][0]; + //qDebug() << "0:" << stuff[i][0]; //qDebug() << "1:" << stuff[i][1]; //qDebug() << "2:" << stuff[i][2]; ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); //qDebug() << "contact=" << contact.toQTString(); allLabels.push_back(contact); } - - { - qDebug() << "Read " << version << " Hush contacts from disk..."; - + + qDebug() << "Read " << version << " Hush contacts from disk..."; file.close(); } - }else{ - { - qDebug() << "No Hush contacts found on disk!"; - } - } - // allLabels = FileSystem::getInstance()->readContacts(AddressBook::writeableFile()); - - // test to see if the contact items in datastore are correctly dumped to json - for(ContactItem item: allLabels) + else { - DataStore::getContactDataStore()->setData(item.getCid(), item); + qDebug() << "No Hush contacts found on disk!"; } - AddressBook::writeToStorage(); + // Special. + // Add the default silentdragon donation address if it isn't already present + // QList allAddresses; + // std::transform(allLabels.begin(), allLabels.end(), + // std::back_inserter(allAddresses), [=] (auto i) { return i.getPartnerAddress(); }); + // if (!allAddresses.contains(Settings::getDonationAddr(true))) { + // allLabels.append(QPair("silentdragon donation", Settings::getDonationAddr(true))); + // } } + void AddressBook::writeToStorage() { //FileSystem::getInstance()->writeContacts(AddressBook::writeableFile(), DataStore::getContactDataStore()->dump()); diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index ee3fe6d..3e15300 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -240,16 +240,18 @@ void MainWindow::renderContactRequest(){ qDebug()<<"Beginn kopiert" <addAddressLabel(newLabel, addr, myAddr, cid, avatar); - QMessageBox::information(this, "Added Contact","successfully added your new contact. You can now Chat with this contact"); + QMessageBox::information(this, "Added Contact","successfully added your new contact. You can now Chat with this contact"); + rpc->refreshContacts( + ui->listContactWidget + + ); + }); dialog.exec(); - rpc->refreshContacts( - ui->listContactWidget - - ); + } void ChatModel::addCid(QString tx, QString cid) @@ -374,10 +376,7 @@ Tx MainWindow::createTxFromChatPage() { QString hmemo= createHeaderMemo(type,cid,myAddr); - QString memo = ui->memoTxtChat->toPlainText().trimmed(); - - - + QString memo = ui->memoTxtChat->toPlainText().trimmed(); tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); tx.toAddrs.push_back(ToFields{addr, amt, memo}); @@ -547,7 +546,8 @@ void::MainWindow::addContact() request.setupUi(&dialog); Settings::saveRestore(&dialog); - + try + { bool sapling = true; rpc->createNewZaddr(sapling, [=] (json reply) { QString myAddr = QString::fromStdString(reply.get()[0]); @@ -557,8 +557,20 @@ void::MainWindow::addContact() ui->listReceiveAddresses->setCurrentIndex(0); qDebug() << "new generated myAddr add Contact" << myAddr; }); + + }catch(...) + { + + + qDebug() << QString("Caught something nasty with myZaddr Contact"); + } + + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + + + - QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); + From 715317087f4878ec83bd8c41e28f9f51b205dd38 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 30 May 2020 23:09:35 +0200 Subject: [PATCH 186/251] refresh when a new contact get add --- src/chatmodel.cpp | 28 ++++++++++++---------------- src/controller.cpp | 8 +------- 2 files changed, 13 insertions(+), 23 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 3e15300..770e93c 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -239,19 +239,15 @@ void MainWindow::renderContactRequest(){ qDebug()<<"Beginn kopiert" <addAddressLabel(newLabel, addr, myAddr, cid, avatar); + rpc->refreshContacts( + ui->listContactWidget); QMessageBox::information(this, "Added Contact","successfully added your new contact. You can now Chat with this contact"); - rpc->refreshContacts( - ui->listContactWidget - - ); - }); dialog.exec(); - } void ChatModel::addCid(QString tx, QString cid) @@ -565,15 +561,7 @@ void::MainWindow::addContact() qDebug() << QString("Caught something nasty with myZaddr Contact"); } - QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); - - - - - - - - + QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); QObject::connect(request.sendRequestButton, &QPushButton::clicked, [&] () { @@ -723,7 +711,10 @@ void MainWindow::ContactRequest() { delete d; }); - QString addr = contactRequest.getReceiverAddress(); + + /////Add this contact after we sent the request + + QString addr = contactRequest.getReceiverAddress(); QString newLabel = contactRequest.getLabel(); QString myAddr = contactRequest.getSenderAddress(); QString cid = contactRequest.getCid(); @@ -756,17 +747,22 @@ void MainWindow::ContactRequest() { ////// Success, so show it AddressBook::getInstance()->addAddressLabel(newLabel, addr, myAddr, cid, avatar); + rpc->refreshContacts( + ui->listContactWidget); QMessageBox::information( this, QObject::tr("Added Contact"), QObject::tr("successfully added your new contact").arg(newLabel), QMessageBox::Ok + ); return; // Force a UI update so we get the unconfirmed Tx // rpc->refresh(true); ui->memoTxtChat->clear(); rpc->refresh(true); + rpc->refreshContacts( + ui->listContactWidget); }, // Errored out diff --git a/src/controller.cpp b/src/controller.cpp index 17f80bc..0c79240 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -922,8 +922,6 @@ void Controller::refreshTransactions() { isNotarized = false; } - qDebug()<<"Conf : " << confirmations; - ChatItem item = ChatItem( datetime, address, @@ -1078,7 +1076,6 @@ void Controller::refreshTransactions() { } } } - qDebug()<<"get Lag" << getLag(); // Calculate the total unspent amount that's pending. This will need to be // shown in the UI so the user can keep track of pending funds @@ -1098,10 +1095,7 @@ void Controller::refreshTransactions() { // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); - // refreshContacts( - // ui->listContactWidget - - // ); + }); } From d32d7cf11ada3e8c3e2796ba9b7856fac89630df Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 30 May 2020 23:11:21 +0200 Subject: [PATCH 187/251] add SDLogo icon to combo box --- src/addressbook.ui | 2 +- src/contactrequest.ui | 2 +- src/requestContactDialog.ui | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/addressbook.ui b/src/addressbook.ui index 1bcf214..dd0d06d 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -69,7 +69,7 @@ - :/icons/res/sdlogo.png + :/icons/res/SDLogo.png diff --git a/src/contactrequest.ui b/src/contactrequest.ui index cd4120b..9b28dca 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -42,7 +42,7 @@ - :/icons/res/sdlogo.png + :/icons/res/SDLogo.png diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index f8cb244..4beeced 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -209,7 +209,7 @@ - :/icons/res/sdlogo.png + :/icons/res/SDLogo.png From 55b11480478ac77bf099d1692bee88e7723c5116 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 31 May 2020 00:29:03 +0200 Subject: [PATCH 188/251] comments for debug issues --- src/chatmodel.cpp | 201 ++++++++++++++++++++++------------------------ 1 file changed, 96 insertions(+), 105 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index f25fe79..6d6a216 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -370,21 +370,23 @@ Tx MainWindow::createTxFromChatPage() { QString type = "Memo"; QString addr = c.getPartnerAddress(); - + QString hmemo= createHeaderMemo(type,cid,myAddr); - QString memounencrypt = ui->memoTxtChat->toPlainText().trimmed(); + /////////User input for chatmemos + QString memounencrypt = ui->memoTxtChat->toPlainText().trimmed(); + /////////We convert the user input from QString to unsigned char*, so we can encrypt it later int length = memounencrypt.length(); char *sequence = NULL; sequence = new char[length+1]; strncpy(sequence, memounencrypt.toLocal8Bit(), length +1); -////////////////////////////////////////////////////Important: If we can decrypt the output of QString memo, after we encrypt it, Bobs code must be in Controller.cpp +//////////////////////////////////////////////////Lets create Alice keys for the conversation/////////////////////////////////// /////////////////Alice Pubkey - #define MESSAGEAP ((const unsigned char *) "Ioesd") + #define MESSAGEAP ((const unsigned char *) "Ioesd")///////////static atm, in future we will use the CID here #define MESSAGEAP_LEN 5 unsigned char alice_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; @@ -398,7 +400,7 @@ Tx MainWindow::createTxFromChatPage() { /////////////////Alice Secretkey - #define MESSAGEAS ((const unsigned char *) "Hallo") + #define MESSAGEAS ((const unsigned char *) "Hallo")///////////static atm, in future we will use the Passphrase here #define MESSAGEAS_LEN 5 unsigned char alice_secretkey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; @@ -408,7 +410,7 @@ Tx MainWindow::createTxFromChatPage() { NULL, 0); /////////////////Bob Pubkey that Alice creates - #define MESSAGEBAP ((const unsigned char *) "Hal11") + #define MESSAGEBAP ((const unsigned char *) "Hal11")///////////static atm, in future we will use the CID here #define MESSAGEBAP_LEN 5 unsigned char bob_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; @@ -420,55 +422,67 @@ Tx MainWindow::createTxFromChatPage() { qDebug()<<"Alice version of Bobs Pubkey created"; - ////////////Alice creates the Shared key - unsigned char server_rx[crypto_kx_SESSIONKEYBYTES], server_tx[crypto_kx_SESSIONKEYBYTES]; -/* Generate the server's key pair */ -crypto_kx_keypair(alice_publickey, alice_secretkey); + ////////////Now we create shared keys for the conversation////////////////////////////// + + unsigned char server_rx[crypto_kx_SESSIONKEYBYTES], server_tx[crypto_kx_SESSIONKEYBYTES]; + /* Generate the server's key pair */ + crypto_kx_keypair(alice_publickey, alice_secretkey); -/* Prerequisite after this point: the client's public key must be known by the server */ + /* Prerequisite after this point: the client's public key must be known by the server */ -/* Compute two shared keys using the client's public key and the server's secret key. - server_rx will be used by the server to receive data from the client, - server_tx will by used by the server to send data to the client. */ -if (crypto_kx_server_session_keys(server_rx, server_tx, - alice_publickey, alice_secretkey, bob_publickey) != 0) { + /* Compute two shared keys using the client's public key and the server's secret key. + server_rx will be used by the server to receive data from the client, + server_tx will by used by the server to send data to the client. */ + if (crypto_kx_server_session_keys(server_rx, server_tx, + alice_publickey, alice_secretkey, bob_publickey) != 0) { /* Suspicious client public key, bail out */ } - + ////////////Now lets encrypt the message Alice send to Bob////////////////////////////// #define MESSAGE (const unsigned char *) sequence #define MESSAGE_LEN length #define CIPHERTEXT_LEN (MESSAGE_LEN + crypto_secretstream_xchacha20poly1305_ABYTES) -crypto_secretstream_xchacha20poly1305_state state; -//unsigned char header[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; -unsigned char c1[CIPHERTEXT_LEN]; + + crypto_secretstream_xchacha20poly1305_state state; + /////The Header must be known by both, so we can use alice or bobs pubkey here + //unsigned char header[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; -/* Shared secret key required to encrypt/decrypt the stream */ -crypto_secretstream_xchacha20poly1305_keygen(alice_publickey); + unsigned char c1[CIPHERTEXT_LEN]; -/* Set up a new stream: initialize the state and create the header */ -crypto_secretstream_xchacha20poly1305_init_push(&state, bob_publickey, alice_publickey); + /* Shared secret key required to encrypt/decrypt the stream */ + crypto_secretstream_xchacha20poly1305_keygen(alice_publickey); -/* Now, encrypt the first chunk. `c1` will contain an encrypted, - * authenticated representation of `MESSAGE_PART1`. */ -crypto_secretstream_xchacha20poly1305_push - (&state, c1, NULL, MESSAGE, MESSAGE_LEN, NULL, 0, 0); + /* Set up a new stream: initialize the state and create the header */ + ////////////Bobs pubkey will be use as header here, and alice_publickey as Key. Just for testing, we will switch to server_tx here ////////////////////////////// + crypto_secretstream_xchacha20poly1305_init_push(&state, bob_publickey, alice_publickey); + ////Now encrypt the Message/////////////////////////////////// + crypto_secretstream_xchacha20poly1305_push + (&state, c1, NULL, MESSAGE, MESSAGE_LEN, NULL, 0, 0); -///////////get a std:string....QString will give us not good results + ///////////Ciphertext is now in c1 as unsigned char*, we need it as QString, to send it as memo to Bob////////////////////// - std::string encryptedMemo(reinterpret_cast(c1), CIPHERTEXT_LEN); + /////This is not working. It seems the QString has not exact the ciphertext in it. It will not decrypt with it//////////////// + QString memo( reinterpret_cast< char* >( c1 ) ); - qDebug()<<"Size Controller Memo :"<< encryptedMemo.length(); + qDebug()<<"Size QString with encrypted data :"<< memo.length(); ////We check the length here, to compare it with the length our QString - QString memo = QString::fromUtf8( encryptedMemo.data(), encryptedMemo.size()); + ///////Just for testing we convert the unsigned char* to std::string, to see if we can decrypt,and that works.//////////// - - /////////////////Bob Pubkey - #define MESSAGEBAP1 ((const unsigned char *) "Hal12") + std::string encryptedMemo(reinterpret_cast(c1), CIPHERTEXT_LEN); + + + qDebug()<<"Size std::string with encrypted data :"<< encryptedMemo.length(); ////We check the length here, to compare it with the length our QString + + + + /////////////////////////////////Now we create Bobs keys, just for testing at this place. If the encryption/decryption works we put it in Controller.cpp (RefreshTransactions) + + /////////////////Bob Pubkey///////////////////////////////// + #define MESSAGEBAP1 ((const unsigned char *) "Hal12")///////////static atm, in future we will use the CID here #define MESSAGEBAP1_LEN 5 unsigned char bob1_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; @@ -480,7 +494,7 @@ crypto_secretstream_xchacha20poly1305_push qDebug()<<"Bobs Pubkey created"; /////////////////Bob Secretkey - #define MESSAGEBS ((const unsigned char *) "Hal11") + #define MESSAGEBS ((const unsigned char *) "Hal11")///////////static atm, in future we will use the Passphrase here #define MESSAGEBS_LEN 5 unsigned char bob_secretkey[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; @@ -492,7 +506,7 @@ crypto_secretstream_xchacha20poly1305_push qDebug()<<"Bobs Pubkey created"; /////////////////Alice Pubkey bob creates - #define MESSAGEA121 ((const unsigned char *) "Ioesd") + #define MESSAGEA121 ((const unsigned char *) "Ioesd")///////////static atm, in future we will use the CID here #define MESSAGEAP121_LEN 5 unsigned char alice1_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; @@ -507,104 +521,81 @@ crypto_secretstream_xchacha20poly1305_push -////////////BOB creates the Shared key -//unsigned char bob_publickey[crypto_kx_PUBLICKEYBYTES], bob_secretkey[crypto_kx_SECRETKEYBYTES]; -unsigned char client_rx[crypto_kx_SESSIONKEYBYTES], client_tx[crypto_kx_SESSIONKEYBYTES]; - -/* Generate the client's key pair */ -crypto_kx_keypair(bob1_publickey, bob_secretkey); +////////////Now we create the shared keys for Bob/////////////////////////////////////////////// -/* Prerequisite after this point: the server's public key must be known by the client */ + unsigned char client_rx[crypto_kx_SESSIONKEYBYTES], client_tx[crypto_kx_SESSIONKEYBYTES]; -/* Compute two shared keys using the server's public key and the client's secret key. - client_rx will be used by the client to receive data from the server, - client_tx will by used by the client to send data to the server. */ -if (crypto_kx_client_session_keys(client_rx, client_tx, - bob1_publickey, bob_secretkey, alice1_publickey) != 0) { - /* Suspicious server public key, bail out */ -} + /* Generate the client's key pair */ + crypto_kx_keypair(bob1_publickey, bob_secretkey); -qDebug()<<"1 : "; + /* Prerequisite after this point: the server's public key must be known by the client */ + /* Compute two shared keys using the server's public key and the client's secret key. + client_rx will be used by the client to receive data from the server, + client_tx will by used by the client to send data to the server. */ + if (crypto_kx_client_session_keys(client_rx, client_tx, + bob1_publickey, bob_secretkey, alice1_publickey) != 0) { + /* Suspicious server public key, bail out */ + } -qDebug()<<"Size of QString memo send as Transaction:" << memo.length(); - -QString memo1 = QString::fromUtf8( encryptedMemo.data(), encryptedMemo.size()); - -int lenght1 = encryptedMemo.length(); -qDebug()<<"std::string Memo size : "<(m2),MESSAGE_LEN); - qDebug()<<"7: "; - QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); - + /////Our decrypted message is now in m. We need it as QString to render it + /////Only the QString gives weird data, so convert first to std::string + std::string decryptedMemo(reinterpret_cast(m),MESSAGE1_LEN); + /////Now we can convert it to QString + QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); - - qDebug()<<"OUT decrypt:" << memodecrypt; - - - + //////////////Give us the output of the decrypted message as debug to see if it was successfully + qDebug()<<"OUT decrypt:" << memodecrypt; tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); tx.toAddrs.push_back(ToFields{addr, amt, memo}); From af4a555fb031915e97a751b5fdd0d05e763c36f0 Mon Sep 17 00:00:00 2001 From: Denio <41270280+DenioD@users.noreply.github.com> Date: Sun, 31 May 2020 11:13:56 +0200 Subject: [PATCH 189/251] Update chatmodel.cpp --- src/chatmodel.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 6d6a216..8b5f97d 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -545,8 +545,8 @@ Tx MainWindow::createTxFromChatPage() { ////QString to char+ (not working, it will not decrypt) /*char *memoIncoming = NULL; - memoIncoming = new char[lenght1+1]; - strncpy(memoIncoming, memo.toLocal8Bit(), lenght1+1);*/ + memoIncoming = new char[memo.length()+1]; + strncpy(memoIncoming, memo.toLocal8Bit(), [memo.length()+1);*/ ///////////////////////////if we take the std::string (of the encryption output) instead of QString memo, it will decrypt//////// From 4d74555c171011d52f7912a7fa4c672293f42299 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 1 Jun 2020 00:03:11 +0200 Subject: [PATCH 190/251] first message encryption with static keys - work in progress --- src/chatmodel.cpp | 198 ++++----------------------------------------- src/controller.cpp | 110 +++++++++++++++++++++++-- 2 files changed, 121 insertions(+), 187 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 8b5f97d..9a2e5f5 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -386,217 +386,53 @@ Tx MainWindow::createTxFromChatPage() { //////////////////////////////////////////////////Lets create Alice keys for the conversation/////////////////////////////////// /////////////////Alice Pubkey - #define MESSAGEAP ((const unsigned char *) "Ioesd")///////////static atm, in future we will use the CID here + #define MESSAGEAP ((const unsigned char *) "Hallo")///////////static atm, in future we will use the CID here #define MESSAGEAP_LEN 5 - unsigned char alice_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + unsigned char alice_publickey[crypto_box_PUBLICKEYBYTES]; crypto_generichash(alice_publickey, sizeof alice_publickey, MESSAGEAP, MESSAGEAP_LEN, NULL, 0); QString alice = QString::fromLocal8Bit((char*)alice_publickey); - qDebug()<<"Alice Pubkey : "<( c1 ) ); - - qDebug()<<"Size QString with encrypted data :"<< memo.length(); ////We check the length here, to compare it with the length our QString - - ///////Just for testing we convert the unsigned char* to std::string, to see if we can decrypt,and that works.//////////// - - std::string encryptedMemo(reinterpret_cast(c1), CIPHERTEXT_LEN); - - - qDebug()<<"Size std::string with encrypted data :"<< encryptedMemo.length(); ////We check the length here, to compare it with the length our QString - - - - /////////////////////////////////Now we create Bobs keys, just for testing at this place. If the encryption/decryption works we put it in Controller.cpp (RefreshTransactions) + #define CIPHERTEXT_LEN (crypto_box_MACBYTES + MESSAGE_LEN) + unsigned char ciphertext[CIPHERTEXT_LEN]; + + //////Encrypt the message. ATM static keys, this will change! + if (crypto_box_easy(ciphertext, MESSAGE, MESSAGE_LEN, alice_publickey, + alice_publickey, alice_publickey) != 0) { + /* error */ + } - /////////////////Bob Pubkey///////////////////////////////// - #define MESSAGEBAP1 ((const unsigned char *) "Hal12")///////////static atm, in future we will use the CID here - #define MESSAGEBAP1_LEN 5 - - unsigned char bob1_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; - - crypto_generichash(bob1_publickey, sizeof bob1_publickey, - MESSAGEBAP1, MESSAGEBAP1_LEN, - NULL, 0); - - qDebug()<<"Bobs Pubkey created"; - - /////////////////Bob Secretkey - #define MESSAGEBS ((const unsigned char *) "Hal11")///////////static atm, in future we will use the Passphrase here - #define MESSAGEBS_LEN 5 - - unsigned char bob_secretkey[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; - - crypto_generichash(bob_secretkey, sizeof bob_secretkey, - MESSAGEBS, MESSAGEBS_LEN, - NULL, 0); - - qDebug()<<"Bobs Pubkey created"; - - /////////////////Alice Pubkey bob creates - #define MESSAGEA121 ((const unsigned char *) "Ioesd")///////////static atm, in future we will use the CID here - #define MESSAGEAP121_LEN 5 - - unsigned char alice1_publickey[crypto_secretstream_xchacha20poly1305_KEYBYTES]; - - crypto_generichash(alice1_publickey, sizeof alice1_publickey, - MESSAGEA121, MESSAGEAP121_LEN, - NULL, 0); - - QString alice1 = QString::fromLocal8Bit((char*)alice1_publickey); - qDebug()<<"Alice Pubkey Bob create: "<(m),MESSAGE1_LEN); - /////Now we can convert it to QString - QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); - - //////////////Give us the output of the decrypted message as debug to see if it was successfully - qDebug()<<"OUT decrypt:" << memodecrypt; - + /////CIphertext Memo + QString memo = QByteArray(reinterpret_cast(ciphertext), CIPHERTEXT_LEN).toHex(); + + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); tx.toAddrs.push_back(ToFields{addr, amt, memo}); diff --git a/src/controller.cpp b/src/controller.cpp index 0c79240..39efa6a 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -907,10 +907,12 @@ void Controller::refreshTransactions() { this->refresh(true); } + // QString memo1; + QString memo; if (!o["memo"].is_null()) { - memo = QString::fromStdString(o["memo"]); - + QString memo = QString::fromStdString(o["memo"].get()); + QString cid; bool isNotarized; @@ -921,12 +923,89 @@ void Controller::refreshTransactions() { isNotarized = false; } +/////////////////////////////////Now we create Bobs keys, just for testing at this place. If the encryption/decryption works we put it in Controller.cpp (RefreshTransactions) + + /////////////////Alice Pubkey bob create + #define MESSAGEAP ((const unsigned char *) "Hallo")///////////static atm, in future we will use the CID here + #define MESSAGEAP_LEN 5 + + unsigned char alice_publickey[crypto_box_PUBLICKEYBYTES]; + + crypto_generichash(alice_publickey, sizeof alice_publickey, + MESSAGEAP, MESSAGEAP_LEN, + NULL, 0); + + + /////////////////Bob Secretkey + + #define MESSAGEAS ((const unsigned char *) "Hallo")///////////static atm, in future we will use the Passphrase here + #define MESSAGEAS_LEN 5 + + unsigned char bob_secretkey[crypto_box_SECRETKEYBYTES]; + + crypto_generichash(bob_secretkey, sizeof bob_secretkey, + MESSAGEAS, MESSAGEAS_LEN, + NULL, 0); + + /////////////////Bob Pubkey + #define MESSAGEBAP ((const unsigned char *) "Hallo")///////////static atm, in future we will use the CID here + #define MESSAGEBAP_LEN 5 + + unsigned char bob_publickey[crypto_box_PUBLICKEYBYTES]; + + crypto_generichash(bob_publickey, sizeof bob_publickey, + MESSAGEBAP, MESSAGEBAP_LEN, + NULL, 0); + + + + /////We need to filter out Memos smaller then the ciphertext size, or it will dump + + if ((memo.length() > 120) && (memo.startsWith("{") == false)) + { + + + const QByteArray ba = QByteArray::fromHex(memo.toLatin1()); + const unsigned char *encryptedMemo = reinterpret_cast(ba.constData()); + + int encryptedMemoSize1 = ba.length(); + + //////unsigned char* as message from QString + #define MESSAGE2 (const unsigned char *) encryptedMemo + + ///////// length of the encrypted message + #define CIPHERTEXT1_LEN encryptedMemoSize1 + + ///////Message length is smaller then the encrypted message + #define MESSAGE1_LEN encryptedMemoSize1 - crypto_box_MACBYTES + + //////Set the length of the decrypted message + + unsigned char decrypted[MESSAGE1_LEN]; + + ///////Decrypt the message + if (crypto_box_open_easy(decrypted, MESSAGE2, CIPHERTEXT1_LEN, alice_publickey, + alice_publickey, alice_publickey) != 0) { + /* message for Bob pretending to be from Alice has been forged! */ + } + + /////Our decrypted message is now in decrypted. We need it as QString to render it + /////Only the QString gives weird data, so convert first to std::string + + std::string decryptedMemo(reinterpret_cast(decrypted),MESSAGE1_LEN); + + /////Now we can convert it to QString + QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); - ChatItem item = ChatItem( + //////////////Give us the output of the decrypted message as debug to see if it was successfully + qDebug()<<"OUT decrypt:" << memodecrypt; + + + ChatItem item = ChatItem( datetime, address, QString(""), - memo, + memodecrypt, QString(""), QString(""), cid, @@ -940,9 +1019,28 @@ void Controller::refreshTransactions() { - } + }else{ + + + ChatItem item = ChatItem( + datetime, + address, + QString(""), + memo, + QString(""), + QString(""), + cid, + txid, + confirmations, + true, + isNotarized, + false + ); + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); + + } - + } items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; } From e1863058da78d90f67ce166d650d385c0f253616 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 1 Jun 2020 00:17:47 +0200 Subject: [PATCH 191/251] use cid as key for the moment --- src/chatmodel.cpp | 23 +++++++++++++++-------- src/controller.cpp | 33 +++++++++++++++++++++++++++++++-- 2 files changed, 46 insertions(+), 10 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 9a2e5f5..1ac2acc 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -374,19 +374,26 @@ Tx MainWindow::createTxFromChatPage() { QString hmemo= createHeaderMemo(type,cid,myAddr); /////////User input for chatmemos - QString memounencrypt = ui->memoTxtChat->toPlainText().trimmed(); + QString memoplain = ui->memoTxtChat->toPlainText().trimmed(); /////////We convert the user input from QString to unsigned char*, so we can encrypt it later - int length = memounencrypt.length(); + int lengthmemo = memoplain.length(); - char *sequence = NULL; - sequence = new char[length+1]; - strncpy(sequence, memounencrypt.toLocal8Bit(), length +1); + char *memoplainchar = NULL; + memoplainchar = new char[lengthmemo+1]; + strncpy(memoplainchar, memoplain.toLocal8Bit(), lengthmemo +1); + + /////////We convert the CID from QString to unsigned char*, so we can encrypt it later + int lengthcid = cid.length(); + + char *cidchar = NULL; + cidchar = new char[lengthcid+1]; + strncpy(cidchar, cid.toLocal8Bit(), lengthcid +1); //////////////////////////////////////////////////Lets create Alice keys for the conversation/////////////////////////////////// /////////////////Alice Pubkey - #define MESSAGEAP ((const unsigned char *) "Hallo")///////////static atm, in future we will use the CID here + #define MESSAGEAP ((const unsigned char *) cidchar)///////////static atm, in future we will use the CID here #define MESSAGEAP_LEN 5 unsigned char alice_publickey[crypto_box_PUBLICKEYBYTES]; @@ -418,8 +425,8 @@ Tx MainWindow::createTxFromChatPage() { NULL, 0); ////////////Now lets encrypt the message Alice send to Bob////////////////////////////// - #define MESSAGE (const unsigned char *) sequence - #define MESSAGE_LEN length + #define MESSAGE (const unsigned char *) memoplainchar + #define MESSAGE_LEN lengthmemo #define CIPHERTEXT_LEN (crypto_box_MACBYTES + MESSAGE_LEN) unsigned char ciphertext[CIPHERTEXT_LEN]; diff --git a/src/controller.cpp b/src/controller.cpp index 39efa6a..4069022 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -910,10 +910,24 @@ void Controller::refreshTransactions() { // QString memo1; QString memo; + QString cid; if (!o["memo"].is_null()) { QString memo = QString::fromStdString(o["memo"].get()); + + if (memo.startsWith("{")) { + + QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); + + cid = headermemo["cid"].toString(); + + + + chatModel->addCid(txid, cid); + + + } + - QString cid; bool isNotarized; if (confirmations > getLag()) @@ -923,10 +937,25 @@ void Controller::refreshTransactions() { isNotarized = false; } + + if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ + + cid = chatModel->getCidByTx(txid); + + }else{ + cid = ""; + } + + int lengthcid = cid.length(); + + char *cidchar = NULL; + cidchar = new char[lengthcid+1]; + strncpy(cidchar, cid.toLocal8Bit(), lengthcid +1); + /////////////////////////////////Now we create Bobs keys, just for testing at this place. If the encryption/decryption works we put it in Controller.cpp (RefreshTransactions) /////////////////Alice Pubkey bob create - #define MESSAGEAP ((const unsigned char *) "Hallo")///////////static atm, in future we will use the CID here + #define MESSAGEAP ((const unsigned char *) cidchar)///////////static atm, in future we will use the CID here #define MESSAGEAP_LEN 5 unsigned char alice_publickey[crypto_box_PUBLICKEYBYTES]; From a8c9a8e2efea81db8b263342e70f231790f19bf6 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 1 Jun 2020 00:47:46 +0200 Subject: [PATCH 192/251] use length of cid --- src/chatmodel.cpp | 2 +- src/controller.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 1ac2acc..b033d7e 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -394,7 +394,7 @@ Tx MainWindow::createTxFromChatPage() { /////////////////Alice Pubkey #define MESSAGEAP ((const unsigned char *) cidchar)///////////static atm, in future we will use the CID here - #define MESSAGEAP_LEN 5 + #define MESSAGEAP_LEN lengthcid unsigned char alice_publickey[crypto_box_PUBLICKEYBYTES]; diff --git a/src/controller.cpp b/src/controller.cpp index 4069022..342a24a 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -956,7 +956,7 @@ void Controller::refreshTransactions() { /////////////////Alice Pubkey bob create #define MESSAGEAP ((const unsigned char *) cidchar)///////////static atm, in future we will use the CID here - #define MESSAGEAP_LEN 5 + #define MESSAGEAP_LEN lengthcid unsigned char alice_publickey[crypto_box_PUBLICKEYBYTES]; From 21c727efb006ecc5b215a3c831f734a2524fb5a5 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 1 Jun 2020 21:24:39 +0200 Subject: [PATCH 193/251] switch to secretstream for encryption - work in progress --- src/Model/ContactItem.cpp | 2 + src/Model/ContactItem.h | 1 + src/chatmodel.cpp | 156 ++++++++++++++++++------- src/chatmodel.h | 3 + src/controller.cpp | 234 ++++++++++++++++++++++++++++---------- src/mainwindow.h | 2 +- 6 files changed, 298 insertions(+), 100 deletions(-) diff --git a/src/Model/ContactItem.cpp b/src/Model/ContactItem.cpp index 589ca9f..b542270 100644 --- a/src/Model/ContactItem.cpp +++ b/src/Model/ContactItem.cpp @@ -19,6 +19,7 @@ ContactItem::ContactItem(QString name, QString partnerAddress, QString myAddress _myAddress = myAddress; _partnerAddress = partnerAddress; _cid = cid; + } ContactItem::ContactItem(QString name, QString partnerAddress, QString myAddress, QString cid, QString avatar) @@ -28,6 +29,7 @@ ContactItem::ContactItem(QString name, QString partnerAddress, QString myAddress _partnerAddress = partnerAddress; _cid = cid; _avatar = avatar; + } QString ContactItem::getName() const diff --git a/src/Model/ContactItem.h b/src/Model/ContactItem.h index 63b4b39..e5e313d 100644 --- a/src/Model/ContactItem.h +++ b/src/Model/ContactItem.h @@ -16,6 +16,7 @@ private: QString _name; QString _cid; QString _avatar; + QString _pubkey; public: ContactItem(); diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index b033d7e..bc45d8b 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -255,6 +255,11 @@ void ChatModel::addCid(QString tx, QString cid) this->cidMap[tx] = cid; } +void ChatModel::addHeader(QString tx, QString headerbytes) +{ + this->headerMap[tx] = headerbytes; +} + void ChatModel::addrequestZaddr(QString tx, QString requestZaddr) { this->requestZaddrMap[tx] = requestZaddr; @@ -280,6 +285,21 @@ QString ChatModel::getCidByTx(QString tx) return QString("0xdeadbeef"); } +QString ChatModel::getHeaderByTx(QString tx) +{ + for(auto& pair : this->headerMap) + { + + } + + if(this->headerMap.count(tx) > 0) + { + return this->headerMap[tx]; + } + + return QString("0xdeadbeef"); +} + QString ChatModel::getConfirmationByTx(QString tx) { for(auto& pair : this->confirmationsMap) @@ -325,7 +345,7 @@ void ChatModel::killConfirmationCache() this->confirmationsMap.clear(); } -QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, int version=0, int headerNumber=1) +QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, QString headerbytes, QString publickey, int version=0, int headerNumber=1) { QString header=""; @@ -338,6 +358,9 @@ QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, h["z"] = zaddr; // zaddr to respond to h["cid"] = cid; // conversation id h["t"] = type; // Memo or incoming contact request + h["e"] = headerbytes; // Memo or incoming contact request + h["p"] = publickey; // Memo or incoming contact request + j.setObject(h); header = j.toJson(); @@ -346,6 +369,7 @@ QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, } + // Create a Tx from the current state of the Chat page. Tx MainWindow::createTxFromChatPage() { Tx tx; @@ -370,8 +394,7 @@ Tx MainWindow::createTxFromChatPage() { QString type = "Memo"; QString addr = c.getPartnerAddress(); - - QString hmemo= createHeaderMemo(type,cid,myAddr); + /////////User input for chatmemos QString memoplain = ui->memoTxtChat->toPlainText().trimmed(); @@ -390,58 +413,76 @@ Tx MainWindow::createTxFromChatPage() { cidchar = new char[lengthcid+1]; strncpy(cidchar, cid.toLocal8Bit(), lengthcid +1); -//////////////////////////////////////////////////Lets create Alice keys for the conversation/////////////////////////////////// - - /////////////////Alice Pubkey - #define MESSAGEAP ((const unsigned char *) cidchar)///////////static atm, in future we will use the CID here - #define MESSAGEAP_LEN lengthcid + - unsigned char alice_publickey[crypto_box_PUBLICKEYBYTES]; + QString pubkey = "test"; + QString passphrase = this->getPassword(); + QString hashEncryptionKey = passphrase; + int length = hashEncryptionKey.length(); - crypto_generichash(alice_publickey, sizeof alice_publickey, - MESSAGEAP, MESSAGEAP_LEN, - NULL, 0); - QString alice = QString::fromLocal8Bit((char*)alice_publickey); + qDebug()<<"Encryption String :"<(ba2.constData()); - unsigned char alice_secretkey[crypto_box_SECRETKEYBYTES]; + #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) + #define MESSAGEAS1_LEN length + unsigned char hash[crypto_kx_SEEDBYTES]; - crypto_generichash(alice_secretkey, sizeof alice_secretkey, - MESSAGEAS, MESSAGEAS_LEN, - NULL, 0); + crypto_hash_sha256(hash,MESSAGEAS1, MESSAGEAS1_LEN); - /////////////////Bob Pubkey that Alice creates - #define MESSAGEBAP ((const unsigned char *) "Hallo")///////////static atm, in future we will use the CID here - #define MESSAGEBAP_LEN 5 - unsigned char bob_publickey[crypto_box_PUBLICKEYBYTES]; + unsigned char sk[crypto_kx_SECRETKEYBYTES]; + unsigned char pk[crypto_kx_PUBLICKEYBYTES]; + unsigned char server_rx[crypto_kx_SESSIONKEYBYTES], server_tx[crypto_kx_SESSIONKEYBYTES]; + + if (crypto_kx_seed_keypair(pk,sk, + hash) !=0) { + } + ////////////////Get the pubkey from Bob, so we can create the share key - crypto_generichash(bob_publickey, sizeof bob_publickey, - MESSAGEBAP, MESSAGEBAP_LEN, - NULL, 0); + const QByteArray pubkeyBobArray = QByteArray::fromHex(pubkey.toLatin1()); + const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); + /////Create the shared key for sending the message - ////////////Now lets encrypt the message Alice send to Bob////////////////////////////// - #define MESSAGE (const unsigned char *) memoplainchar - #define MESSAGE_LEN lengthmemo - #define CIPHERTEXT_LEN (crypto_box_MACBYTES + MESSAGE_LEN) - unsigned char ciphertext[CIPHERTEXT_LEN]; + if (crypto_kx_server_session_keys(server_rx, server_tx, + pk, sk, pubkeyBob) != 0) { + /* Suspicious client public key, bail out */ + } - //////Encrypt the message. ATM static keys, this will change! - if (crypto_box_easy(ciphertext, MESSAGE, MESSAGE_LEN, alice_publickey, - alice_publickey, alice_publickey) != 0) { - /* error */ - } - /////CIphertext Memo - QString memo = QByteArray(reinterpret_cast(ciphertext), CIPHERTEXT_LEN).toHex(); + + ////////////Now lets encrypt the message Alice send to Bob////////////////////////////// + #define MESSAGE (const unsigned char *) memoplainchar + #define MESSAGE_LEN lengthmemo + #define CIPHERTEXT_LEN (crypto_secretstream_xchacha20poly1305_ABYTES + MESSAGE_LEN) + unsigned char ciphertext[CIPHERTEXT_LEN]; + unsigned char header[crypto_secretstream_xchacha20poly1305_HEADERBYTES]; + + crypto_secretstream_xchacha20poly1305_state state; + + /* Set up a new stream: initialize the state and create the header */ + crypto_secretstream_xchacha20poly1305_init_push(&state, header, server_tx); + + + /* Now, encrypt the first chunk. `c1` will contain an encrypted, + * authenticated representation of `MESSAGE_PART1`. */ + crypto_secretstream_xchacha20poly1305_push + (&state, ciphertext, NULL, MESSAGE, MESSAGE_LEN, NULL, 0, crypto_secretstream_xchacha20poly1305_TAG_FINAL); + + ////Create the HM for this message + QString headerbytes = QByteArray(reinterpret_cast(header), crypto_secretstream_xchacha20poly1305_HEADERBYTES).toHex(); + + QString hmemo= createHeaderMemo(type,cid,myAddr,"",headerbytes); + + /////Ciphertext Memo + QString memo = QByteArray(reinterpret_cast(ciphertext), CIPHERTEXT_LEN).toHex(); - tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); - tx.toAddrs.push_back(ToFields{addr, amt, memo}); + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); + tx.toAddrs.push_back(ToFields{addr, amt, memo}); @@ -670,6 +711,7 @@ Tx MainWindow::createTxForSafeContactRequest() CAmount totalAmt; QString amtStr = "0"; CAmount amt; + QString headerbytes = ""; amt = CAmount::fromDecimalString("0"); totalAmt = totalAmt + amt; @@ -678,8 +720,38 @@ Tx MainWindow::createTxForSafeContactRequest() QString type = "Cont"; QString addr = contactRequest.getReceiverAddress(); - QString hmemo= createHeaderMemo(type,cid,myAddr); + QString memo = contactRequest.getMemo(); + // QString privkey = rpc->fetchPrivKey(myAddr); + QString passphrase = this->getPassword(); + QString hashEncryptionKey = passphrase; + int length = hashEncryptionKey.length(); + + qDebug()<<"Encryption String :"<(ba2.constData()); + #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) + #define MESSAGEAS1_LEN length + + + unsigned char hash[crypto_kx_SEEDBYTES]; + + crypto_hash_sha256(hash,MESSAGEAS1, MESSAGEAS1_LEN); + + + unsigned char sk[crypto_kx_SECRETKEYBYTES]; + unsigned char pk[crypto_kx_PUBLICKEYBYTES]; + + if (crypto_kx_seed_keypair(pk,sk, + hash) !=0) { + } + + QString publicKey = QByteArray(reinterpret_cast(pk), crypto_kx_PUBLICKEYBYTES).toHex(); + + QString hmemo= createHeaderMemo(type,cid,myAddr,"", publicKey); tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); diff --git a/src/chatmodel.h b/src/chatmodel.h index 1768b9f..b7203ad 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -35,6 +35,7 @@ class ChatModel std::map requestZaddrMap; std::map confirmationsMap; std::map> sendrequestMap; + std::map headerMap; std::map AddressbyLabelMap; public: @@ -52,10 +53,12 @@ class ChatModel void addMessage(ChatItem item); void addMessage(QString timestamp, ChatItem item); void addCid(QString tx, QString cid); + void addHeader(QString tx, QString headerbytes); void addrequestZaddr(QString tx, QString requestZaddr); void addconfirmations(QString tx, int confirmation); void addSendRequest(int i, QString myAddr, QString cid, QString addr ); QString getCidByTx(QString tx); + QString getHeaderByTx(QString tx); QString getrequestZaddrByTx(QString tx); QString getConfirmationByTx(QString tx); QString Addressbylabel(QString addr); diff --git a/src/controller.cpp b/src/controller.cpp index 342a24a..50bcdd6 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -907,27 +907,25 @@ void Controller::refreshTransactions() { this->refresh(true); } - // QString memo1; - QString memo; - QString cid; + QString cid; + QString headerbytes; + QString pubkey; if (!o["memo"].is_null()) { - QString memo = QString::fromStdString(o["memo"].get()); - + memo = QString::fromStdString(o["memo"].get()); + if (memo.startsWith("{")) { QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); cid = headermemo["cid"].toString(); - - + headerbytes = headermemo["e"].toString(); - chatModel->addCid(txid, cid); - + chatModel->addCid(txid, cid); + chatModel->addHeader(txid, headerbytes); } - - + bool isNotarized; if (confirmations > getLag()) @@ -942,62 +940,81 @@ void Controller::refreshTransactions() { cid = chatModel->getCidByTx(txid); + }else{ + cid = ""; + } + + + if (chatModel->getHeaderByTx(txid) != QString("0xdeadbeef")){ + + headerbytes = chatModel->getHeaderByTx(txid); + }else{ - cid = ""; + headerbytes = ""; } + qDebug()<<"Headerbytes :"< 0)) + { + /*for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) + { - /////////////////Bob Secretkey + if (p.getPartnerAddress() == address) + { pubkey = p.getPubkey(); + }else {pubkey = ""; + }*/ + + //QString myAddr = p.getMyAddress(); + QString passphrase = main->getPassword(); + QString hashEncryptionKey = passphrase; + int length = hashEncryptionKey.length(); - #define MESSAGEAS ((const unsigned char *) "Hallo")///////////static atm, in future we will use the Passphrase here - #define MESSAGEAS_LEN 5 + qDebug()<<"Encryption String :"<(ba2.constData()); + #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) + #define MESSAGEAS1_LEN length - /////////////////Bob Pubkey - #define MESSAGEBAP ((const unsigned char *) "Hallo")///////////static atm, in future we will use the CID here - #define MESSAGEBAP_LEN 5 - unsigned char bob_publickey[crypto_box_PUBLICKEYBYTES]; + #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw)///////////static atm, in future we will use the Passphrase here + #define MESSAGEAS1_LEN 12 - crypto_generichash(bob_publickey, sizeof bob_publickey, - MESSAGEBAP, MESSAGEBAP_LEN, - NULL, 0); + + unsigned char hash1[crypto_kx_SECRETKEYBYTES]; + crypto_hash_sha256(hash1,MESSAGEAS1, MESSAGEAS1_LEN); + unsigned char sk[crypto_kx_SECRETKEYBYTES]; + unsigned char pk[crypto_kx_PUBLICKEYBYTES]; + + if (crypto_kx_seed_keypair(pk,sk, + hash1) !=0) { - /////We need to filter out Memos smaller then the ciphertext size, or it will dump + } - if ((memo.length() > 120) && (memo.startsWith("{") == false)) - { + unsigned char client_rx[crypto_kx_SESSIONKEYBYTES], client_tx[crypto_kx_SESSIONKEYBYTES]; + - const QByteArray ba = QByteArray::fromHex(memo.toLatin1()); const unsigned char *encryptedMemo = reinterpret_cast(ba.constData()); + const QByteArray ba1 = QByteArray::fromHex(headerbytes.toLatin1()); + const unsigned char *header = reinterpret_cast(ba1.constData()); + int encryptedMemoSize1 = ba.length(); + int headersize = ba1.length(); //////unsigned char* as message from QString #define MESSAGE2 (const unsigned char *) encryptedMemo @@ -1006,20 +1023,25 @@ void Controller::refreshTransactions() { #define CIPHERTEXT1_LEN encryptedMemoSize1 ///////Message length is smaller then the encrypted message - #define MESSAGE1_LEN encryptedMemoSize1 - crypto_box_MACBYTES + #define MESSAGE1_LEN encryptedMemoSize1 - crypto_secretstream_xchacha20poly1305_ABYTES //////Set the length of the decrypted message unsigned char decrypted[MESSAGE1_LEN]; + unsigned char tag[crypto_secretstream_xchacha20poly1305_TAG_FINAL]; + crypto_secretstream_xchacha20poly1305_state state; - ///////Decrypt the message - if (crypto_box_open_easy(decrypted, MESSAGE2, CIPHERTEXT1_LEN, alice_publickey, - alice_publickey, alice_publickey) != 0) { - /* message for Bob pretending to be from Alice has been forged! */ - } - /////Our decrypted message is now in decrypted. We need it as QString to render it /////Only the QString gives weird data, so convert first to std::string + // crypto_secretstream_xchacha20poly1305_keygen(client_rx); + if (crypto_secretstream_xchacha20poly1305_init_pull(&state, header, client_rx) != 0) { + /* Invalid header, no need to go any further */ + } + + if (crypto_secretstream_xchacha20poly1305_pull + (&state, decrypted, NULL, tag, MESSAGE2, CIPHERTEXT1_LEN, NULL, 0) != 0) { + /* Invalid/incomplete/corrupted ciphertext - abort */ + } std::string decryptedMemo(reinterpret_cast(decrypted),MESSAGE1_LEN); @@ -1047,7 +1069,7 @@ void Controller::refreshTransactions() { DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - + // } }else{ @@ -1068,8 +1090,8 @@ void Controller::refreshTransactions() { DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } + } - } items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; } @@ -1114,6 +1136,8 @@ void Controller::refreshTransactions() { txdata.push_back(tx); QString type; + QString publickey; + QString headerbytes; QString cid; int position; QString requestZaddr; @@ -1149,9 +1173,12 @@ void Controller::refreshTransactions() { cid = headermemo["cid"].toString(); type = headermemo["t"].toString(); requestZaddr = headermemo["z"].toString(); + headerbytes = headermemo["e"].toString(); + publickey = headermemo["p"].toString(); chatModel->addCid(txid, cid); chatModel->addrequestZaddr(txid, requestZaddr); + chatModel->addHeader(txid, headerbytes); } @@ -1169,9 +1196,18 @@ void Controller::refreshTransactions() { requestZaddr = chatModel->getrequestZaddrByTx(txid); }else{ requestZaddr = ""; - } + } + + + if (chatModel->getHeaderByTx(txid) != QString("0xdeadbeef")){ - position = it["position"].get(); + headerbytes = chatModel->getHeaderByTx(txid); + + }else{ + headerbytes = ""; + } + + //position = it["position"].get(); bool isNotarized; @@ -1183,7 +1219,90 @@ void Controller::refreshTransactions() { isNotarized = false; } - ChatItem item = ChatItem( + + int lengthcid = cid.length(); + + char *cidchar = NULL; + cidchar = new char[lengthcid+1]; + strncpy(cidchar, cid.toLocal8Bit(), lengthcid +1); + + if ((memo.startsWith("{") == false) && (headerbytes > 0)) + { + + #define MESSAGEAS ((const unsigned char *) cidchar) + #define MESSAGEAS_LEN lengthcid + + unsigned char hash[crypto_secretstream_xchacha20poly1305_KEYBYTES]; + + crypto_hash_sha256(hash,MESSAGEAS, MESSAGEAS_LEN); + + const QByteArray ba = QByteArray::fromHex(memo.toLatin1()); + const unsigned char *encryptedMemo = reinterpret_cast(ba.constData()); + + const QByteArray ba1 = QByteArray::fromHex(headerbytes.toLatin1()); + const unsigned char *header = reinterpret_cast(ba1.constData()); + + int encryptedMemoSize1 = ba.length(); + int headersize = ba1.length(); + + //////unsigned char* as message from QString + #define MESSAGE2 (const unsigned char *) encryptedMemo + + ///////// length of the encrypted message + #define CIPHERTEXT1_LEN encryptedMemoSize1 + + ///////Message length is smaller then the encrypted message + #define MESSAGE1_LEN encryptedMemoSize1 - crypto_secretstream_xchacha20poly1305_ABYTES + + //////Set the length of the decrypted message + + unsigned char decrypted[MESSAGE1_LEN]; + unsigned char tag[crypto_secretstream_xchacha20poly1305_TAG_FINAL]; + crypto_secretstream_xchacha20poly1305_state state; + + /////Our decrypted message is now in decrypted. We need it as QString to render it + /////Only the QString gives weird data, so convert first to std::string + + if (crypto_secretstream_xchacha20poly1305_init_pull(&state, header, hash) != 0) { + /* Invalid header, no need to go any further */ + } + + if (crypto_secretstream_xchacha20poly1305_pull + (&state, decrypted, NULL, tag, MESSAGE2, CIPHERTEXT1_LEN, NULL, 0) != 0) { + /* Invalid/incomplete/corrupted ciphertext - abort */ + } + + std::string decryptedMemo(reinterpret_cast(decrypted),MESSAGE1_LEN); + + /////Now we can convert it to QString + QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); + + //////////////Give us the output of the decrypted message as debug to see if it was successfully + qDebug()<<"OUT decrypt:" << memodecrypt; + + + ChatItem item = ChatItem( + datetime, + address, + QString(""), + memodecrypt, + requestZaddr, + type, + cid, + txid, + confirmations, + false, + isNotarized, + isContact + ); + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); + + + + }else{ + + + ChatItem item = ChatItem( datetime, address, QString(""), @@ -1197,9 +1316,10 @@ void Controller::refreshTransactions() { isNotarized, isContact ); - - DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - } + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); + + } + } } } } diff --git a/src/mainwindow.h b/src/mainwindow.h index 56bfbc6..815fd84 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -90,7 +90,7 @@ public: void doClose(); void doClosePw(); - QString createHeaderMemo(QString type, QString cid, QString zaddr, int version, int headerNumber); + QString createHeaderMemo(QString type, QString cid, QString zaddr,QString headerbytes,QString publickey, int version, int headerNumber); public slots: void slot_change_theme(const QString& themeName); From 74de61d265caa7e6c21e2b739b25d8350e15c309 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 1 Jun 2020 22:21:17 +0200 Subject: [PATCH 194/251] add pubkey cache --- src/chatmodel.cpp | 12 ++++++++++-- src/chatmodel.h | 1 + src/controller.cpp | 28 +++++++++++++++++++++++----- src/mainwindow.cpp | 20 ++++++++++++++++++++ src/mainwindow.h | 5 +++++ 5 files changed, 59 insertions(+), 7 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index bc45d8b..f29be0f 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -260,6 +260,8 @@ void ChatModel::addHeader(QString tx, QString headerbytes) this->headerMap[tx] = headerbytes; } + + void ChatModel::addrequestZaddr(QString tx, QString requestZaddr) { this->requestZaddrMap[tx] = requestZaddr; @@ -285,6 +287,9 @@ QString ChatModel::getCidByTx(QString tx) return QString("0xdeadbeef"); } + + + QString ChatModel::getHeaderByTx(QString tx) { for(auto& pair : this->headerMap) @@ -415,7 +420,7 @@ Tx MainWindow::createTxFromChatPage() { - QString pubkey = "test"; + QString pubkey = this->getPubkeyByAddress(addr); QString passphrase = this->getPassword(); QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); @@ -474,8 +479,9 @@ Tx MainWindow::createTxFromChatPage() { ////Create the HM for this message QString headerbytes = QByteArray(reinterpret_cast(header), crypto_secretstream_xchacha20poly1305_HEADERBYTES).toHex(); + QString publickeyAlice = QByteArray(reinterpret_cast(pk), crypto_kx_PUBLICKEYBYTES).toHex(); - QString hmemo= createHeaderMemo(type,cid,myAddr,"",headerbytes); + QString hmemo= createHeaderMemo(type,cid,myAddr,publickeyAlice,headerbytes); /////Ciphertext Memo QString memo = QByteArray(reinterpret_cast(ciphertext), CIPHERTEXT_LEN).toHex(); @@ -751,6 +757,8 @@ Tx MainWindow::createTxForSafeContactRequest() QString publicKey = QByteArray(reinterpret_cast(pk), crypto_kx_PUBLICKEYBYTES).toHex(); + qDebug()<<"Publickey created Request: "<> sendrequestMap; std::map headerMap; std::map AddressbyLabelMap; + public: ChatModel() {}; diff --git a/src/controller.cpp b/src/controller.cpp index 50bcdd6..0f5b4f3 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -910,7 +910,7 @@ void Controller::refreshTransactions() { QString memo; QString cid; QString headerbytes; - QString pubkey; + QString publickey; if (!o["memo"].is_null()) { memo = QString::fromStdString(o["memo"].get()); @@ -953,7 +953,15 @@ void Controller::refreshTransactions() { headerbytes = ""; } - qDebug()<<"Headerbytes :"<getPubkeyByAddress(address) != QString("0xdeadbeef")){ + + publickey = main->getPubkeyByAddress(address); + + }else{ + publickey = ""; + } + + qDebug()<<"Pubkey :"<addCid(txid, cid); chatModel->addrequestZaddr(txid, requestZaddr); chatModel->addHeader(txid, headerbytes); + main->addPubkey(requestZaddr, publickey); - } + } if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ @@ -1207,6 +1216,14 @@ void Controller::refreshTransactions() { headerbytes = ""; } + if (main->getPubkeyByAddress(requestZaddr) != QString("0xdeadbeef")){ + + publickey = main->getPubkeyByAddress(requestZaddr); + + }else{ + publickey = ""; + } + //position = it["position"].get(); bool isNotarized; @@ -1226,7 +1243,7 @@ void Controller::refreshTransactions() { cidchar = new char[lengthcid+1]; strncpy(cidchar, cid.toLocal8Bit(), lengthcid +1); - if ((memo.startsWith("{") == false) && (headerbytes > 0)) + if ((memo.startsWith("{") == false) && (headerbytes > 0)) { #define MESSAGEAS ((const unsigned char *) cidchar) @@ -1298,7 +1315,7 @@ void Controller::refreshTransactions() { DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - + }else{ @@ -1320,6 +1337,7 @@ void Controller::refreshTransactions() { } } + } } } } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 27c567e..bd12d90 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1062,6 +1062,26 @@ void MainWindow::exportSeed() { }); } +void MainWindow::addPubkey(QString requestZaddr, QString pubkey) +{ + this->pubkeyMap[requestZaddr] = pubkey; +} + +QString MainWindow::getPubkeyByAddress(QString requestZaddr) +{ + for(auto& pair : this->pubkeyMap) + { + + } + + if(this->pubkeyMap.count(requestZaddr) > 0) + { + return this->pubkeyMap[requestZaddr]; + } + + return QString("0xdeadbeef"); +} + void MainWindow::exportAllKeys() { exportKeys(""); } diff --git a/src/mainwindow.h b/src/mainwindow.h index 815fd84..8c63540 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -12,6 +12,7 @@ class Controller; class Settings; class WSServer; class WormholeClient; +class ChatModel; using json = nlohmann::json; @@ -52,7 +53,11 @@ public: QString doSendRequestTxValidations(Tx tx); QString getCid(); QString getPassword(); + std::map pubkeyMap; + QString getPubkeyByAddress(QString requestZaddr); void setPassword(QString Password); + void addPubkey(QString requestZaddr, QString pubkey); + void replaceWormholeClient(WormholeClient* newClient); bool isWebsocketListening(); From 875d1a16a13bf3c744f30154f3e9191107263bea Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 1 Jun 2020 22:32:38 +0200 Subject: [PATCH 195/251] add pubkey cache --- src/controller.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/controller.cpp b/src/controller.cpp index 0f5b4f3..f4475cd 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -957,6 +957,8 @@ void Controller::refreshTransactions() { publickey = main->getPubkeyByAddress(address); + qDebug()<<"Pubkey outgoing found"<addCid(txid, cid); chatModel->addrequestZaddr(txid, requestZaddr); chatModel->addHeader(txid, headerbytes); + + if (publickey.length() > 0){ main->addPubkey(requestZaddr, publickey); + } } @@ -1336,7 +1341,7 @@ void Controller::refreshTransactions() { DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); } - } + } } } From 173ec6ccdc7bb9f2f075a0ec3a605e6fcd1a6b21 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 1 Jun 2020 22:47:13 +0200 Subject: [PATCH 196/251] fix for incoming memos --- src/controller.cpp | 69 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 60 insertions(+), 9 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index f4475cd..a4f315d 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -995,10 +995,13 @@ void Controller::refreshTransactions() { const QByteArray ba2 = QByteArray::fromHex(hashEncryptionKey.toLatin1()); const unsigned char *hashEncryptionKeyraw = reinterpret_cast(ba2.constData()); #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) - #define MESSAGEAS1_LEN length + #define MESSAGEAS1_LEN length + const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); + const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); - #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw)///////////static atm, in future we will use the Passphrase here + + #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw)/////////// #define MESSAGEAS1_LEN 12 @@ -1015,6 +1018,17 @@ void Controller::refreshTransactions() { } unsigned char client_rx[crypto_kx_SESSIONKEYBYTES], client_tx[crypto_kx_SESSIONKEYBYTES]; + + + ////////////////Get the pubkey from Bob, so we can create the share key + + + /////Create the shared key for sending the message + + if (crypto_kx_server_session_keys(client_rx, client_tx, + pk, sk, pubkeyBob) != 0) { + /* Suspicious client public key, bail out */ + } const QByteArray ba = QByteArray::fromHex(memo.toLatin1()); @@ -1243,6 +1257,11 @@ void Controller::refreshTransactions() { int lengthcid = cid.length(); + QString passphrase = main->getPassword(); + QString hashEncryptionKey = passphrase; + int length = hashEncryptionKey.length(); + + qDebug()<<"Encryption String :"< 0)) { - #define MESSAGEAS ((const unsigned char *) cidchar) - #define MESSAGEAS_LEN lengthcid + const QByteArray ba2 = QByteArray::fromHex(hashEncryptionKey.toLatin1()); + const unsigned char *hashEncryptionKeyraw = reinterpret_cast(ba2.constData()); + #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) + #define MESSAGEAS1_LEN length + + const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); + const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); + + + #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw)/////////// + #define MESSAGEAS1_LEN 12 + + + unsigned char hash1[crypto_kx_SECRETKEYBYTES]; + + crypto_hash_sha256(hash1,MESSAGEAS1, MESSAGEAS1_LEN); + unsigned char sk[crypto_kx_SECRETKEYBYTES]; + unsigned char pk[crypto_kx_PUBLICKEYBYTES]; + + if (crypto_kx_seed_keypair(pk,sk, + hash1) !=0) { - unsigned char hash[crypto_secretstream_xchacha20poly1305_KEYBYTES]; - crypto_hash_sha256(hash,MESSAGEAS, MESSAGEAS_LEN); + } + + unsigned char client_rx[crypto_kx_SESSIONKEYBYTES], client_tx[crypto_kx_SESSIONKEYBYTES]; + + + ////////////////Get the pubkey from Bob, so we can create the share key + + + /////Create the shared key for sending the message + + if (crypto_kx_server_session_keys(client_rx, client_tx, + pk, sk, pubkeyBob) != 0) { + /* Suspicious client public key, bail out */ + } + const QByteArray ba = QByteArray::fromHex(memo.toLatin1()); const unsigned char *encryptedMemo = reinterpret_cast(ba.constData()); @@ -1284,8 +1335,8 @@ void Controller::refreshTransactions() { /////Our decrypted message is now in decrypted. We need it as QString to render it /////Only the QString gives weird data, so convert first to std::string - - if (crypto_secretstream_xchacha20poly1305_init_pull(&state, header, hash) != 0) { + // crypto_secretstream_xchacha20poly1305_keygen(client_rx); + if (crypto_secretstream_xchacha20poly1305_init_pull(&state, header, client_rx) != 0) { /* Invalid header, no need to go any further */ } @@ -1300,7 +1351,7 @@ void Controller::refreshTransactions() { QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); //////////////Give us the output of the decrypted message as debug to see if it was successfully - qDebug()<<"OUT decrypt:" << memodecrypt; + qDebug()<<"OUT decrypt:" << memodecrypt; ChatItem item = ChatItem( From 1aed6e9ed004d11e2d8669ee462651541035ce57 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 2 Jun 2020 00:26:06 +0200 Subject: [PATCH 197/251] change server to client --- src/chatmodel.cpp | 8 +++++--- src/controller.cpp | 49 +++++++++++++++++++++++----------------------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index f29be0f..69751ad 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -422,10 +422,10 @@ Tx MainWindow::createTxFromChatPage() { QString pubkey = this->getPubkeyByAddress(addr); QString passphrase = this->getPassword(); - QString hashEncryptionKey = passphrase; + QString hashEncryptionKey = "Test"; int length = hashEncryptionKey.length(); - qDebug()<<"Encryption String :"<(header), crypto_secretstream_xchacha20poly1305_HEADERBYTES).toHex(); QString publickeyAlice = QByteArray(reinterpret_cast(pk), crypto_kx_PUBLICKEYBYTES).toHex(); - QString hmemo= createHeaderMemo(type,cid,myAddr,publickeyAlice,headerbytes); + qDebug()<<"Headerbyte erstellung : "<(ciphertext), CIPHERTEXT_LEN).toHex(); diff --git a/src/controller.cpp b/src/controller.cpp index a4f315d..cd1c3e4 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -948,6 +948,7 @@ void Controller::refreshTransactions() { if (chatModel->getHeaderByTx(txid) != QString("0xdeadbeef")){ headerbytes = chatModel->getHeaderByTx(txid); + qDebug()<<"headerbytes outgoing found"<getPassword(); - QString hashEncryptionKey = passphrase; + QString hashEncryptionKey = "Test"; int length = hashEncryptionKey.length(); qDebug()<<"Encryption String :"<(ba2.constData()); - #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) - #define MESSAGEAS1_LEN length - const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); - const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); + const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); + const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); + + qDebug()<<"Pubkey benutzt incoming transaction:"<(ba1.constData()); + qDebug()<<"Header benutzt incoming transaction:"<getHeaderByTx(txid) != QString("0xdeadbeef")){ headerbytes = chatModel->getHeaderByTx(txid); + qDebug()<<"HEADERBYTE INCOMING"<getPassword(); - QString hashEncryptionKey = passphrase; + int lengthcid = cid.length(); + QString passphrase = main->getPassword(); + QString hashEncryptionKey = "Test"; int length = hashEncryptionKey.length(); qDebug()<<"Encryption String :"<(ba2.constData()); - #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) - #define MESSAGEAS1_LEN length - - const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); + + const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw)/////////// - #define MESSAGEAS1_LEN 12 + #define MESSAGEAS1_LEN length unsigned char hash1[crypto_kx_SECRETKEYBYTES]; @@ -1303,7 +1302,7 @@ void Controller::refreshTransactions() { /////Create the shared key for sending the message - if (crypto_kx_server_session_keys(client_rx, client_tx, + if (crypto_kx_client_session_keys(client_rx, client_tx, pk, sk, pubkeyBob) != 0) { /* Suspicious client public key, bail out */ } From 04575afd5a1eb64036595c22832129ac6c5aa5d3 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 2 Jun 2020 01:24:12 +0200 Subject: [PATCH 198/251] change decrypt key to shared --- src/controller.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index cd1c3e4..66b7823 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1239,6 +1239,8 @@ void Controller::refreshTransactions() { if (main->getPubkeyByAddress(requestZaddr) != QString("0xdeadbeef")){ publickey = main->getPubkeyByAddress(requestZaddr); + qDebug()<<"Incoming Pubkey :"<(ba.constData()); @@ -1335,7 +1337,7 @@ void Controller::refreshTransactions() { /////Our decrypted message is now in decrypted. We need it as QString to render it /////Only the QString gives weird data, so convert first to std::string // crypto_secretstream_xchacha20poly1305_keygen(client_rx); - if (crypto_secretstream_xchacha20poly1305_init_pull(&state, header, client_rx) != 0) { + if (crypto_secretstream_xchacha20poly1305_init_pull(&state, header, server_tx) != 0) { /* Invalid header, no need to go any further */ } From ce3120dcd1a60ef584f8f62d1274a064bbe6bf38 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 2 Jun 2020 01:56:28 +0200 Subject: [PATCH 199/251] we use seedbytes --- src/chatmodel.cpp | 13 +++++++------ src/controller.cpp | 19 ++++++++++--------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 69751ad..5df7693 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -429,8 +429,9 @@ Tx MainWindow::createTxFromChatPage() { ////////////////Generate the secretkey for our message encryption - const QByteArray ba2 = QByteArray::fromHex(hashEncryptionKey.toLatin1()); - const unsigned char *hashEncryptionKeyraw = reinterpret_cast(ba2.constData()); + char *hashEncryptionKeyraw = NULL; + hashEncryptionKeyraw = new char[length+1]; + strncpy(hashEncryptionKeyraw, hashEncryptionKey.toLocal8Bit(), length +1); #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) #define MESSAGEAS1_LEN length @@ -732,15 +733,15 @@ Tx MainWindow::createTxForSafeContactRequest() QString memo = contactRequest.getMemo(); // QString privkey = rpc->fetchPrivKey(myAddr); QString passphrase = this->getPassword(); - QString hashEncryptionKey = passphrase; + QString hashEncryptionKey = "Test"; int length = hashEncryptionKey.length(); qDebug()<<"Encryption String :"<(ba2.constData()); + char *hashEncryptionKeyraw = NULL; + hashEncryptionKeyraw = new char[length+1]; + strncpy(hashEncryptionKeyraw, hashEncryptionKey.toLocal8Bit(), length +1); #define MESSAGEAS1 ((const unsigned char *) hashEncryptionKeyraw) #define MESSAGEAS1_LEN length diff --git a/src/controller.cpp b/src/controller.cpp index 66b7823..6ca80cd 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -993,8 +993,9 @@ void Controller::refreshTransactions() { ////////////////Generate the secretkey for our message encryption - const QByteArray ba2 = QByteArray::fromHex(hashEncryptionKey.toLatin1()); - const unsigned char *hashEncryptionKeyraw = reinterpret_cast(ba2.constData()); + char *hashEncryptionKeyraw = NULL; + hashEncryptionKeyraw = new char[length+1]; + strncpy(hashEncryptionKeyraw, hashEncryptionKey.toLocal8Bit(), length +1); const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); @@ -1006,7 +1007,7 @@ void Controller::refreshTransactions() { #define MESSAGEAS1_LEN length - unsigned char hash1[crypto_kx_SECRETKEYBYTES]; + unsigned char hash1[crypto_kx_SEEDBYTES]; crypto_hash_sha256(hash1,MESSAGEAS1, MESSAGEAS1_LEN); unsigned char sk[crypto_kx_SECRETKEYBYTES]; @@ -1266,15 +1267,15 @@ void Controller::refreshTransactions() { qDebug()<<"Encryption String :"< 0)) { - const QByteArray ba2 = QByteArray::fromHex(hashEncryptionKey.toLatin1()); - const unsigned char *hashEncryptionKeyraw = reinterpret_cast(ba2.constData()); + //const QByteArray ba2 = QByteArray::fromHex(hashEncryptionKey.toLatin1()); + // const unsigned char *hashEncryptionKeyraw = reinterpret_cast(ba2.constData()); const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); @@ -1284,7 +1285,7 @@ void Controller::refreshTransactions() { #define MESSAGEAS1_LEN length - unsigned char hash1[crypto_kx_SECRETKEYBYTES]; + unsigned char hash1[crypto_kx_SEEDBYTES]; crypto_hash_sha256(hash1,MESSAGEAS1, MESSAGEAS1_LEN); unsigned char sk[crypto_kx_SECRETKEYBYTES]; From 4b7af93e0d8a6a6b2c86aca1a96331672679f0b0 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 2 Jun 2020 18:10:19 +0200 Subject: [PATCH 200/251] on/off switch for rendering encrypted messages --- src/addressbook.cpp | 4 +- src/chatmodel.cpp | 6 +-- src/controller.cpp | 99 +++++++++++++++++++++++++++------------------ src/mainwindow.ui | 14 +++++++ 4 files changed, 79 insertions(+), 44 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 591a9c0..ae81ae2 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -392,7 +392,7 @@ void AddressBook::readFromStorage() QDataStream in(&file); // read the data serialized from the file QString version; in >> version; - qDebug() << "Detected old addressbook format"; + // qDebug() << "Detected old addressbook format"; // Convert old addressbook format v1 to v2 QList> stuff; in >> stuff; @@ -408,7 +408,7 @@ void AddressBook::readFromStorage() allLabels.push_back(contact); } - qDebug() << "Read " << version << " Hush contacts from disk..."; + // qDebug() << "Read " << version << " Hush contacts from disk..."; file.close(); } else diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 5df7693..8d5d32f 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -422,7 +422,7 @@ Tx MainWindow::createTxFromChatPage() { QString pubkey = this->getPubkeyByAddress(addr); QString passphrase = this->getPassword(); - QString hashEncryptionKey = "Test"; + QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); qDebug()<<"Pubkey Erstellung :"<refresh(true); + rpc->refresh(true); } QString MainWindow::doSendChatTxValidations(Tx tx) { @@ -733,7 +733,7 @@ Tx MainWindow::createTxForSafeContactRequest() QString memo = contactRequest.getMemo(); // QString privkey = rpc->fetchPrivKey(myAddr); QString passphrase = this->getPassword(); - QString hashEncryptionKey = "Test"; + QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); qDebug()<<"Encryption String :"<getHeaderByTx(txid) != QString("0xdeadbeef")){ headerbytes = chatModel->getHeaderByTx(txid); - qDebug()<<"headerbytes outgoing found"<getPubkeyByAddress(address); - qDebug()<<"Pubkey outgoing found"< 0)) { - /*for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) - { - - if (p.getPartnerAddress() == address) - { pubkey = p.getPubkey(); - }else {pubkey = ""; - }*/ + //QString myAddr = p.getMyAddress(); QString passphrase = main->getPassword(); - QString hashEncryptionKey = "Test"; + QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); - qDebug()<<"Encryption String :"<(pubkeyBobArray.constData()); - qDebug()<<"Pubkey benutzt incoming transaction:"<(ba1.constData()); - qDebug()<<"Header benutzt incoming transaction:"<(decrypted),MESSAGE1_LEN); - + QString memodecrypt; /////Now we can convert it to QString - QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); + if (ui->decryptionMessage->isChecked()){ + memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); + DataStore::getChatDataStore()->clear(); + this->refresh(true); + chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); + }else{ memodecrypt = memo; + DataStore::getChatDataStore()->clear(); + this->refresh(true); + chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); + } + //////////////Give us the output of the decrypted message as debug to see if it was successfully qDebug()<<"OUT decrypt:" << memodecrypt; @@ -1094,7 +1098,7 @@ void Controller::refreshTransactions() { DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - // } + }else{ @@ -1143,7 +1147,6 @@ void Controller::refreshTransactions() { model->markAddressUsed(address); QString memo; - QString test; if (!it["memo"].is_null()) { memo = QString::fromStdString(it["memo"]); } @@ -1205,10 +1208,11 @@ void Controller::refreshTransactions() { chatModel->addrequestZaddr(txid, requestZaddr); chatModel->addHeader(txid, headerbytes); - if (publickey.length() > 0){ + if (publickey.length() > 10){ main->addPubkey(requestZaddr, publickey); } - + qDebug()<<"Scane HM Incoming:"; + qDebug()<<"Scane HM Incoming:"<getHeaderByTx(txid) != QString("0xdeadbeef")){ headerbytes = chatModel->getHeaderByTx(txid); - qDebug()<<"HEADERBYTE INCOMING"<getPubkeyByAddress(requestZaddr) != QString("0xdeadbeef")){ publickey = main->getPubkeyByAddress(requestZaddr); - qDebug()<<"Incoming Pubkey :"< 20)) + { + + int lengthcid = cid.length(); QString passphrase = main->getPassword(); - QString hashEncryptionKey = "Test"; + QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); - qDebug()<<"Encryption String :"< 0)) - { - //const QByteArray ba2 = QByteArray::fromHex(hashEncryptionKey.toLatin1()); // const unsigned char *hashEncryptionKeyraw = reinterpret_cast(ba2.constData()); @@ -1296,7 +1301,7 @@ void Controller::refreshTransactions() { } - unsigned char server_rx[crypto_kx_SESSIONKEYBYTES], server_tx[crypto_kx_SESSIONKEYBYTES]; + unsigned char client_rx[crypto_kx_SESSIONKEYBYTES], client_tx[crypto_kx_SESSIONKEYBYTES]; ////////////////Get the pubkey from Bob, so we can create the share key @@ -1304,7 +1309,7 @@ void Controller::refreshTransactions() { /////Create the shared key for sending the message - if (crypto_kx_server_session_keys(server_rx, server_tx, + if (crypto_kx_client_session_keys(client_rx, client_tx, pk, sk, pubkeyBob) != 0) { /* Suspicious client public key, bail out */ } @@ -1338,7 +1343,7 @@ void Controller::refreshTransactions() { /////Our decrypted message is now in decrypted. We need it as QString to render it /////Only the QString gives weird data, so convert first to std::string // crypto_secretstream_xchacha20poly1305_keygen(client_rx); - if (crypto_secretstream_xchacha20poly1305_init_pull(&state, header, server_tx) != 0) { + if (crypto_secretstream_xchacha20poly1305_init_pull(&state, header, client_rx) != 0) { /* Invalid header, no need to go any further */ } @@ -1350,10 +1355,22 @@ void Controller::refreshTransactions() { std::string decryptedMemo(reinterpret_cast(decrypted),MESSAGE1_LEN); /////Now we can convert it to QString - QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); - + QString memodecrypt; + if (ui->decryptionMessage->isChecked()){ + memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); + DataStore::getChatDataStore()->clear(); + this->refresh(true); + chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); + }else{ memodecrypt = memo; + DataStore::getChatDataStore()->clear(); + this->refresh(true); + chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); + } + + + // } //////////////Give us the output of the decrypted message as debug to see if it was successfully - qDebug()<<"OUT decrypt:" << memodecrypt; + ChatItem item = ChatItem( @@ -1372,12 +1389,13 @@ void Controller::refreshTransactions() { ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); + qDebug()<<"Pushe decrypte Items:"; }else{ - - ChatItem item = ChatItem( + qDebug()<<"Pushe plain Items 1:"; + ChatItem item = ChatItem( datetime, address, QString(""), @@ -1392,13 +1410,15 @@ void Controller::refreshTransactions() { isContact ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); + + qDebug()<<"Pushe Plain items 2:"; } } } - } } + } // Calculate the total unspent amount that's pending. This will need to be // shown in the UI so the user can keep track of pending funds @@ -1410,7 +1430,8 @@ void Controller::refreshTransactions() { } } } - getModel()->setTotalPending(totalPending); + + getModel()->setTotalPending(totalPending); // Update UI Balance updateUIBalances(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index de58411..a715861 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1703,6 +1703,19 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + 900 + 10 + 281 + 23 + + + + Message encryption/decryption ON + + listContactWidget label_39 contactNameMemo @@ -1714,6 +1727,7 @@ listChat memoTxtChat sendChatButton + decryptionMessage From 8ffed6683c012ca87e14d5aa030f4ac2ca95607c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 2 Jun 2020 20:19:18 +0200 Subject: [PATCH 201/251] dont refresh to often --- src/DataStore/ChatDataStore.cpp | 3 ++- src/chatmodel.cpp | 2 +- src/controller.cpp | 35 +++++++++++++-------------------- src/controller.h | 1 + src/mainwindow.cpp | 4 +++- 5 files changed, 21 insertions(+), 24 deletions(-) diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 7bb3840..7b03c0e 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -60,7 +60,8 @@ std::map ChatDataStore::getAllNewContactRequests() if ( (c.second.isOutgoing() == false) && (c.second.getType() == "Cont") && - (c.second.isContact() == false) + (c.second.isContact() == false) && + (c.second.getMemo().isEmpty()) ) { diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 8d5d32f..2358ae9 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -618,7 +618,7 @@ void MainWindow::sendChat() { } ); - rpc->refresh(true); + // rpc->refresh(true); } QString MainWindow::doSendChatTxValidations(Tx tx) { diff --git a/src/controller.cpp b/src/controller.cpp index 4c7edfe..66c00b8 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -963,22 +963,12 @@ void Controller::refreshTransactions() { }else{ publickey = ""; } - - - - int lengthcid = cid.length(); - - char *cidchar = NULL; - cidchar = new char[lengthcid+1]; - strncpy(cidchar, cid.toLocal8Bit(), lengthcid +1); /////We need to filter out Memos smaller then the ciphertext size, or it will dump if ((memo.startsWith("{") == false) && (headerbytes > 0)) { - - //QString myAddr = p.getMyAddress(); QString passphrase = main->getPassword(); QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); @@ -1068,11 +1058,11 @@ void Controller::refreshTransactions() { if (ui->decryptionMessage->isChecked()){ memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); DataStore::getChatDataStore()->clear(); - this->refresh(true); + // this->refresh(true); chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); }else{ memodecrypt = memo; DataStore::getChatDataStore()->clear(); - this->refresh(true); + // this->refresh(true); chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); } @@ -1097,7 +1087,7 @@ void Controller::refreshTransactions() { ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - + updateUIBalances(); }else{ @@ -1117,7 +1107,7 @@ void Controller::refreshTransactions() { false ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - + updateUIBalances(); } } @@ -1181,7 +1171,7 @@ void Controller::refreshTransactions() { chatModel->addAddressbylabel(address, requestZaddr); } else{} - + } if (chatModel->Addressbylabel(address) != QString("0xdeadbeef")){ isContact = true; @@ -1359,12 +1349,15 @@ void Controller::refreshTransactions() { if (ui->decryptionMessage->isChecked()){ memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); DataStore::getChatDataStore()->clear(); - this->refresh(true); - chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); - }else{ memodecrypt = memo; - DataStore::getChatDataStore()->clear(); - this->refresh(true); + // this->refresh(true); chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); + + }else{ + + memodecrypt = memo; + DataStore::getChatDataStore()->clear(); + //this->refresh(true); + chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); } @@ -1415,7 +1408,7 @@ void Controller::refreshTransactions() { } - } + // } } } } diff --git a/src/controller.h b/src/controller.h index 9fd445b..f66596f 100644 --- a/src/controller.h +++ b/src/controller.h @@ -80,6 +80,7 @@ public: void refreshGBPCAP(); void refreshAUDCAP(); + void refreshChat(QListView *listWidget, QLabel *label); void refreshContacts(QListView *listWidget); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index bd12d90..4984811 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1357,7 +1357,9 @@ void MainWindow::setupchatTab() { ui->memoTxtChat->setTextColor("Black"); } - + + ui->decryptionMessage->setChecked(true); + QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChat); QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); QObject::connect(ui->pushContact, &QPushButton::clicked, this , &MainWindow::renderContactRequest); From e2caf2b3e87cd7bae13410d356d403f2bf03b60a Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 2 Jun 2020 21:01:18 +0200 Subject: [PATCH 202/251] only one passphrase at beginning --- src/DataStore/ChatDataStore.cpp | 3 +-- src/mainwindow.cpp | 29 ++++----------------- src/startupencryption.ui | 45 --------------------------------- 3 files changed, 6 insertions(+), 71 deletions(-) diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 7b03c0e..dfa7d54 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -60,8 +60,7 @@ std::map ChatDataStore::getAllNewContactRequests() if ( (c.second.isOutgoing() == false) && (c.second.getType() == "Cont") && - (c.second.isContact() == false) && - (c.second.getMemo().isEmpty()) + (c.second.isContact() == false) ) { diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 4984811..fd1cdd6 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -538,34 +538,15 @@ void MainWindow::removeWalletEncryptionStartUp() { QDialog d(this); Ui_startup ed; ed.setupUi(&d); - - // Handle edits on the password box - auto fnPasswordEdited = [=](const QString&) { - QString password = ed.txtPassword->text(); - // Enable the OK button if the passwords match. - if (!ed.txtPassword->text().isEmpty() && - ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) { - ed.lblPasswordMatch->setText(""); - ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); - } else { - ed.lblPasswordMatch->setText(tr("Passwords don't match or under-lettered")); - ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); - } - - }; - - QObject::connect(ed.txtConfirmPassword, &QLineEdit::textChanged, fnPasswordEdited); - QObject::connect(ed.txtPassword, &QLineEdit::textChanged, fnPasswordEdited); - if (d.exec() == QDialog::Accepted) { - QString str = ed.txtPassword->text(); // data comes from user inputs - int length = str.length(); - this->setPassword(str); + QString password = ed.txtPassword->text(); // data comes from user inputs + int length = password.length(); + this->setPassword(password); char *sequence = NULL; sequence = new char[length+1]; - strncpy(sequence, str.toLocal8Bit(), length +1); + strncpy(sequence, password.toLocal8Bit(), length +1); #define MESSAGE ((const unsigned char *) sequence) #define MESSAGE_LEN length @@ -614,7 +595,7 @@ void MainWindow::removeWalletEncryptionStartUp() { { - QMessageBox::warning(this, tr("You have still Plaintextdata on your disk!"), + QMessageBox::information(this, tr("You have still Plaintextdata on your disk!"), QString("WARNING: Delete it only if you have a backup of your Wallet Seed."), QMessageBox::Ok ); diff --git a/src/startupencryption.ui b/src/startupencryption.ui index 6abdad1..819a698 100644 --- a/src/startupencryption.ui +++ b/src/startupencryption.ui @@ -29,19 +29,6 @@ QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - 10 - 229 - 127 - 25 - - - - Confirm Password: - - @@ -55,19 +42,6 @@ Qt::Horizontal - - - - 162 - 229 - 230 - 25 - - - - QLineEdit::Password - - @@ -113,25 +87,6 @@ Encryption Password: - - - - 10 - 175 - 382 - 17 - - - - color: red; - - - Passwords don't match - - - Qt::AlignCenter - - From 98431babb3463aee50c9d103ffdb81a2b010ff16 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 2 Jun 2020 21:26:34 +0200 Subject: [PATCH 203/251] set maximum chars to 235 --- src/chatmodel.cpp | 8 ++++---- src/mainwindow.h | 2 +- src/mainwindow.ui | 2 +- src/requestdialog.ui | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 2358ae9..09e54f3 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -526,14 +526,14 @@ void MainWindow::sendChat() { return; } - int max = 512; + int max = 235; QString chattext = ui->memoTxtChat->toPlainText(); int size = chattext.size(); if (size > max){ QMessageBox msg(QMessageBox::Critical, tr("Your Message is too long"), - tr("You can only write messages with 512 character maximum \n") + tr("\n Please reduce your message to 512 character."), + tr("You can only write messages with 235 character maximum \n") + tr("\n Please reduce your message to 235 character."), QMessageBox::Ok, this); msg.exec(); @@ -790,7 +790,7 @@ void MainWindow::ContactRequest() { return; } - int max = 512; + int max = 235; QString chattext = contactRequest.getMemo();; int size = chattext.size(); @@ -799,7 +799,7 @@ void MainWindow::ContactRequest() { // auto addr = ""; // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { QMessageBox msg(QMessageBox::Critical, tr("Your Message is too long"), - tr("You can only write messages with 512 character maximum \n") + tr("\n Please reduce your message to 512 character."), + tr("You can only write messages with 235 character maximum \n") + tr("\n Please reduce your message to 235 character."), QMessageBox::Ok, this); msg.exec(); diff --git a/src/mainwindow.h b/src/mainwindow.h index 8c63540..bb56d5b 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -211,7 +211,7 @@ public: void updateDisplayChat(); private: - int maxlenchat = 512; + int maxlenchat = 235; QLabel* lenDisplayLabelchat = nullptr; QPushButton* sendChatButton = nullptr; }; diff --git a/src/mainwindow.ui b/src/mainwindow.ui index a715861..33e2b16 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1697,7 +1697,7 @@ QFrame::Sunken - 0 / 512 + 0 / 235 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter diff --git a/src/requestdialog.ui b/src/requestdialog.ui index e52c475..f12e3e6 100644 --- a/src/requestdialog.ui +++ b/src/requestdialog.ui @@ -101,7 +101,7 @@ - 0 / 512 + 0 / 235 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter From 32a706339cd8f22147cd3c697c525c42868807de Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 3 Jun 2020 09:12:45 +0200 Subject: [PATCH 204/251] copy hushchat addr --- src/mainwindow.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index fd1cdd6..0e42cdd 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1861,8 +1861,11 @@ void MainWindow::on_givemeZaddr_clicked() bool sapling = true; rpc->createNewZaddr(sapling, [=] (json reply) { QString hushchataddr = QString::fromStdString(reply.get()[0]); - QMessageBox::information(this, "Your new Hushchataddress",hushchataddr); - // ui->listReceiveAddresses->insertItem(0, hushchataddr); - // ui->listReceiveAddresses->setCurrentIndex(0); + QClipboard *zaddr_Clipboard = QApplication::clipboard(); + zaddr_Clipboard ->setText(hushchataddr); + QMessageBox::information(this, "Your new Hushchataddress was copied in your clipboard",hushchataddr); + ui->listReceiveAddresses->insertItem(0, hushchataddr); + ui->listReceiveAddresses->setCurrentIndex(0); + }); } From e105cee439e6bf35be294e830ff94e95eb1cb63e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 3 Jun 2020 09:52:55 +0200 Subject: [PATCH 205/251] rename password to passphrase --- src/chatmodel.cpp | 2 +- src/mainwindow.ui | 2 +- src/removeencryption.ui | 2 +- src/startupencryption.ui | 142 +++++++++++++++------------------------ 4 files changed, 57 insertions(+), 91 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 09e54f3..3d26cd1 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -516,7 +516,7 @@ void MainWindow::sendChat() { QString Name = ui->contactNameMemo->text(); int sizename = Name.size(); qDebug()<< sizename; - if (ui->contactNameMemo->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { + if ((sizename < 1) || (ui->memoTxtChat->toPlainText().trimmed().isEmpty())) { QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"), diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 33e2b16..10a2018 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1442,7 +1442,7 @@ 460 20 - 161 + 291 20 diff --git a/src/removeencryption.ui b/src/removeencryption.ui index 77d7239..c29db42 100644 --- a/src/removeencryption.ui +++ b/src/removeencryption.ui @@ -91,7 +91,7 @@ - <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If yo remove your encryption, all your Data is Plaintext on your Disk!</p></body></html> + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your encryption, all your transactions and Contacts are plaintext on disk! Messages are still encrypt.</p></body></html> Qt::AlignCenter diff --git a/src/startupencryption.ui b/src/startupencryption.ui index 819a698..6b8d1ac 100644 --- a/src/startupencryption.ui +++ b/src/startupencryption.ui @@ -7,99 +7,65 @@ 0 0 400 - 300 + 177 SDL Startup Decryption - - - - 50 - 260 - 341 - 32 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - 10 - 166 - 382 - 3 - - - - Qt::Horizontal - - - - - - 10 - 58 - 382 - 56 - - - - <html><head/><body><p>If you have forgotten your password, restore your wallet with your seed!</p></body></html> - - - Qt::AlignCenter - - - true - - - - - - 10 - 260 - 382 - 3 - - - - Qt::Horizontal - - - - - - 10 - 198 - 146 - 25 - - - - Encryption Password: - - - - - - 162 - 198 - 230 - 25 - - - - QLineEdit::Password - - + + + + + <html><head/><body><p>If you have forgotten your passphrase restore your wallet with your seed!</p></body></html> + + + Qt::AlignCenter + + + true + + + + + + + Qt::Horizontal + + + + + + + Encryption Passphrase: + + + + + + + QLineEdit::Password + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + From f46068681cb25241a2f719abc2c41ffdc6416ca7 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 3 Jun 2020 10:00:37 +0200 Subject: [PATCH 206/251] remove recurring from ui Issue #77 --- src/mainwindow.ui | 31 ++-------------------- src/sendtab.cpp | 66 +++++++++++++++++++++++------------------------ 2 files changed, 35 insertions(+), 62 deletions(-) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 10a2018..a978389 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -59,7 +59,7 @@ - 5 + 1 @@ -426,7 +426,7 @@ 0 0 1226 - 488 + 493 @@ -611,33 +611,6 @@ - - - - Recurring payment - - - - - - - Every month, starting 12-May-2012, for 6 payments - - - - - - - Edit Schedule - - - false - - - false - - - diff --git a/src/sendtab.cpp b/src/sendtab.cpp index ce04a54..6f3fc11 100644 --- a/src/sendtab.cpp +++ b/src/sendtab.cpp @@ -138,7 +138,7 @@ void MainWindow::setupSendTab() { ui->MemoTxt1->setFont(f); // Recurring button - QObject::connect(ui->chkRecurring, &QCheckBox::stateChanged, [=] (int checked) { + /*QObject::connect(ui->chkRecurring, &QCheckBox::stateChanged, [=] (int checked) { if (checked) { ui->btnRecurSchedule->setEnabled(true); @@ -150,23 +150,23 @@ void MainWindow::setupSendTab() { ui->btnRecurSchedule->setEnabled(false); ui->lblRecurDesc->setText(""); } - }); + });*/ // Recurring schedule button - QObject::connect(ui->btnRecurSchedule, &QPushButton::clicked, this, &MainWindow::editSchedule); + // QObject::connect(ui->btnRecurSchedule, &QPushButton::clicked, this, &MainWindow::editSchedule); // Set the default state for the whole page clearSendForm(); } void MainWindow::disableRecurring() { - if (!Settings::getInstance()->isTestnet()) { +/* if (!Settings::getInstance()->isTestnet()) { ui->chkRecurring->setVisible(false); ui->chkRecurring->setEnabled(false); ui->btnRecurSchedule->setVisible(false); ui->btnRecurSchedule->setEnabled(false); - ui->action_Recurring_Payments->setVisible(false); - } + ui->action_Recurring_Payments->setVisible(false);*/ + // } } void MainWindow::editSchedule() { @@ -185,21 +185,21 @@ void MainWindow::editSchedule() { } // Open the edit schedule dialog - auto recurringInfo = Recurring::getInstance()->getNewRecurringFromTx(this, this, - createTxFromSendPage(), this->sendTxRecurringInfo); - if (recurringInfo == nullptr) { + // auto recurringInfo = Recurring::getInstance()->getNewRecurringFromTx(this, this, + // createTxFromSendPage(), this->sendTxRecurringInfo); + // if (recurringInfo == nullptr) { // User pressed cancel. // If there is no existing recurring info, uncheck the recurring box - if (sendTxRecurringInfo == nullptr) { - ui->chkRecurring->setCheckState(Qt::Unchecked); - } - } - else { - delete this->sendTxRecurringInfo; + // if (sendTxRecurringInfo == nullptr) { + // ui->chkRecurring->setCheckState(Qt::Unchecked); + // } + // } + // else { + // delete this->sendTxRecurringInfo; - this->sendTxRecurringInfo = recurringInfo; - ui->lblRecurDesc->setText(recurringInfo->getScheduleDescription()); - } + // this->sendTxRecurringInfo = recurringInfo; + // ui->lblRecurDesc->setText(recurringInfo->getScheduleDescription()); + //} } void MainWindow::updateLabelsAutoComplete() { @@ -311,11 +311,11 @@ void MainWindow::addAddressSection() { // Disable recurring payments if a address section is added, since recurring payments // aren't supported for more than 1 address - delete sendTxRecurringInfo; - sendTxRecurringInfo = nullptr; - ui->lblRecurDesc->setText(""); - ui->chkRecurring->setChecked(false); - ui->chkRecurring->setEnabled(false); + // delete sendTxRecurringInfo; + // sendTxRecurringInfo = nullptr; + // ui->lblRecurDesc->setText(""); + // ui->chkRecurring->setChecked(false); + // ui->chkRecurring->setEnabled(false); // Set focus into the address Address1->setFocus(); @@ -358,10 +358,10 @@ void MainWindow::amountChanged(int item, const QString& text) { } // If there is a recurring payment, update the info there as well - if (sendTxRecurringInfo != nullptr) { - Recurring::getInstance()->updateInfoWithTx(sendTxRecurringInfo, createTxFromSendPage()); - ui->lblRecurDesc->setText(sendTxRecurringInfo->getScheduleDescription()); - } + //if (sendTxRecurringInfo != nullptr) { + // Recurring::getInstance()->updateInfoWithTx(sendTxRecurringInfo, createTxFromSendPage()); + // ui->lblRecurDesc->setText(sendTxRecurringInfo->getScheduleDescription()); + // } } void MainWindow::setMemoEnabled(int number, bool enabled) { @@ -457,14 +457,14 @@ void MainWindow::clearSendForm() { // Reset the recurring button if (Settings::getInstance()->isTestnet()) { - ui->chkRecurring->setEnabled(true); + // ui->chkRecurring->setEnabled(true); } - ui->chkRecurring->setCheckState(Qt::Unchecked); - ui->btnRecurSchedule->setEnabled(false); - ui->lblRecurDesc->setText(""); - delete sendTxRecurringInfo; - sendTxRecurringInfo = nullptr; + // ui->chkRecurring->setCheckState(Qt::Unchecked); + // ui->btnRecurSchedule->setEnabled(false); + // ui->lblRecurDesc->setText(""); + // delete sendTxRecurringInfo; + // sendTxRecurringInfo = nullptr; } void MainWindow::maxAmountChecked(int checked) { From a8402141913ea95a4386eeff0fb3a42f478634a5 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 3 Jun 2020 20:19:32 +0200 Subject: [PATCH 207/251] dont delete our chatitems --- src/controller.cpp | 44 +++++++++----------------------------------- 1 file changed, 9 insertions(+), 35 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 66c00b8..46f7342 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1055,16 +1055,10 @@ void Controller::refreshTransactions() { std::string decryptedMemo(reinterpret_cast(decrypted),MESSAGE1_LEN); QString memodecrypt; /////Now we can convert it to QString - if (ui->decryptionMessage->isChecked()){ + memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); - DataStore::getChatDataStore()->clear(); - // this->refresh(true); - chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); - }else{ memodecrypt = memo; - DataStore::getChatDataStore()->clear(); - // this->refresh(true); - chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); - } + + //////////////Give us the output of the decrypted message as debug to see if it was successfully @@ -1240,7 +1234,7 @@ void Controller::refreshTransactions() { publickey = ""; } - //position = it["position"].get(); + bool isNotarized; @@ -1252,9 +1246,6 @@ void Controller::refreshTransactions() { isNotarized = false; } - - qDebug()<<"Kurz vor decryption:"; - if ((memo.startsWith("{") == false) && (headerbytes > 20)) { @@ -1263,8 +1254,6 @@ void Controller::refreshTransactions() { QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); - qDebug()<<"Encryption passphrase :"<decryptionMessage->isChecked()){ + memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); - DataStore::getChatDataStore()->clear(); - // this->refresh(true); - chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); - - }else{ - - memodecrypt = memo; - DataStore::getChatDataStore()->clear(); - //this->refresh(true); - chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); - } + // } @@ -1382,12 +1361,10 @@ void Controller::refreshTransactions() { ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - qDebug()<<"Pushe decrypte Items:"; }else{ - qDebug()<<"Pushe plain Items 1:"; ChatItem item = ChatItem( datetime, address, @@ -1404,14 +1381,11 @@ void Controller::refreshTransactions() { ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - qDebug()<<"Pushe Plain items 2:"; - } - - // } + } + } } - } - } + } // Calculate the total unspent amount that's pending. This will need to be // shown in the UI so the user can keep track of pending funds From e39c19f75ea0d9c36cd688e3d5d02fedfbeae205 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 3 Jun 2020 20:20:46 +0200 Subject: [PATCH 208/251] rename copy message --- src/mainwindow.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 0e42cdd..54ab804 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -284,9 +284,11 @@ void MainWindow::closeEvent(QCloseEvent* event) { // Let the RPC know to shut down any running service. rpc->shutdownhushd(); + int passphraselenght = this->getPassword().length(); + qDebug()<<"LÄNGE PW : "< 0) { // delete old file before @@ -392,13 +394,13 @@ void MainWindow::encryptWallet() { if (d.exec() == QDialog::Accepted) { - QString str = ed.txtPassword->text(); // data comes from user inputs - int length = str.length(); - this->setPassword(str); + QString passphrase = ed.txtPassword->text(); // data comes from user inputs + int length = passphrase.length(); + this->setPassword(passphrase); char *sequence = NULL; sequence = new char[length+1]; - strncpy(sequence, str.toLocal8Bit(), length +1); + strncpy(sequence, passphrase.toLocal8Bit(), length +1); #define MESSAGE ((const unsigned char *) sequence) #define MESSAGE_LEN length @@ -1863,7 +1865,7 @@ void MainWindow::on_givemeZaddr_clicked() QString hushchataddr = QString::fromStdString(reply.get()[0]); QClipboard *zaddr_Clipboard = QApplication::clipboard(); zaddr_Clipboard ->setText(hushchataddr); - QMessageBox::information(this, "Your new Hushchataddress was copied in your clipboard",hushchataddr); + QMessageBox::information(this, "Your new HushChat address was copied to your clipboard!",hushchataddr); ui->listReceiveAddresses->insertItem(0, hushchataddr); ui->listReceiveAddresses->setCurrentIndex(0); From b9a4aa8889eeb168013b3b4b83cbfdeab6767960 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 3 Jun 2020 22:15:46 +0200 Subject: [PATCH 209/251] fix for outgoing messages --- src/controller.cpp | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 46f7342..b5754a4 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -882,12 +882,13 @@ void Controller::refreshTransactions() { auto txid = QString::fromStdString(it["txid"]); auto datetime = it["datetime"].get(); - + // First, check if there's outgoing metadata if (!it["outgoing_metadata"].is_null()) { - for (auto o: it["outgoing_metadata"].get()) { - + for (auto o: it["outgoing_metadata"].get()) + { + // if (chatModel->getCidByTx(txid) == QString("0xdeadbeef")){ QString address; address = QString::fromStdString(o["address"]); @@ -966,7 +967,7 @@ void Controller::refreshTransactions() { /////We need to filter out Memos smaller then the ciphertext size, or it will dump - if ((memo.startsWith("{") == false) && (headerbytes > 0)) + if ((memo.startsWith("{") == false) && (headerbytes.length() > 20)) { QString passphrase = main->getPassword(); @@ -1053,13 +1054,11 @@ void Controller::refreshTransactions() { } std::string decryptedMemo(reinterpret_cast(decrypted),MESSAGE1_LEN); - QString memodecrypt; + /////Now we can convert it to QString - memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); - - - + QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); + //////////////Give us the output of the decrypted message as debug to see if it was successfully qDebug()<<"OUT decrypt:" << memodecrypt; @@ -1080,10 +1079,11 @@ void Controller::refreshTransactions() { false ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - + updateUIBalances(); - }else{ + } + /*else{ ChatItem item = ChatItem( @@ -1102,12 +1102,17 @@ void Controller::refreshTransactions() { ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); updateUIBalances(); - } + }*/ } items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; - } + // }else{ + + + // } + // } + } { QList addresses; From 789b4f5fb7f7545fefe815d2ef92829a036f3241 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 4 Jun 2020 01:39:54 +0200 Subject: [PATCH 210/251] use chatitems instead of decryption every time --- src/chatmodel.cpp | 24 ++++++++++++++++++++++++ src/chatmodel.h | 4 ++++ src/controller.cpp | 30 ++++++++++++++++++++++-------- src/mainwindow.ui | 17 ++++++++++++++++- src/settings.cpp | 2 +- 5 files changed, 67 insertions(+), 10 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 3d26cd1..caa704c 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -260,6 +260,11 @@ void ChatModel::addHeader(QString tx, QString headerbytes) this->headerMap[tx] = headerbytes; } +void ChatModel::addMemo(QString tx, QString memo) +{ + this->OldMemoByTx[tx] = memo; +} + void ChatModel::addrequestZaddr(QString tx, QString requestZaddr) @@ -287,6 +292,21 @@ QString ChatModel::getCidByTx(QString tx) return QString("0xdeadbeef"); } +QString ChatModel::getMemoByTx(QString tx) +{ + for(auto& pair : this->OldMemoByTx) + { + + } + + if(this->OldMemoByTx.count(tx) > 0) + { + return this->OldMemoByTx[tx]; + } + + return QString("0xdeadbeef"); +} + @@ -349,6 +369,10 @@ void ChatModel::killConfirmationCache() { this->confirmationsMap.clear(); } +void ChatModel::killMemoCache() +{ + this->OldMemoByTx.clear(); +} QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, QString headerbytes, QString publickey, int version=0, int headerNumber=1) { diff --git a/src/chatmodel.h b/src/chatmodel.h index 6e6008e..1676993 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -37,6 +37,7 @@ class ChatModel std::map> sendrequestMap; std::map headerMap; std::map AddressbyLabelMap; + std::map OldMemoByTx; public: @@ -55,6 +56,7 @@ class ChatModel void addMessage(QString timestamp, ChatItem item); void addCid(QString tx, QString cid); void addHeader(QString tx, QString headerbytes); + void addMemo(QString tx, QString memo); void addrequestZaddr(QString tx, QString requestZaddr); void addconfirmations(QString tx, int confirmation); void addSendRequest(int i, QString myAddr, QString cid, QString addr ); @@ -62,10 +64,12 @@ class ChatModel QString getHeaderByTx(QString tx); QString getrequestZaddrByTx(QString tx); QString getConfirmationByTx(QString tx); + QString getMemoByTx(QString tx); QString Addressbylabel(QString addr); void killCidCache(); void killConfirmationCache(); void killrequestZaddrCache(); + void killMemoCache(); }; diff --git a/src/controller.cpp b/src/controller.cpp index b5754a4..f47ca17 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -905,6 +905,7 @@ void Controller::refreshTransactions() { if ((confirmations == 1) && (chatModel->getConfirmationByTx(txid) != QString("0xdeadbeef"))){ DataStore::getChatDataStore()->clear(); chatModel->killConfirmationCache(); + chatModel->killMemoCache(); this->refresh(true); } @@ -1107,11 +1108,7 @@ void Controller::refreshTransactions() { items.push_back(TransactionItemDetail{address, amount, memo}); total_amount = total_amount + amount; - // }else{ - - - // } - // } + } { @@ -1200,8 +1197,7 @@ void Controller::refreshTransactions() { if (publickey.length() > 10){ main->addPubkey(requestZaddr, publickey); } - qDebug()<<"Scane HM Incoming:"; - qDebug()<<"Scane HM Incoming:"< 20)) + int position = it["position"].get(); + + if ((memo.startsWith("{") == false) && (headerbytes > 0)) { + if (chatModel->getMemoByTx(txid) == QString("0xdeadbeef")){ + + + if (position == 1) + { + + chatModel->addMemo(txid, headerbytes); + }else{} + + + qDebug()<<"Position message :"<getPassword(); QString hashEncryptionKey = passphrase; @@ -1369,6 +1379,10 @@ void Controller::refreshTransactions() { }else{ + + } + + }else{ ChatItem item = ChatItem( datetime, diff --git a/src/mainwindow.ui b/src/mainwindow.ui index a978389..4cc5012 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -59,7 +59,7 @@ - 1 + 5 @@ -1502,9 +1502,21 @@ QAbstractScrollArea::AdjustToContents + + true + QAbstractItemView::NoEditTriggers + + QAbstractItemView::ContiguousSelection + + + QAbstractItemView::ScrollPerItem + + + QListView::Snap + QListView::Adjust @@ -1517,6 +1529,9 @@ true + + true + diff --git a/src/settings.cpp b/src/settings.cpp index 2d99ff7..f4b3e41 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -302,7 +302,7 @@ QString Settings::getDonationAddr() { if (Settings::getInstance()->isTestnet()) return "ztestsaplingXXX"; else - return "zs1kwp3h4rwz76zfqzmwqqextq696kndtjskg4fzc80l9ygfal4hchcsst83ua8tjwzzy9nja7v5rr"; + return "zs1fq9f7vg797qaeac9lyx0njyjmjg4w7m60hwq6lhyhvdcqltl5hdkm8vwx9cxy60ehuuz2x49jxt"; } From e668a703d3ada7622537f762b102aa798c384004 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 4 Jun 2020 13:37:14 +0200 Subject: [PATCH 211/251] fix file for apple --- src/mainwindow.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 54ab804..96cc217 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -40,12 +40,19 @@ auto dirwallet = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLo auto dirwalletenc = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet-enc.dat"); auto dirwalletbackup = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet.datBackup"); #endif -#ifdef Q_OS_UNIX +#ifdef Q_OS_MACOS +auto dirwallet = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet.dat"); +auto dirwalletenc = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet-enc.dat"); +auto dirwalletbackup = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)).filePath("silentdragonlite/silentdragonlite-wallet.datBackup"); +#endif +#ifdef Q_OS_LINUX auto dirwallet = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.dat"); auto dirwalletenc = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet-enc.dat"); auto dirwalletbackup = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.datBackup"); #endif + + MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) From 4aa1eb33b86022466207b9c0dc212aebadc86c17 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 4 Jun 2020 23:07:11 +0200 Subject: [PATCH 212/251] dialog box for encryption issue #95 --- src/mainwindow.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 96cc217..77eafb0 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -446,6 +446,11 @@ void MainWindow::encryptWallet() { QFile address(dir.filePath("addresslabels.dat")); wallet.rename(dirwalletbackup); address.rename(dir.filePath("addresslabels.datBackup")); + + QMessageBox::information(this, tr("Wallet encryption Success"), + QString("Successfully encrypt your wallet"), + QMessageBox::Ok + ); } } From b1290454bd921f80d99efcd907bc1a42134ef87e Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 4 Jun 2020 23:08:05 +0200 Subject: [PATCH 213/251] fix typo --- src/mainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 77eafb0..57c193d 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -447,7 +447,7 @@ void MainWindow::encryptWallet() { wallet.rename(dirwalletbackup); address.rename(dir.filePath("addresslabels.datBackup")); - QMessageBox::information(this, tr("Wallet encryption Success"), + QMessageBox::information(this, tr("Wallet Encryption Success"), QString("Successfully encrypt your wallet"), QMessageBox::Ok ); From 4f9c31474239f06bb3eb24f822fc38d586b2fa9f Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Thu, 4 Jun 2020 23:12:45 +0200 Subject: [PATCH 214/251] dont allow to remove wallet encryption if wallet is not encrypt issue #91 --- src/mainwindow.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 57c193d..73f2af4 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -459,6 +459,14 @@ void MainWindow::removeWalletEncryption() { Ui_removeencryption ed; ed.setupUi(&d); + if (fileExists(dirwalletenc) == false) { + QMessageBox::information(this, tr("Wallet is not encrypted"), + tr("Your wallet is not encrypted with a passphrase."), + QMessageBox::Ok + ); + return; + } + auto fnPasswordEdited = [=](const QString&) { QString password = ed.txtPassword->text(); // Enable the OK button if the passwords match. From 6e4dc28badbedce95597294c6ee1560ad5b88f81 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Thu, 4 Jun 2020 22:20:08 -0400 Subject: [PATCH 215/251] Midnight Theme fixes & English updates. --- res/css/dark.css | 2 +- src/contactrequest.ui | 18 ------------------ src/removeencryption.ui | 2 +- src/requestContactDialog.ui | 12 ------------ src/startupencryption.ui | 2 +- 5 files changed, 3 insertions(+), 33 deletions(-) diff --git a/res/css/dark.css b/res/css/dark.css index 6dc6cfe..29dc683 100644 --- a/res/css/dark.css +++ b/res/css/dark.css @@ -25,7 +25,7 @@ QTabWidget QTabBar::tab:hover { background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #747577, stop: 1 #3E4244); color:#fff; border: 1px ridge #fff; -min-height: 20px +min-height: 20px; } QHeaderView { /* Table Header */ diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 9b28dca..d46676f 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -282,12 +282,6 @@ - - - 80 - 25 - - 100 @@ -320,18 +314,6 @@ - - - 300 - 25 - - - - - 100 - 0 - - Add Contact and send request diff --git a/src/removeencryption.ui b/src/removeencryption.ui index c29db42..11bee22 100644 --- a/src/removeencryption.ui +++ b/src/removeencryption.ui @@ -91,7 +91,7 @@ - <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your encryption, all your transactions and Contacts are plaintext on disk! Messages are still encrypt.</p></body></html> + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your encryption, all your transactions and contacts are plaintext on disk! Messages are still encrypt.</p></body></html> Qt::AlignCenter diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index 4beeced..bc312dd 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -337,12 +337,6 @@ - - - 80 - 25 - - 100 @@ -362,12 +356,6 @@ - - - 153 - 25 - - Add this new Contact diff --git a/src/startupencryption.ui b/src/startupencryption.ui index 6b8d1ac..56fc02c 100644 --- a/src/startupencryption.ui +++ b/src/startupencryption.ui @@ -17,7 +17,7 @@ - <html><head/><body><p>If you have forgotten your passphrase restore your wallet with your seed!</p></body></html> + <html><head/><body><p>If you have forgotten your passphrase, restore your wallet with your seed!</p></body></html> Qt::AlignCenter From 47c9b765975ca6767e815b6db404ac5c8dc39181 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:22:28 -0400 Subject: [PATCH 216/251] Responsiveness for Chat Tab --- src/mainwindow.ui | 810 ++++++++++++++++++++++++---------------------- 1 file changed, 431 insertions(+), 379 deletions(-) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 4cc5012..82b43ab 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -426,7 +426,7 @@ 0 0 1226 - 493 + 509 @@ -1338,384 +1338,436 @@ HushChat - - - - 0 - 120 - 341 - 521 - - - - true - - - QAbstractItemView::NoEditTriggers - - - false - - - false - - - QAbstractItemView::SingleSelection - - - QAbstractItemView::SelectItems - - - - - - 0 - 100 - 341 - 20 - - - - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> - - - - - - 340 - 560 - 921 - 81 - - - - false - - - font: 11pt "Noto Color Emoji"; - - - QTextEdit::AutoNone - - - QTextEdit::FixedPixelWidth - - - 600 - - - false - - - Qt::TextEditorInteraction - - - - - - 460 - 20 - 291 - 20 - - - - - 75 - true - - - - <html><head/><body><p align="center"><br/></p></body></html> - - - - - - 1160 - 560 - 91 - 81 - - - - - 100 - 0 - - - - false - - - - - - - :/icons/res/sendBlack.png - - - - - 50 - 49 - - - - false - - - true - - - - - - 340 - 20 - 111 - 20 - - - - <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> - - - - - - 340 - 40 - 921 - 521 - - - - The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized - - - Qt::ScrollBarAsNeeded - - - Qt::ScrollBarAsNeeded - - - QAbstractScrollArea::AdjustToContents - - - true - - - QAbstractItemView::NoEditTriggers - - - QAbstractItemView::ContiguousSelection - - - QAbstractItemView::ScrollPerItem - - - QListView::Snap - - - QListView::Adjust - - - 0 - - - false - - - true - - - true - - - - - - 10 - 20 - 51 - 51 - - - - - 51 - 51 - - - - - 51 - 51 - - - - - 100 - 0 - - - - Add a new contact - - - - - - - :/icons/res/addContactBlack.png - - - - - 50 - 45 - - - - true - - - - - - 80 - 20 - 51 - 51 - - - - - 51 - 51 - - - - - 51 - 51 - - - - - 100 - 0 - - - - Incoming contact request - - - false - - - - - - - :/icons/res/requestBlack.png:/icons/res/requestBlack.png - - - - 50 - 45 - - - - true - - - - - - 150 - 20 - 51 - 51 - - - - - 51 - 51 - - - - - 51 - 51 - - - - Get a new Address - - - - - - - :/icons/res/getAddrBlack.png:/icons/res/getAddrBlack.png - - - - 50 - 45 - - - - true - - - - - - 1140 - 640 - 91 - 17 - - - - QFrame::Sunken - - - 0 / 235 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 900 - 10 - 281 - 23 - - - - Message encryption/decryption ON - - - listContactWidget - label_39 - contactNameMemo - contactNameMemo_3 - safeContactRequest - pushContact - givemeZaddr - memoSizeChat - listChat - memoTxtChat - sendChatButton - decryptionMessage + + + + + + + QLayout::SetDefaultConstraint + + + 0 + + + 0 + + + 15 + + + + + + 51 + 51 + + + + + 51 + 51 + + + + + 100 + 0 + + + + Incoming contact request + + + false + + + + + + + :/icons/res/requestBlack.png:/icons/res/requestBlack.png + + + + 50 + 45 + + + + true + + + + + + + + 51 + 51 + + + + + 51 + 51 + + + + + 100 + 0 + + + + Add a new contact + + + + + + + :/icons/res/addContactBlack.png + + + + + 50 + 45 + + + + true + + + + + + + + 51 + 51 + + + + + 51 + 51 + + + + Get a new Address + + + + + + + :/icons/res/getAddrBlack.png:/icons/res/getAddrBlack.png + + + + 50 + 45 + + + + true + + + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 100 + 20 + + + + + + + + + + + 0 + 0 + + + + + 300 + 0 + + + + <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Contactlist</span></p></body></html> + + + + + + + + 0 + 0 + + + + true + + + QAbstractItemView::NoEditTriggers + + + false + + + false + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectItems + + + + + + + + + QLayout::SetDefaultConstraint + + + + + QLayout::SetDefaultConstraint + + + + + + 0 + 0 + + + + <html><head/><body><p align="center"><span style=" font-weight:600;">Contact Name :</span></p></body></html> + + + + + + + + 75 + true + + + + <html><head/><body><p align="center"><br/></p></body></html> + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + Message encryption/decryption ON + + + + + + + + + + 0 + 0 + + + + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized + + + Qt::ScrollBarAsNeeded + + + Qt::ScrollBarAsNeeded + + + QAbstractScrollArea::AdjustToContents + + + true + + + QAbstractItemView::NoEditTriggers + + + QAbstractItemView::ContiguousSelection + + + QAbstractItemView::ScrollPerItem + + + QListView::Snap + + + QListView::Adjust + + + 0 + + + false + + + true + + + true + + + + + + + QLayout::SetDefaultConstraint + + + 0 + + + + + + 0 + 0 + + + + false + + + font: 11pt "Noto Color Emoji"; + + + QTextEdit::AutoNone + + + QTextEdit::WidgetWidth + + + 600 + + + false + + + Qt::TextEditorInteraction + + + + + + + + + + 0 + 0 + + + + + 100 + 0 + + + + false + + + + + + + :/icons/res/sendBlack.png + + + + + 50 + 49 + + + + false + + + true + + + + + + + + 0 + 0 + + + + QFrame::Sunken + + + 0 / 235 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + From c69abfc7f9c5fe84cfc9301244183cccd088ba6d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 5 Jun 2020 22:26:58 +0200 Subject: [PATCH 217/251] change animation for sending messages #84 --- application.qrc | 2 + res/loaderblack.gif | Bin 0 -> 5627 bytes res/loaderwhite.gif | Bin 0 -> 5586 bytes src/chatmodel.cpp | 94 +++++++++++++++++++++++++------------------- src/mainwindow.ui | 2 +- 5 files changed, 56 insertions(+), 42 deletions(-) create mode 100644 res/loaderblack.gif create mode 100644 res/loaderwhite.gif diff --git a/application.qrc b/application.qrc index d62ea29..345aac4 100644 --- a/application.qrc +++ b/application.qrc @@ -55,6 +55,8 @@ res/silentdragonlite-animated-dark.gif res/silentdragonlite-animated-startup.gif res/silentdragonlite-animated-startup-dark.gif + res/loaderblack.gif + res/loaderwhite.gif res/silentdragonlite_de.qm diff --git a/res/loaderblack.gif b/res/loaderblack.gif new file mode 100644 index 0000000000000000000000000000000000000000..764a3f87be851954989c67de2ce51051cef211ec GIT binary patch literal 5627 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 literal 0 HcmV?d00001 diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index caa704c..d88e95f 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -580,44 +580,51 @@ void MainWindow::sendChat() { qDebug() << "Tx aborted"; } - // Create a new Dialog to show that we are computing/sending the Tx - auto d = new QDialog(this); - auto connD = new Ui_ConnectionDialog(); - connD->setupUi(d); - QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif");; - QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif");; + auto movie = new QMovie(this); + auto movie1 = new QMovie(this); + movie->setFileName(":/img/res/loaderblack.gif"); + movie1->setFileName(":/img/res/loaderwhite.gif"); + auto theme = Settings::getInstance()->get_theme_name(); if (theme == "dark" || theme == "midnight") { - movie2->setScaledSize(QSize(512,512)); - connD->topIcon->setMovie(movie2); - movie2->start(); + + connect(movie, &QMovie::frameChanged, [=]{ + ui->sendChatButton->setIcon(movie->currentPixmap()); + }); + movie->start(); + ui->sendChatButton->show(); + } else { - movie1->setScaledSize(QSize(512,512)); - connD->topIcon->setMovie(movie1); - movie1->start(); - } - connD->status->setText(tr("Please wait...")); - connD->statusDetail->setText(tr("Your Message will be sent")); + connect(movie1, &QMovie::frameChanged, [=]{ + ui->sendChatButton->setIcon(movie1->currentPixmap()); + }); + movie1->start(); + ui->sendChatButton->show(); + } - d->show(); ui->memoTxtChat->clear(); - // And send the Tx rpc->executeTransaction(tx, [=] (QString txid) { ui->statusBar->showMessage(Settings::txidStatusMessage + " " + txid); - - connD->status->setText(tr("Done!")); - connD->statusDetail->setText(txid); - QTimer::singleShot(1000, [=]() { - d->accept(); - d->close(); - delete connD; - delete d; + QTimer::singleShot(1000, [=]() { + + if (theme == "dark" || theme == "midnight") { + QPixmap send(":/icons/res/send-white.png"); + QIcon sendIcon(send); + ui->sendChatButton->setIcon(sendIcon); + movie->stop(); + }else{ + + QPixmap send(":/icons/res/sendBlack.png"); + QIcon sendIcon(send); + ui->sendChatButton->setIcon(sendIcon); + movie1->stop(); + } }); @@ -630,19 +637,31 @@ void MainWindow::sendChat() { [=] (QString opid, QString errStr) { ui->statusBar->showMessage(QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000); - d->accept(); - d->close(); - delete connD; - delete d; - if (!opid.isEmpty()) errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; - QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); + QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); + movie->stop(); + + + if (theme == "dark" || theme == "midnight") { + QPixmap send(":/icons/res/send-white.png"); + QIcon sendIcon(send); + ui->sendChatButton->setIcon(sendIcon); + movie->stop(); + }else{ + + QPixmap send(":/icons/res/sendBlack.png"); + QIcon sendIcon(send); + ui->sendChatButton->setIcon(sendIcon); + movie1->stop(); + } + + + } ); - // rpc->refresh(true); } QString MainWindow::doSendChatTxValidations(Tx tx) { @@ -760,8 +779,6 @@ Tx MainWindow::createTxForSafeContactRequest() QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); - qDebug()<<"Encryption String :"<(pk), crypto_kx_PUBLICKEYBYTES).toHex(); - qDebug()<<"Publickey created Request: "<setupUi(d); - QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif");; - QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif");; + QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif"); + QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif"); auto theme = Settings::getInstance()->get_theme_name(); if (theme == "dark" || theme == "midnight") { movie2->setScaledSize(QSize(512,512)); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 82b43ab..c6a5fc1 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -426,7 +426,7 @@ 0 0 1226 - 509 + 493 From 495d588b307cd105dab67163e7614cc611d5b561 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 5 Jun 2020 22:36:36 +0200 Subject: [PATCH 218/251] set default theme to dark --- src/settings.cpp | 2 +- src/settings.ui | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/settings.cpp b/src/settings.cpp index f4b3e41..dfe1e11 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -230,7 +230,7 @@ void Settings::set_currency_name(QString currency_name) { QString Settings::get_theme_name() { // Load from the QT Settings. - return QSettings().value("options/theme_name", false).toString(); + return QSettings().value("options/theme_name", "dark").toString(); } void Settings::set_theme_name(QString theme_name) { diff --git a/src/settings.ui b/src/settings.ui index 6871c7b..ac730fb 100644 --- a/src/settings.ui +++ b/src/settings.ui @@ -97,22 +97,22 @@ - default + dark - blue + default - light + blue - dark + light From 70dbc1f13151910a08b7dcc24a957506a1570df1 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 5 Jun 2020 23:13:03 +0200 Subject: [PATCH 219/251] dont write message over the border of chatbubble --- src/Chat/Helper/ChatDelegator.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chat/Helper/ChatDelegator.h b/src/Chat/Helper/ChatDelegator.h index 10b45e5..72f3c1e 100644 --- a/src/Chat/Helper/ChatDelegator.h +++ b/src/Chat/Helper/ChatDelegator.h @@ -37,7 +37,7 @@ class ListViewDelegate : public QAbstractItemDelegate inline QSize sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const; }; -inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(7), d_verticalmargin(5), d_horizontalmargin(10), d_pointerwidth(10), d_pointerheight(17), d_widthfraction(.7) +inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(5), d_verticalmargin(5), d_horizontalmargin(10), d_pointerwidth(4), d_pointerheight(17), d_widthfraction(.6) { } From 65dd00919e96b747fed8f084d07cd9d15deea775 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 5 Jun 2020 23:28:15 +0200 Subject: [PATCH 220/251] change date format to yyyy-MM-dd #82 --- src/Chat/Chat.cpp | 2 +- src/Chat/Chat.h | 14 -------------- src/Model/ChatItem.cpp | 2 +- 3 files changed, 2 insertions(+), 16 deletions(-) diff --git a/src/Chat/Chat.cpp b/src/Chat/Chat.cpp index cdc3814..672808c 100644 --- a/src/Chat/Chat.cpp +++ b/src/Chat/Chat.cpp @@ -66,7 +66,7 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label) Items->setData(OUTGOING, Qt::UserRole + 1); chat->appendRow(Items); - ui->listChat->setModel(chat); + ui->listChat->setModel(chat); } diff --git a/src/Chat/Chat.h b/src/Chat/Chat.h index efe5b56..6d8b01a 100644 --- a/src/Chat/Chat.h +++ b/src/Chat/Chat.h @@ -27,21 +27,7 @@ class Chat // Chat Controller std::map requestZaddrMap; public: Chat(); - //QString zaddr(); void renderChatBox(Ui::MainWindow* ui, QListView *view, QLabel *label); // action - // void renderContactRequest(); - /*void triggerRequest(); - void showMessages(); - void clear(); - //void renderContactRequest(Ui::MainWindow* ui, QListView *view); - void addMessage(ChatItem item); - void addMessage(QString timestamp, ChatItem item); - void addCid(QString tx, QString cid); - void addrequestZaddr(QString tx, QString requestZaddr); - QString getCidByTx(QString tx); - QString getrequestZaddrByTx(QString tx); - void killCidCache(); - void killrequestZaddrCache();*/ }; diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index 6a30f56..722d2f6 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -179,7 +179,7 @@ QString ChatItem::toChatLine() qDebug()<<_notarize; - QString line = QString("") + myDateTime.toString("dd.MM.yyyy hh:mm"); + QString line = QString("") + myDateTime.toString("yyyy-MM-dd hh:mm"); line += QString(lock) + QString(""); line += QString("

") + _memo.toHtmlEscaped() + QString("

"); return line; From e65cc54e799bd1300b0d727e8f1b00929c167f44 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 5 Jun 2020 23:54:35 +0200 Subject: [PATCH 221/251] prevent to send message without contact #81 --- src/fundhushchat.ui | 72 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/fundhushchat.ui diff --git a/src/fundhushchat.ui b/src/fundhushchat.ui new file mode 100644 index 0000000..fb923db --- /dev/null +++ b/src/fundhushchat.ui @@ -0,0 +1,72 @@ + + + + + Dialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + + From ec3afa57ce5cc640296929153d375ad11e0530be Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Fri, 5 Jun 2020 23:55:31 +0200 Subject: [PATCH 222/251] prevent to send message without contact #81 --- src/chatmodel.cpp | 2 +- src/mainwindow.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index d88e95f..4bc12f5 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -540,7 +540,7 @@ void MainWindow::sendChat() { QString Name = ui->contactNameMemo->text(); int sizename = Name.size(); qDebug()<< sizename; - if ((sizename < 1) || (ui->memoTxtChat->toPlainText().trimmed().isEmpty())) { + if ((ui->contactNameMemo->text().isEmpty()) || (ui->memoTxtChat->toPlainText().trimmed().isEmpty())) { QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"), diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 73f2af4..c79dee4 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1368,6 +1368,7 @@ void MainWindow::setupchatTab() { QObject::connect(ui->pushContact, &QPushButton::clicked, this , &MainWindow::renderContactRequest); ///////// Set selected Zaddr for Chat with Klick + ui->contactNameMemo->setText(""); QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { @@ -1401,6 +1402,7 @@ void MainWindow::setupchatTab() { ui->listContactWidget->addAction(HushAction); ui->listContactWidget->addAction(requestHushAction); ui->listContactWidget->addAction(subatomicAction); + QObject::connect(requestHushAction, &QAction::triggered, [=]() { QModelIndex index = ui->listContactWidget->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); @@ -1411,8 +1413,8 @@ void MainWindow::setupchatTab() { rpc->refresh(true); } - - MainWindow::showRequesthush(); + MainWindow::showRequesthush(); + }); QObject::connect(editAction, &QAction::triggered, [=]() { From 56fb612452b7e1ab55b1771263932f913558a64a Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 00:05:51 +0200 Subject: [PATCH 223/251] disable sendbutton while loading --- src/chatmodel.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 4bc12f5..53203de 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -593,6 +593,7 @@ void MainWindow::sendChat() { }); movie->start(); ui->sendChatButton->show(); + ui->sendChatButton->setEnabled(false); } else { @@ -601,6 +602,7 @@ void MainWindow::sendChat() { }); movie1->start(); ui->sendChatButton->show(); + ui->sendChatButton->setEnabled(false); } ui->memoTxtChat->clear(); @@ -618,12 +620,14 @@ void MainWindow::sendChat() { QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); movie->stop(); + ui->sendChatButton->setEnabled(true); }else{ QPixmap send(":/icons/res/sendBlack.png"); QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); movie1->stop(); + ui->sendChatButton->setEnabled(true); } }); @@ -649,12 +653,14 @@ void MainWindow::sendChat() { QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); movie->stop(); + ui->sendChatButton->setEnabled(true); }else{ QPixmap send(":/icons/res/sendBlack.png"); QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); movie1->stop(); + ui->sendChatButton->setEnabled(true); } From 79ef0000069cf96a06a74ef52826a653492131a7 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 07:17:19 +0200 Subject: [PATCH 224/251] disbale drag and drop for chattab --- src/mainwindow.ui | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index c6a5fc1..5426af5 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1636,8 +1636,17 @@ QAbstractItemView::NoEditTriggers + + false + + + QAbstractItemView::NoDragDrop + + + Qt::IgnoreAction + - QAbstractItemView::ContiguousSelection + QAbstractItemView::NoSelection QAbstractItemView::ScrollPerItem From 3254d99c6fef0a8b3521fe1060999cebdbeba1f2 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 07:34:28 +0200 Subject: [PATCH 225/251] set max username size to 25 --- src/addressbook.ui | 2 +- src/contactrequest.ui | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/addressbook.ui b/src/addressbook.ui index dd0d06d..cd98ad9 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -40,7 +40,7 @@ - 40 + 25 diff --git a/src/contactrequest.ui b/src/contactrequest.ui index d46676f..43900d9 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -169,7 +169,11 @@
- + + + 25 + + From 38e404def5064426ce6465fef22416bc53b1ced8 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 07:34:39 +0200 Subject: [PATCH 226/251] set max username size to 25 --- src/requestContactDialog.ui | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index bc312dd..27e6650 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -180,7 +180,11 @@ - + + + 25 + + From 9b89ed5f2ed32cd420133a8cacb9e0899d598ae4 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 07:43:00 +0200 Subject: [PATCH 227/251] delete checkbox for message encryption --- src/mainwindow.cpp | 2 -- src/mainwindow.ui | 16 ---------------- 2 files changed, 18 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index c79dee4..cf6b039 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1360,8 +1360,6 @@ void MainWindow::setupchatTab() { ui->memoTxtChat->setTextColor("Black"); } - - ui->decryptionMessage->setChecked(true); QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChat); QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 5426af5..505be91 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1592,22 +1592,6 @@ - - - - - 0 - 0 - - - - Qt::LeftToRight - - - Message encryption/decryption ON - - -
From cdb1277b91a6c77ec79d3ca7dd1f76f6c0a5b5c0 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 11:26:49 +0200 Subject: [PATCH 228/251] dont show context menu without contact #94 --- src/Chat/Helper/ChatDelegator.h | 1 - src/Model/ChatItem.cpp | 1 - src/chatmodel.cpp | 14 ++------- src/controller.cpp | 29 +------------------ src/mainwindow.cpp | 51 +++++++++++++++------------------ 5 files changed, 26 insertions(+), 70 deletions(-) diff --git a/src/Chat/Helper/ChatDelegator.h b/src/Chat/Helper/ChatDelegator.h index 72f3c1e..e4474a8 100644 --- a/src/Chat/Helper/ChatDelegator.h +++ b/src/Chat/Helper/ChatDelegator.h @@ -56,7 +56,6 @@ inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem cons qreal bodyheight = bodydoc.size().height(); int outgoing = index.data(Qt::UserRole + 1).toInt(); int outdate = index.data(Qt::UserRole + 1).toInt(); - int indate = index.data(Qt::UserRole + 1).toInt(); painter->save(); painter->setRenderHint(QPainter::Antialiasing); diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index 722d2f6..9d8ede4 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -178,7 +178,6 @@ QString ChatItem::toChatLine() } -qDebug()<<_notarize; QString line = QString("") + myDateTime.toString("yyyy-MM-dd hh:mm"); line += QString(lock) + QString(""); line += QString("

") + _memo.toHtmlEscaped() + QString("

"); diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 53203de..32ecb78 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -237,7 +237,7 @@ void MainWindow::renderContactRequest(){ return; } - qDebug()<<"Beginn kopiert" <addAddressLabel(newLabel, addr, myAddr, cid, avatar); rpc->refreshContacts( ui->listContactWidget); @@ -393,7 +393,6 @@ QString MainWindow::createHeaderMemo(QString type, QString cid, QString zaddr, Q j.setObject(h); header = j.toJson(); - qDebug() << "made header=" << header; return header; } @@ -449,7 +448,6 @@ Tx MainWindow::createTxFromChatPage() { QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); - qDebug()<<"Pubkey Erstellung :"<(header), crypto_secretstream_xchacha20poly1305_HEADERBYTES).toHex(); QString publickeyAlice = QByteArray(reinterpret_cast(pk), crypto_kx_PUBLICKEYBYTES).toHex(); - qDebug()<<"Headerbyte erstellung : "<contactNameMemo->text(); - int sizename = Name.size(); - qDebug()<< sizename; + if ((ui->contactNameMemo->text().isEmpty()) || (ui->memoTxtChat->toPlainText().trimmed().isEmpty())) { QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), @@ -577,7 +569,6 @@ void MainWindow::sendChat() { // abort the Tx return; - qDebug() << "Tx aborted"; } auto movie = new QMovie(this); @@ -716,7 +707,6 @@ void::MainWindow::addContact() request.myzaddr->setText(myAddr); ui->listReceiveAddresses->insertItem(0, myAddr); ui->listReceiveAddresses->setCurrentIndex(0); - qDebug() << "new generated myAddr add Contact" << myAddr; }); }catch(...) diff --git a/src/controller.cpp b/src/controller.cpp index f47ca17..5b1c979 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1025,7 +1025,6 @@ void Controller::refreshTransactions() { int encryptedMemoSize1 = ba.length(); - int headersize = ba1.length(); //////unsigned char* as message from QString #define MESSAGE2 (const unsigned char *) encryptedMemo @@ -1062,8 +1061,6 @@ void Controller::refreshTransactions() { //////////////Give us the output of the decrypted message as debug to see if it was successfully - qDebug()<<"OUT decrypt:" << memodecrypt; - ChatItem item = ChatItem( datetime, @@ -1084,26 +1081,7 @@ void Controller::refreshTransactions() { updateUIBalances(); } - /*else{ - - - ChatItem item = ChatItem( - datetime, - address, - QString(""), - memo, - QString(""), - QString(""), - cid, - txid, - confirmations, - true, - isNotarized, - false - ); - DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - updateUIBalances(); - }*/ + } items.push_back(TransactionItemDetail{address, amount, memo}); @@ -1153,7 +1131,6 @@ void Controller::refreshTransactions() { QString publickey; QString headerbytes; QString cid; - int position; QString requestZaddr; bool isContact; @@ -1261,10 +1238,6 @@ void Controller::refreshTransactions() { chatModel->addMemo(txid, headerbytes); }else{} - - qDebug()<<"Position message :"<getPassword(); QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index cf6b039..6e9af7e 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -292,7 +292,6 @@ void MainWindow::closeEvent(QCloseEvent* event) { // Let the RPC know to shut down any running service. rpc->shutdownhushd(); int passphraselenght = this->getPassword().length(); - qDebug()<<"LÄNGE PW : "< 0) @@ -542,9 +541,7 @@ void MainWindow::removeWalletEncryption() { filencrypted.remove(); }else{ - - qDebug()<<"verschlüsselung gescheitert "; - + QMessageBox::critical(this, tr("Wallet Encryption Failed"), QString("False password, please try again"), QMessageBox::Ok @@ -632,8 +629,6 @@ void MainWindow::removeWalletEncryptionStartUp() { }else{ - - qDebug()<<"verschlüsselung gescheitert "; QMessageBox::critical(this, tr("Wallet Encryption Failed"), QString("false password please try again"), @@ -1365,24 +1360,10 @@ void MainWindow::setupchatTab() { QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::addContact); QObject::connect(ui->pushContact, &QPushButton::clicked, this , &MainWindow::renderContactRequest); -///////// Set selected Zaddr for Chat with Klick ui->contactNameMemo->setText(""); - QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { - - - QModelIndex index = ui->listContactWidget->currentIndex(); - QString label_contact = index.data(Qt::DisplayRole).toString(); - - for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) - if (label_contact == p.getName()) { - ui->contactNameMemo->setText(p.getName()); - rpc->refresh(true); - - } - }); - - QMenu* contextMenu; +///////// Add contextmenu + QMenu* contextMenu; QAction* requestAction; QAction* editAction; QAction* HushAction; @@ -1394,16 +1375,22 @@ void MainWindow::setupchatTab() { HushAction = new QAction("Send a friend some Hush - coming soon",contextMenu); requestHushAction = new QAction("Request some Hush - coming soon",contextMenu); subatomicAction = new QAction("Make a subatomic swap with a friend- coming soon",contextMenu); + + +///////// Set selected Zaddr for Chat with click + + QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { + ui->listContactWidget->setContextMenuPolicy(Qt::ActionsContextMenu); ui->listContactWidget->addAction(requestAction); ui->listContactWidget->addAction(editAction); ui->listContactWidget->addAction(HushAction); ui->listContactWidget->addAction(requestHushAction); ui->listContactWidget->addAction(subatomicAction); - - QObject::connect(requestHushAction, &QAction::triggered, [=]() { + + QObject::connect(requestHushAction, &QAction::triggered, [=]() { QModelIndex index = ui->listContactWidget->currentIndex(); - QString label_contact = index.data(Qt::DisplayRole).toString(); + QString label_contact = index.data(Qt::DisplayRole).toString(); for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) if (label_contact == p.getName()) { @@ -1415,7 +1402,7 @@ void MainWindow::setupchatTab() { }); - QObject::connect(editAction, &QAction::triggered, [=]() { + QObject::connect(editAction, &QAction::triggered, [=]() { QModelIndex index = ui->listContactWidget->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); @@ -1436,12 +1423,20 @@ void MainWindow::setupchatTab() { } }); + QModelIndex index = ui->listContactWidget->currentIndex(); + QString label_contact = index.data(Qt::DisplayRole).toString(); + + for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) + if (label_contact == p.getName()) { + ui->contactNameMemo->setText(p.getName()); + rpc->refresh(true); + } + }); + ui->memoTxtChat->setLenDisplayLabelChat(ui->memoSizeChat); } - - void MainWindow::updateChat() { rpc->refreshChat(ui->listChat,ui->memoSizeChat); From cae2c12b56b01c12f34e4120e943e3b222f56a00 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 17:12:40 +0200 Subject: [PATCH 229/251] add contextmenu for chatitems #78 --- src/chatmodel.cpp | 19 +++++--- src/mainwindow.cpp | 113 +++++++++++++++++++++++++++++++++++++++++++++ src/mainwindow.ui | 9 ++++ 3 files changed, 135 insertions(+), 6 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 32ecb78..6622416 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -115,9 +115,11 @@ void MainWindow::renderContactRequest(){ QStandardItemModel* contactRequest = new QStandardItemModel(); - for (auto &c : DataStore::getChatDataStore()->getAllNewContactRequests()) + + for (auto &c : DataStore::getChatDataStore()->getAllNewContactRequests()) + { @@ -134,6 +136,7 @@ void MainWindow::renderContactRequest(){ } + QStandardItemModel* contactRequestOld = new QStandardItemModel(); for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) @@ -157,13 +160,16 @@ void MainWindow::renderContactRequest(){ QModelIndex index = requestContact.requestContact->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); QStandardItemModel* contactMemo = new QStandardItemModel(); + + + if ((c.second.isOutgoing() == false) && (requestContact.zaddrnew->text() == c.second.getAddress()) && (c.second.getType() != "Cont")) { QStandardItem* Items = new QStandardItem(c.second.getMemo()); - contactMemo->appendRow(Items); + contactMemo->appendRow(Items); requestContact.requestMemo->setModel(contactMemo); requestContact.requestMemo->show(); @@ -172,17 +178,18 @@ void MainWindow::renderContactRequest(){ requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestMyAddr->setText(c.second.getAddress()); }else{} - } - + } }); + + QObject::connect(requestContact.requestContactOld, &QTableView::clicked, [&] () { for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){ - /* QModelIndex index = requestContact.requestContactOld->currentIndex(); - QString label_contactold = index.data(Qt::DisplayRole).toString();*/ + QModelIndex index = requestContact.requestContactOld->currentIndex(); + QString label_contactold = index.data(Qt::DisplayRole).toString(); QStandardItemModel* contactMemo = new QStandardItemModel(); if ((c.second.isOutgoing() == false) && (requestContact.zaddrold->text() == c.second.getAddress()) && (c.second.getType() != "Cont")) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 6e9af7e..4e9a126 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -30,6 +30,7 @@ #include "FileSystem/FileSystem.h" #include "Crypto/passwd.h" #include "Crypto/FileEncryption.h" +#include "DataStore/DataStore.h" using json = nlohmann::json; @@ -1362,6 +1363,118 @@ void MainWindow::setupchatTab() { ui->contactNameMemo->setText(""); + /////Copy Chatmessages + + QMenu* contextMenuChat; + QAction* copymessage; + QAction* viewexplorer; + QAction* copytxid; + contextMenuChat = new QMenu(ui->listChat); + copymessage = new QAction("Copy message to clipboard",contextMenuChat); + viewexplorer = new QAction("View on block explorerr",contextMenuChat); + copytxid = new QAction("Copy txid to clipboard ",contextMenuChat); + + QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { + + ui->listChat->setContextMenuPolicy(Qt::ActionsContextMenu); + ui->listChat->addAction(copymessage); + ui->listChat->addAction(viewexplorer); + ui->listChat->addAction(copytxid); + + QObject::connect(copymessage, &QAction::triggered, [=] { + + + QModelIndex index = ui->listChat->currentIndex(); + QString memo_chat = index.data(Qt::DisplayRole).toString(); + QClipboard *clipboard = QGuiApplication::clipboard(); + int startPos = memo_chat.indexOf("

") + 3; + int endPos = memo_chat.indexOf("

"); + int length = endPos - startPos; + QString copymemo = memo_chat.mid(startPos, length); + + clipboard->setText(copymemo); + ui->statusBar->showMessage(tr("Copied message to clipboard"), 3 * 1000); + +}); + QObject::connect(copytxid, &QAction::triggered, [=] { + + QModelIndex index = ui->listChat->currentIndex(); + QString memo_chat = index.data(Qt::DisplayRole).toString(); + QClipboard *clipboard = QGuiApplication::clipboard(); + + int startPos = memo_chat.indexOf("

") + 3; + int endPos = memo_chat.indexOf("

"); + int length = endPos - startPos; + QString copymemo = memo_chat.mid(startPos, length); + int startPosT = memo_chat.indexOf("") + 7; + int endPosT = memo_chat.indexOf(""); + int lengthT = endPosT - startPosT; + + QString time = memo_chat.mid(startPosT, lengthT); + + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){ + + if (c.second.getMemo() == copymemo) + { + int timestamp = c.second.getTimestamp(); + QDateTime myDateTime; + QString lock; + myDateTime.setTime_t(timestamp); + QString timestamphtml = myDateTime.toString("yyyy-MM-dd hh:mm"); + + if(timestamphtml == time) + + { + clipboard->setText(c.second.getTxid()); + ui->statusBar->showMessage(tr("Copied Txid to clipboard"), 3 * 1000); + }else{} + + } + +} + +}); + + QObject::connect(viewexplorer, &QAction::triggered, [=] { + + QModelIndex index = ui->listChat->currentIndex(); + QString memo_chat = index.data(Qt::DisplayRole).toString(); + + int startPos = memo_chat.indexOf("

") + 3; + int endPos = memo_chat.indexOf("

"); + int length = endPos - startPos; + QString copymemo = memo_chat.mid(startPos, length); + int startPosT = memo_chat.indexOf("") + 7; + int endPosT = memo_chat.indexOf(""); + int lengthT = endPosT - startPosT; + + QString time = memo_chat.mid(startPosT, lengthT); + + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){ + + if (c.second.getMemo() == copymemo) + { + int timestamp = c.second.getTimestamp(); + QDateTime myDateTime; + QString lock; + myDateTime.setTime_t(timestamp); + QString timestamphtml = myDateTime.toString("yyyy-MM-dd hh:mm"); + + if(timestamphtml == time) + + { + + Settings::openTxInExplorer(c.second.getTxid()); + + }else{} + + } + +} +}); + +}); + ///////// Add contextmenu QMenu* contextMenu; QAction* requestAction; diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 505be91..2fa544c 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -1602,6 +1602,9 @@ 0 + + Qt::NoFocus + The locks shows you the status of the message. Red lock = unconfirmed, green lock = min. 1 confirmations, orange lock = message is notarized @@ -1638,9 +1641,15 @@ QListView::Snap + + QListView::TopToBottom + QListView::Adjust + + QListView::SinglePass + 0 From cfe8955b44faa3f3adf2a4faa72558bd3054310c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 20:54:44 +0200 Subject: [PATCH 230/251] fix typo --- src/mainwindow.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 4e9a126..0e7f00a 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -363,11 +363,9 @@ void MainWindow::closeEvent(QCloseEvent* event) { void MainWindow::closeEventpw(QCloseEvent* event) { // Let the RPC know to shut down any running service. - rpc->shutdownhushd(); + rpc->shutdownhushdStartup(); + - // Bubble up - if (event) - QMainWindow::closeEvent(event); } @@ -1371,7 +1369,7 @@ void MainWindow::setupchatTab() { QAction* copytxid; contextMenuChat = new QMenu(ui->listChat); copymessage = new QAction("Copy message to clipboard",contextMenuChat); - viewexplorer = new QAction("View on block explorerr",contextMenuChat); + viewexplorer = new QAction("View on block explorer",contextMenuChat); copytxid = new QAction("Copy txid to clipboard ",contextMenuChat); QObject::connect(ui->listContactWidget, &QTableView::clicked, [=] () { From d4e51fd19a2922df6cd997d4366a0b1c16b4fdd3 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sat, 6 Jun 2020 20:56:49 +0200 Subject: [PATCH 231/251] fix typo --- src/mainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 0e7f00a..497503d 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -363,7 +363,7 @@ void MainWindow::closeEvent(QCloseEvent* event) { void MainWindow::closeEventpw(QCloseEvent* event) { // Let the RPC know to shut down any running service. - rpc->shutdownhushdStartup(); + rpc->shutdownhushd(); } From 852207199f58463869b306d1ff2ba9cd69ea87b4 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 7 Jun 2020 21:19:41 +0200 Subject: [PATCH 232/251] fix for incoming requests --- src/DataStore/ChatDataStore.cpp | 9 ++++-- src/Model/ChatItem.cpp | 2 +- src/addressbook.cpp | 6 +++- src/addressbook.h | 2 -- src/chatmodel.cpp | 39 +++++++++++++------------ src/contactmodel.cpp | 44 +++++++++++++++++++--------- src/contactmodel.h | 6 ++++ src/controller.cpp | 52 ++++++++++++++------------------- src/mainwindow.cpp | 13 +++++---- src/mainwindow.h | 1 + 10 files changed, 99 insertions(+), 75 deletions(-) diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index dfa7d54..5563fab 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -60,7 +60,9 @@ std::map ChatDataStore::getAllNewContactRequests() if ( (c.second.isOutgoing() == false) && (c.second.getType() == "Cont") && - (c.second.isContact() == false) + (c.second.isContact() == false) && + (c.second.getMemo().startsWith("{")) + ) { @@ -73,13 +75,14 @@ std::map ChatDataStore::getAllNewContactRequests() std::map ChatDataStore::getAllOldContactRequests() { std::map filteredItems; - for(auto &p : AddressBook::getInstance()->getAllAddressLabels()) + for(auto &c: this->data) { if ( (c.second.isOutgoing() == false) && (c.second.getType() == "Cont") && - (p.getPartnerAddress() == c.second.getRequestZaddr()) + (c.second.isContact() == true) && + (c.second.getMemo().startsWith("{")) ) { filteredItems[c.first] = c.second; diff --git a/src/Model/ChatItem.cpp b/src/Model/ChatItem.cpp index 9d8ede4..66b5176 100644 --- a/src/Model/ChatItem.cpp +++ b/src/Model/ChatItem.cpp @@ -180,7 +180,7 @@ QString ChatItem::toChatLine() QString line = QString("") + myDateTime.toString("yyyy-MM-dd hh:mm"); line += QString(lock) + QString(""); - line += QString("

") + _memo.toHtmlEscaped() + QString("

"); + line +=QString("

") + _memo.toHtmlEscaped() + QString("

"); return line; } diff --git a/src/addressbook.cpp b/src/addressbook.cpp index ae81ae2..68ead74 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -41,7 +41,7 @@ void AddressBookModel::loadData() "addresstablegeometry" ).toByteArray() ); - + } void AddressBookModel::addNewLabel(QString label, QString addr, QString myAddr, QString cid, QString avatar) @@ -108,7 +108,9 @@ QVariant AddressBookModel::data(const QModelIndex &index, int role) const case 2: return labels.at(index.row()).getPartnerAddress(); case 3: return labels.at(index.row()).getMyAddress(); case 4: return labels.at(index.row()).getCid(); + } + } return QVariant(); @@ -405,8 +407,10 @@ void AddressBook::readFromStorage() //qDebug() << "2:" << stuff[i][2]; ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); //qDebug() << "contact=" << contact.toQTString(); + // main->addLabel(stuff[i][2], stuff[i][1]); allLabels.push_back(contact); } + // qDebug() << "Read " << version << " Hush contacts from disk..."; file.close(); diff --git a/src/addressbook.h b/src/addressbook.h index fbd361b..b4fe7a8 100644 --- a/src/addressbook.h +++ b/src/addressbook.h @@ -24,8 +24,6 @@ public: QVariant data(const QModelIndex &index, int role) const; QVariant headerData(int section, Qt::Orientation orientation, int role) const; - - private: void loadData(); void saveData(); diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 6622416..694908c 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -119,44 +119,41 @@ void MainWindow::renderContactRequest(){ for (auto &c : DataStore::getChatDataStore()->getAllNewContactRequests()) - - { - QStandardItem* Items = new QStandardItem(QString("Unknown Sender")); + QStandardItem* Items = new QStandardItem(QString(c.second.getRequestZaddr())); contactRequest->appendRow(Items); - requestContact.requestContact->setModel(contactRequest); - + requestContact.requestContact->setModel(contactRequest); Items->setData(QIcon(addnewAddrIcon),Qt::DecorationRole); requestContact.requestContact->setIconSize(QSize(40,50)); requestContact.requestContact->setUniformItemSizes(true); requestContact.requestContact->show(); requestContact.zaddrnew->setVisible(false); - requestContact.zaddrnew->setText(c.second.getAddress()); + requestContact.zaddrnew->setText(c.second.getRequestZaddr()); + + } QStandardItemModel* contactRequestOld = new QStandardItemModel(); - for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) for (auto &c : DataStore::getChatDataStore()->getAllOldContactRequests()) { - if (p.getPartnerAddress() == c.second.getRequestZaddr()) - { - QStandardItem* Items = new QStandardItem(p.getName()); + QStandardItem* Items = new QStandardItem(c.second.getContact()); contactRequestOld->appendRow(Items); requestContact.requestContactOld->setModel(contactRequestOld); requestContact.zaddrold->setVisible(false); - requestContact.zaddrold->setText(c.second.getAddress()); - requestContact.requestContactOld->show(); - }else{} + requestContact.zaddrold->setText(c.second.getRequestZaddr()); + + } + QObject::connect(requestContact.requestContact, &QTableView::clicked, [&] () { - for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){ + for (auto &c : DataStore::getChatDataStore()->getAllRawChatItems()){ QModelIndex index = requestContact.requestContact->currentIndex(); QString label_contact = index.data(Qt::DisplayRole).toString(); QStandardItemModel* contactMemo = new QStandardItemModel(); @@ -164,7 +161,7 @@ void MainWindow::renderContactRequest(){ - if ((c.second.isOutgoing() == false) && (requestContact.zaddrnew->text() == c.second.getAddress()) && (c.second.getType() != "Cont")) + if ((c.second.isOutgoing() == false) && (label_contact == c.second.getContact())) { @@ -177,7 +174,10 @@ void MainWindow::renderContactRequest(){ requestContact.requestCID->setVisible(false); requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestMyAddr->setText(c.second.getAddress()); - }else{} + + }else{ + + } } @@ -192,7 +192,7 @@ void MainWindow::renderContactRequest(){ QString label_contactold = index.data(Qt::DisplayRole).toString(); QStandardItemModel* contactMemo = new QStandardItemModel(); - if ((c.second.isOutgoing() == false) && (requestContact.zaddrold->text() == c.second.getAddress()) && (c.second.getType() != "Cont")) + if ((c.second.isOutgoing() == false) && (label_contactold == c.second.getContact())) { @@ -205,7 +205,10 @@ void MainWindow::renderContactRequest(){ requestContact.requestCID->setVisible(false); requestContact.requestZaddr->setText(c.second.getRequestZaddr()); requestContact.requestMyAddr->setText(c.second.getAddress()); - }else{} + + }else{ + + } } diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 7f9d097..f3d529f 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -11,7 +11,25 @@ #include "settings.h" #include "controller.h" +void ContactModel::addLabel(QString addr, QString label) +{ + this->AddressMap[addr] = label; +} + +QString ContactModel::getContactbyAddress(QString addr) +{ + for(auto& pair : this->AddressMap) + { + + } + + if(this->AddressMap.count(addr) > 0) + { + return this->AddressMap[addr]; + } + return QString("0xdeadbeef"); +} void ContactModel::renderContactList(QListView* view) { @@ -19,22 +37,20 @@ void ContactModel::renderContactList(QListView* view) for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) { + QString avatar = c.getAvatar(); - - QString avatar = c.getAvatar(); - - QStandardItem* Items1 = new QStandardItem(c.getName()); - Items1->setData(QIcon(avatar),Qt::DecorationRole); - - contact->appendRow(Items1); - view->setModel(contact); - view->setIconSize(QSize(60,70)); - view->setUniformItemSizes(true); - view->setDragDropMode(QAbstractItemView::DropOnly); - view->show(); + QStandardItem* Items1 = new QStandardItem(c.getName()); + Items1->setData(QIcon(avatar),Qt::DecorationRole); - - + contact->appendRow(Items1); + view->setModel(contact); + view->setIconSize(QSize(60,70)); + view->setUniformItemSizes(true); + view->setDragDropMode(QAbstractItemView::DropOnly); + view->show(); + QString addr = c.getPartnerAddress(); + QString label = c.getName(); + this->addLabel(addr, label); } } diff --git a/src/contactmodel.h b/src/contactmodel.h index 5f79c47..584b5f9 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -12,9 +12,15 @@ class ContactModel { public: + MainWindow* main; + std::map AddressMap; + + QString getContactbyAddress(QString addr); + void addLabel(QString addr, QString label); ContactModel() {} void renderContactList(QListView* view); + }; diff --git a/src/controller.cpp b/src/controller.cpp index 5b1c979..fa4ef9a 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1132,28 +1132,8 @@ void Controller::refreshTransactions() { QString headerbytes; QString cid; QString requestZaddr; + QString contactname; bool isContact; - - - for (auto &p : AddressBook::getInstance()->getAllAddressLabels()) - { - - if (p.getPartnerAddress() == requestZaddr) - { - - chatModel->addAddressbylabel(address, requestZaddr); - } else{} - - } - if (chatModel->Addressbylabel(address) != QString("0xdeadbeef")){ - - isContact = true; - - }else{ - - isContact = false; - - } if (!it["memo"].is_null()) { @@ -1176,8 +1156,7 @@ void Controller::refreshTransactions() { } } - - + if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ cid = chatModel->getCidByTx(txid); @@ -1212,7 +1191,20 @@ void Controller::refreshTransactions() { publickey = ""; } - + if (contactModel->getContactbyAddress(requestZaddr) != QString("0xdeadbeef")){ + + isContact = true; + contactname = contactModel->getContactbyAddress(requestZaddr); + + }else{ + + isContact = false; + contactname = ""; + + } + + + qDebug()<<"Name :" << contactname; bool isNotarized; @@ -1336,7 +1328,7 @@ void Controller::refreshTransactions() { ChatItem item = ChatItem( datetime, address, - QString(""), + contactname, memodecrypt, requestZaddr, type, @@ -1347,9 +1339,7 @@ void Controller::refreshTransactions() { isNotarized, isContact ); - DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - - + DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); }else{ @@ -1360,7 +1350,7 @@ void Controller::refreshTransactions() { ChatItem item = ChatItem( datetime, address, - QString(""), + contactname, memo, requestZaddr, type, @@ -1372,7 +1362,9 @@ void Controller::refreshTransactions() { isContact ); DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - + qDebug()<<"requestZaddrt? :"<listChat->currentIndex(); QString memo_chat = index.data(Qt::DisplayRole).toString(); QClipboard *clipboard = QGuiApplication::clipboard(); - int startPos = memo_chat.indexOf("

") + 3; - int endPos = memo_chat.indexOf("

"); + int startPos = memo_chat.indexOf("
") + 3;
+    int endPos = memo_chat.indexOf("
"); int length = endPos - startPos; QString copymemo = memo_chat.mid(startPos, length); @@ -1400,8 +1401,8 @@ void MainWindow::setupchatTab() { QString memo_chat = index.data(Qt::DisplayRole).toString(); QClipboard *clipboard = QGuiApplication::clipboard(); - int startPos = memo_chat.indexOf("

") + 3; - int endPos = memo_chat.indexOf("

"); + int startPos = memo_chat.indexOf("
") + 3;
+    int endPos = memo_chat.indexOf("
"); int length = endPos - startPos; QString copymemo = memo_chat.mid(startPos, length); int startPosT = memo_chat.indexOf("") + 7; @@ -1438,8 +1439,8 @@ void MainWindow::setupchatTab() { QModelIndex index = ui->listChat->currentIndex(); QString memo_chat = index.data(Qt::DisplayRole).toString(); - int startPos = memo_chat.indexOf("

") + 3; - int endPos = memo_chat.indexOf("

"); + int startPos = memo_chat.indexOf("
") + 3;
+    int endPos = memo_chat.indexOf("
"); int length = endPos - startPos; QString copymemo = memo_chat.mid(startPos, length); int startPosT = memo_chat.indexOf("") + 7; diff --git a/src/mainwindow.h b/src/mainwindow.h index bb56d5b..53032df 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -58,6 +58,7 @@ public: void setPassword(QString Password); void addPubkey(QString requestZaddr, QString pubkey); + void replaceWormholeClient(WormholeClient* newClient); bool isWebsocketListening(); From d9f51aa8334086c95869fd7394e79b5300ae6ab2 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 7 Jun 2020 21:29:15 +0200 Subject: [PATCH 233/251] fix wrong gif at exit #100 --- src/controller.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/controller.cpp b/src/controller.cpp index fa4ef9a..a8ea783 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1966,9 +1966,27 @@ void Controller::shutdownhushd() QDialog d(main); Ui_ConnectionDialog connD; connD.setupUi(&d); - connD.topIcon->setPixmap(QIcon(":/icons/res/icon.ico").pixmap(256, 256)); + auto theme = Settings::getInstance()->get_theme_name(); + auto size = QSize(512,512); + + if (theme == "dark" || theme == "midnight") { + QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-startup-dark.gif");; + movie2->setScaledSize(size); + qDebug() << "Animation dark loaded"; + connD.topIcon->setMovie(movie2); + movie2->start(); connD.status->setText(QObject::tr("Please wait for SilentDragonLite to exit")); connD.statusDetail->setText(QObject::tr("Waiting for hushd to exit")); + } else { + QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated-startup.gif");; + movie1->setScaledSize(size); + qDebug() << "Animation light loaded"; + connD.topIcon->setMovie(movie1); + movie1->start(); + connD.status->setText(QObject::tr("Please wait for SilentDragonLite to exit")); + connD.statusDetail->setText(QObject::tr("Waiting for hushd to exit")); + } + bool finished = false; zrpc->saveWallet([&] (json) { if (!finished) From 1bc63f41f6bddfb0e5a7b8e5fd481fc89747f01d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 7 Jun 2020 21:55:39 +0200 Subject: [PATCH 234/251] add button to create a new zaddr --- src/addressbook.cpp | 18 ++- src/addressbook.ui | 111 +++++++++-------- src/chatmodel.cpp | 14 ++- src/contactrequest.ui | 275 ++++++++++++++++++++++-------------------- src/controller.cpp | 9 +- 5 files changed, 220 insertions(+), 207 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 68ead74..11dc0c4 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -147,8 +147,9 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) // Connect the dialog's closing to updating the label address completor QObject::connect(&d, &QDialog::finished, [=] (auto) { parent->updateLabels(); }); + Controller* rpc = parent->getRPC(); + QObject::connect(ab.newZaddr, &QPushButton::clicked, [&] () { - Controller* rpc = parent->getRPC(); bool sapling = true; try { @@ -174,6 +175,7 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) qDebug() << QString("Caught something nasty with myZaddr Addressbook"); } + }); // model.updateUi(); //todo fix updating gui after adding @@ -193,7 +195,6 @@ void AddressBook::open(MainWindow* parent, QLineEdit* target) QString avatar = QString(":/icons/res/") + ab.comboBoxAvatar->currentText() + QString(".png"); - qDebug()<<"AVATAR NAME : " << avatar; if (addr.isEmpty() || newLabel.isEmpty()) { @@ -394,20 +395,15 @@ void AddressBook::readFromStorage() QDataStream in(&file); // read the data serialized from the file QString version; in >> version; - // qDebug() << "Detected old addressbook format"; - // Convert old addressbook format v1 to v2 - QList> stuff; + QList> stuff; in >> stuff; - //qDebug() << "Stuff: " << stuff; + for (int i=0; i < stuff.size(); i++) { - //qDebug() << "0:" << stuff[i][0]; - //qDebug() << "1:" << stuff[i][1]; - //qDebug() << "2:" << stuff[i][2]; + ContactItem contact = ContactItem(stuff[i][0],stuff[i][1], stuff[i][2], stuff[i][3],stuff[i][4]); - //qDebug() << "contact=" << contact.toQTString(); - // main->addLabel(stuff[i][2], stuff[i][1]); + allLabels.push_back(contact); } diff --git a/src/addressbook.ui b/src/addressbook.ui index cd98ad9..08b2356 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -14,6 +14,43 @@ Address Book + + + + + + Import Address Book + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Close|QDialogButtonBox::Ok + + + + + + + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + @@ -51,17 +88,27 @@ - - + + + + + - <html><head/><body><p align="right">Avatar :</p></body></html> + <html><head/><body><p>Conversation ID:</p></body></html> - - + + - + + + + Add to Address Book + + + + @@ -195,63 +242,23 @@ - - + + - <html><head/><body><p>Conversation ID (editable):</p></body></html> + <html><head/><body><p align="right">Avatar :</p></body></html> - - - - - + + - Add to Address Book + Create a new HushChat zaddr
- - - - QAbstractItemView::SingleSelection - - - QAbstractItemView::SelectRows - - - true - - - false - - - - - - - - - Import Address Book - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Close|QDialogButtonBox::Ok - - - - - diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 694908c..7fda03a 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -708,6 +708,7 @@ void::MainWindow::addContact() request.setupUi(&dialog); Settings::saveRestore(&dialog); +QObject::connect(request.newZaddr, &QPushButton::clicked, [&] () { try { bool sapling = true; @@ -725,6 +726,7 @@ void::MainWindow::addContact() qDebug() << QString("Caught something nasty with myZaddr Contact"); } +}); QString cid = QUuid::createUuid().toString(QUuid::WithoutBraces); @@ -823,8 +825,6 @@ void MainWindow::ContactRequest() { if (contactRequest.getReceiverAddress().isEmpty() || contactRequest.getMemo().isEmpty()) { - // auto addr = ""; - // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"), QMessageBox::Ok, this); @@ -833,6 +833,16 @@ void MainWindow::ContactRequest() { return; } + if (contactRequest.getSenderAddress().size() > 80) { + + QMessageBox msg(QMessageBox::Critical, tr("Missing HushChat Address"), + tr("You have to create your HushChat address to send a contact request,\n"), + QMessageBox::Ok, this); + + msg.exec(); + return; + } + int max = 235; QString chattext = contactRequest.getMemo();; int size = chattext.size(); diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 43900d9..eb231ee 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -34,140 +34,6 @@
- - - - - SDLogo - - - - :/icons/res/SDLogo.png - - - - - - Duke - - - - :/icons/res/Duke.png - - - - - - Denio - - - - :/icons/res/Denio.png - - - - - - Berg - - - - :/icons/res/Berg.png - - - - - - Stag - - - - :/icons/res/Stag.png - - - - - - Sharpee - - - - :/icons/res/Sharpee.png - - - - - - Elsa - - - - :/icons/res/Elsa.png - - - - - - Yoda - - - - :/icons/res/Yoda.png - - - - - - Garfield - - - - :/icons/res/Garfield.png - - - - - - Snoopy - - - - :/icons/res/Snoopy.png - - - - - - Popey - - - - :/icons/res/Popey.png - - - - - - Pinguin - - - - :/icons/res/Pinguin.png - - - - - - Mickey - - - - :/icons/res/Mickey.png - - - - - @@ -329,6 +195,147 @@ + + + + + SDLogo + + + + :/icons/res/SDLogo.png + + + + + + Duke + + + + :/icons/res/Duke.png + + + + + + Denio + + + + :/icons/res/Denio.png + + + + + + Berg + + + + :/icons/res/Berg.png + + + + + + Stag + + + + :/icons/res/Stag.png + + + + + + Sharpee + + + + :/icons/res/Sharpee.png + + + + + + Elsa + + + + :/icons/res/Elsa.png + + + + + + Yoda + + + + :/icons/res/Yoda.png + + + + + + Garfield + + + + :/icons/res/Garfield.png + + + + + + Snoopy + + + + :/icons/res/Snoopy.png + + + + + + Popey + + + + :/icons/res/Popey.png + + + + + + Pinguin + + + + :/icons/res/Pinguin.png + + + + + + Mickey + + + + :/icons/res/Mickey.png + + + + + + + + + Create new Hushchat address + + + diff --git a/src/controller.cpp b/src/controller.cpp index a8ea783..495ee7d 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1202,9 +1202,6 @@ void Controller::refreshTransactions() { contactname = ""; } - - - qDebug()<<"Name :" << contactname; bool isNotarized; @@ -1361,11 +1358,7 @@ void Controller::refreshTransactions() { isNotarized, isContact ); - DataStore::getChatDataStore()->setData(ChatIDGenerator::getInstance()->generateID(item), item); - qDebug()<<"requestZaddrt? :"<setData(ChatIDGenerator::getInstance()->generateID(item), item); } } } From 3dc04ed47fa0bf1d02bf9d8e9314ca4225ad757e Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Mon, 8 Jun 2020 00:31:56 -0400 Subject: [PATCH 235/251] display bug issue #92, plus typos and alignment of dropdown logo and titles --- src/requestContactDialog.ui | 256 ++++++++++++++++++++++-------------- 1 file changed, 158 insertions(+), 98 deletions(-) diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index 27e6650..237f206 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -10,9 +10,15 @@ 495 + + + 0 + 0 + + - 812 + 850 495 @@ -20,39 +26,10 @@ Incoming contact request - - - - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> - - - - + - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> - - - - - - - - 256 - 231 - - - - true - - - QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked - - - false - - - QAbstractItemView::SingleSelection + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Memo of the request</span></p></body></html> @@ -60,7 +37,7 @@ - 521 + 500 231 @@ -90,18 +67,24 @@ - - + + - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Open requests</span></p></body></html> + + + 0 + 0 + + - 256 + 225 190 @@ -119,20 +102,6 @@ - - - - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> - - - - - - - Request from : - - - @@ -149,51 +118,121 @@ - - + + + + + 0 + 0 + + - My Zaddr : + Request from: - - + + + + + 0 + 0 + + - 351 + 0 25 - - - 351 - 25 - + + 25 - - + + - Give a Nickname: + - - - - 25 + + + + Add New Contact + + + false - + + + + + + + + + + + 0 + 0 + + - <html><head/><body><p align="right">Choose a avatar for your contact :</p></body></html> + <html><head/><body><p>Choose an avatar for your contact:</p></body></html> - + + + + + 0 + 0 + + + + My Zaddr: + + + + + + + + + + + + + + + 0 + 0 + + + + + 100 + 0 + + + + Cancel + + + false + + + false + + + + @@ -339,53 +378,74 @@ - - - + + + - 100 - 0 + 225 + 231 - - Cancel + + true - - false + + QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked - + false + + QAbstractItemView::SingleSelection + - - + + - Add this new Contact - - - false + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Recently closed requests</span></p></body></html> - - + + + + + 0 + 0 + + - + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Details of the request</span></p></body></html> - - + + + + + 0 + 0 + + - + Give a Nickname: - - - - + + + + + 351 + 25 + + + + + 351 + 25 + From 7aa03560fb7bedfb129dd613dab42a2b96da5c05 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Mon, 8 Jun 2020 01:39:17 -0400 Subject: [PATCH 236/251] Updated layout issues with contactrequest.ui, typography, and button alignments, including inputbox fixes for midnight theme --- src/contactrequest.ui | 569 +++++++++++++++++++++++++----------------- 1 file changed, 343 insertions(+), 226 deletions(-) diff --git a/src/contactrequest.ui b/src/contactrequest.ui index eb231ee..286dbdb 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -10,6 +10,12 @@ 427 + + + 0 + 0 + + 780 @@ -20,35 +26,41 @@ Send a contact request - - - - <html><head/><body><p align="right"><span style=" font-weight:600; text-decoration: underline;">Choose a avatar for your contact :</span></p></body></html> + + + + + 500 + 71 + - - - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Please insert a Nickname for your contact :</span></p></body></html> + + Qt::NoContextMenu + + + false + + + Qt::ImhSensitiveData - - - - - 25 + 512 - - - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Please insert the Address of your contact :</span></p></body></html> + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + false + + + Add a memo to your request + + + true - + @@ -64,14 +76,20 @@ - - + + - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address :</span></p></body></html> + Add Contact and Send Request + + + false + + + false - + @@ -90,68 +108,14 @@ - - - - Qt::Vertical - - - - 20 - 148 - - - - - - - - <html><head/><body><p align="center"><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request</span></p></body></html> - - - - - - - - 500 - 71 - - - - - 500 - 71 - - - - Qt::NoContextMenu - - - false - - - Qt::ImhSensitiveData - - - 512 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - false - - - Add some memo to your request - - - true - - - - + + + + 0 + 0 + + 100 @@ -169,172 +133,325 @@ - - - - Qt::Horizontal - - - - 278 - 20 - + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> - + - - + + - Add Contact and send request - - - false - - - false + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> - - - - - SDLogo - - - - :/icons/res/SDLogo.png - - - - - - Duke - - - - :/icons/res/Duke.png - - - + + + + 12 + + + QLayout::SetDefaultConstraint + - - Denio - - - - :/icons/res/Denio.png - - + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + - - Berg - - - - :/icons/res/Berg.png - - + + + + 0 + 0 + + + + Create New Address + + + false + + - - Stag - - - - :/icons/res/Stag.png - - + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + - - Sharpee - - - - :/icons/res/Sharpee.png - - + + + + 0 + 0 + + + + + 250 + 25 + + + + 25 + + - - Elsa - - - - :/icons/res/Elsa.png - - + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + - - Yoda - - - - :/icons/res/Yoda.png - - + + + + 0 + 25 + + + + + SDLogo + + + + :/icons/res/SDLogo.png + + + + + + Duke + + + + :/icons/res/Duke.png + + + + + + Denio + + + + :/icons/res/Denio.png + + + + + + Berg + + + + :/icons/res/Berg.png + + + + + + Stag + + + + :/icons/res/Stag.png + + + + + + Sharpee + + + + :/icons/res/Sharpee.png + + + + + + Elsa + + + + :/icons/res/Elsa.png + + + + + + Yoda + + + + :/icons/res/Yoda.png + + + + + + Garfield + + + + :/icons/res/Garfield.png + + + + + + Snoopy + + + + :/icons/res/Snoopy.png + + + + + + Popey + + + + :/icons/res/Popey.png + + + + + + Pinguin + + + + :/icons/res/Pinguin.png + + + + + + Mickey + + + + :/icons/res/Mickey.png + + + + - - Garfield - - - - :/icons/res/Garfield.png - - + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 40 + 20 + + + - - - Snoopy - - - - :/icons/res/Snoopy.png - - + + + + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> + + - - Popey - - - - :/icons/res/Popey.png - - + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + - - Pinguin - - - - :/icons/res/Pinguin.png - - + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> + + - - Mickey - - - - :/icons/res/Mickey.png - - + + + Qt::Horizontal + + + + 40 + 20 + + + - - - - - - Create new Hushchat address - - + From e8f987dae48ba6eabd5d3576779aa22e80e3683d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 8 Jun 2020 09:58:00 +0200 Subject: [PATCH 237/251] fix copy message --- src/mainwindow.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 4fb9586..22bc64f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1386,8 +1386,8 @@ void MainWindow::setupchatTab() { QModelIndex index = ui->listChat->currentIndex(); QString memo_chat = index.data(Qt::DisplayRole).toString(); QClipboard *clipboard = QGuiApplication::clipboard(); - int startPos = memo_chat.indexOf("
") + 3;
-    int endPos = memo_chat.indexOf("
"); + int startPos = memo_chat.indexOf("

") + 3; + int endPos = memo_chat.indexOf("

"); int length = endPos - startPos; QString copymemo = memo_chat.mid(startPos, length); @@ -1401,8 +1401,8 @@ void MainWindow::setupchatTab() { QString memo_chat = index.data(Qt::DisplayRole).toString(); QClipboard *clipboard = QGuiApplication::clipboard(); - int startPos = memo_chat.indexOf("
") + 3;
-    int endPos = memo_chat.indexOf("
"); + int startPos = memo_chat.indexOf("

") + 3; + int endPos = memo_chat.indexOf("

"); int length = endPos - startPos; QString copymemo = memo_chat.mid(startPos, length); int startPosT = memo_chat.indexOf("") + 7; @@ -1439,8 +1439,8 @@ void MainWindow::setupchatTab() { QModelIndex index = ui->listChat->currentIndex(); QString memo_chat = index.data(Qt::DisplayRole).toString(); - int startPos = memo_chat.indexOf("
") + 3;
-    int endPos = memo_chat.indexOf("
"); + int startPos = memo_chat.indexOf("

") + 3; + int endPos = memo_chat.indexOf("

"); int length = endPos - startPos; QString copymemo = memo_chat.mid(startPos, length); int startPosT = memo_chat.indexOf("") + 7; From c5c3eab002b3c9d3c11c46e1b07b9519c7626e3c Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 8 Jun 2020 21:50:58 +0200 Subject: [PATCH 238/251] set passphrase on initial install #64 --- src/DataStore/ChatDataStore.cpp | 12 +++++ src/DataStore/ChatDataStore.h | 5 ++ src/chatmodel.cpp | 4 +- src/controller.cpp | 8 +-- src/firsttimewizard.cpp | 61 +++++++++++++++++++++-- src/firsttimewizard.h | 12 +++++ src/mainwindow.cpp | 17 ++++--- src/mainwindow.h | 12 ++--- src/newseed.ui | 28 +++++------ src/newwallet.ui | 87 +++++++++++++++++++++++++++------ 10 files changed, 188 insertions(+), 58 deletions(-) diff --git a/src/DataStore/ChatDataStore.cpp b/src/DataStore/ChatDataStore.cpp index 5563fab..82f9db3 100644 --- a/src/DataStore/ChatDataStore.cpp +++ b/src/DataStore/ChatDataStore.cpp @@ -33,6 +33,18 @@ ChatItem ChatDataStore::getData(QString key) return this->data[key]; } +QString ChatDataStore::getPassword() +{ + + return _password; +} + +void ChatDataStore::setPassword(QString password) +{ + + _password = password; +} + QString ChatDataStore::dump() { json chats; diff --git a/src/DataStore/ChatDataStore.h b/src/DataStore/ChatDataStore.h index 7fb0998..c1233b6 100644 --- a/src/DataStore/ChatDataStore.h +++ b/src/DataStore/ChatDataStore.h @@ -25,6 +25,11 @@ class ChatDataStore std::map getAllNewContactRequests(); std::map getAllOldContactRequests(); std::map getAllMemos(); + QString getPassword(); + + void setPassword(QString Password); + QString _password; + QString dump(); ~ChatDataStore() diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 7fda03a..2fcbbf6 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -454,7 +454,7 @@ Tx MainWindow::createTxFromChatPage() { QString pubkey = this->getPubkeyByAddress(addr); - QString passphrase = this->getPassword(); + QString passphrase = DataStore::getChatDataStore()->getPassword(); QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); @@ -783,7 +783,7 @@ Tx MainWindow::createTxForSafeContactRequest() QString memo = contactRequest.getMemo(); // QString privkey = rpc->fetchPrivKey(myAddr); - QString passphrase = this->getPassword(); + QString passphrase = DataStore::getChatDataStore()->getPassword(); QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); diff --git a/src/controller.cpp b/src/controller.cpp index 495ee7d..6d02a40 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -11,10 +11,6 @@ #include "Model/ChatItem.h" #include "DataStore/DataStore.h" -/*template<> -DataStore* DataStore::instance = nullptr; -template<> -bool DataStore::instanced = false;*/ ChatModel *chatModel = new ChatModel(); Chat *chat = new Chat(); ContactModel *contactModel = new ContactModel(); @@ -971,7 +967,7 @@ void Controller::refreshTransactions() { if ((memo.startsWith("{") == false) && (headerbytes.length() > 20)) { - QString passphrase = main->getPassword(); + QString passphrase = DataStore::getChatDataStore()->getPassword(); QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); @@ -1227,7 +1223,7 @@ void Controller::refreshTransactions() { chatModel->addMemo(txid, headerbytes); }else{} - QString passphrase = main->getPassword(); + QString passphrase = DataStore::getChatDataStore()->getPassword(); QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); diff --git a/src/firsttimewizard.cpp b/src/firsttimewizard.cpp index 438f737..ffcfd84 100644 --- a/src/firsttimewizard.cpp +++ b/src/firsttimewizard.cpp @@ -3,6 +3,8 @@ #include "ui_newseed.h" #include "ui_restoreseed.h" #include "ui_newwallet.h" +#include "mainwindow.h" +#include "DataStore/DataStore.h" #include "../lib/silentdragonlitelib.h" @@ -38,31 +40,75 @@ int FirstTimeWizard::nextId() const { NewOrRestorePage::NewOrRestorePage(FirstTimeWizard *parent) : QWizardPage(parent) { setTitle("Create or Restore wallet."); + + QWidget* pageWidget = new QWidget(); Ui_CreateWalletForm form; form.setupUi(pageWidget); + - // Exclusive buttons + auto fnPasswordEdited = [=](const QString&) { + // Enable the Finish button if the passwords match. + QString Password = form.txtPassword->text(); + + if (!form.txtPassword->text().isEmpty() && + form.txtPassword->text() == form.txtConfirmPassword->text() && Password.size() >= 16) { + + form.lblPasswordMatch->setText(""); + parent->button(QWizard::CommitButton)->setEnabled(true); + setButtonText(QWizard::CommitButton, "Next"); + form.radioRestoreWallet->setEnabled(true); + form.radioNewWallet->setEnabled(true); + form.radioNewWallet->setChecked(true); + qDebug()<<"PW :"<setPassword(Password); + //main->setPassword(Password); + + //qDebug()<<"Objekt gesetzt"; + + + // Exclusive buttons QObject::connect(form.radioNewWallet, &QRadioButton::clicked, [=](bool checked) { if (checked) { form.radioRestoreWallet->setChecked(false); + } }); QObject::connect(form.radioRestoreWallet, &QRadioButton::clicked, [=](bool checked) { if (checked) { form.radioNewWallet->setChecked(false); + } }); - form.radioNewWallet->setChecked(true); + - registerField("intro.new", form.radioNewWallet); + + } else { + form.lblPasswordMatch->setText(tr("Passphrase don't match or You have entered too few letters (16 minimum)")); + + parent->button(QWizard::CommitButton)->setEnabled(false); + form.radioRestoreWallet->setEnabled(false); + form.radioNewWallet->setEnabled(false); + } + + }; QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(pageWidget); setLayout(layout); + + + QObject::connect(form.txtConfirmPassword, &QLineEdit::textChanged, fnPasswordEdited); + QObject::connect(form.txtPassword, &QLineEdit::textChanged, fnPasswordEdited); + registerField("intro.new", form.radioNewWallet); + form.radioRestoreWallet->setEnabled(false); + form.radioNewWallet->setEnabled(false); setCommitPage(true); - setButtonText(QWizard::CommitButton, "Next"); + + } NewSeedPage::NewSeedPage(FirstTimeWizard *parent) : QWizardPage(parent) { @@ -81,6 +127,7 @@ NewSeedPage::NewSeedPage(FirstTimeWizard *parent) : QWizardPage(parent) { void NewSeedPage::initializePage() { // Call the library to create a new wallet. + char* resp = litelib_initialize_new(parent->dangerous, parent->server.toStdString().c_str()); QString reply = litelib_process_response(resp); @@ -90,7 +137,11 @@ void NewSeedPage::initializePage() { } else { QString seed = QString::fromStdString(parsed["seed"].get()); form.txtSeed->setPlainText(seed); + + } + + } // Will be called just before closing. Make sure we can save the seed in the wallet @@ -175,4 +226,4 @@ bool RestoreSeedPage::validatePage() { return true; } } -} \ No newline at end of file +} diff --git a/src/firsttimewizard.h b/src/firsttimewizard.h index 276c0cd..8d84b61 100644 --- a/src/firsttimewizard.h +++ b/src/firsttimewizard.h @@ -5,11 +5,18 @@ #include "ui_newseed.h" #include "ui_restoreseed.h" +#include "mainwindow.h" + + class FirstTimeWizard: public QWizard { + + + public: FirstTimeWizard(bool dangerous, QString server); + protected: int nextId() const; @@ -27,11 +34,16 @@ private: friend class NewOrRestorePage; friend class NewSeedPage; friend class RestoreSeedPage; + + + }; class NewOrRestorePage: public QWizardPage { public: + NewOrRestorePage(FirstTimeWizard* parent); + }; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 22bc64f..bf5b464 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -31,6 +31,7 @@ #include "Crypto/passwd.h" #include "Crypto/FileEncryption.h" #include "DataStore/DataStore.h" +#include "firsttimewizard.h" using json = nlohmann::json; @@ -52,8 +53,6 @@ auto dirwalletenc = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLo auto dirwalletbackup = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)).filePath(".silentdragonlite/silentdragonlite-wallet.datBackup"); #endif - - MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) @@ -289,10 +288,10 @@ void MainWindow::closeEvent(QCloseEvent* event) { s.sync(); - + // Let the RPC know to shut down any running service. rpc->shutdownhushd(); - int passphraselenght = this->getPassword().length(); + int passphraselenght = DataStore::getChatDataStore()->getPassword().length(); // Check is encryption is ON for SDl if(passphraselenght > 0) @@ -305,7 +304,7 @@ void MainWindow::closeEvent(QCloseEvent* event) { fileoldencryption.remove(); // Encrypt our wallet.dat - QString str = this->getPassword(); + QString str = DataStore::getChatDataStore()->getPassword(); // QString str = ed.txtPassword->text(); // data comes from user inputs int length = str.length(); @@ -401,7 +400,7 @@ void MainWindow::encryptWallet() { QString passphrase = ed.txtPassword->text(); // data comes from user inputs int length = passphrase.length(); - this->setPassword(passphrase); + DataStore::getChatDataStore()->setPassword(passphrase); char *sequence = NULL; sequence = new char[length+1]; @@ -561,7 +560,7 @@ void MainWindow::removeWalletEncryptionStartUp() { { QString password = ed.txtPassword->text(); // data comes from user inputs int length = password.length(); - this->setPassword(password); + DataStore::getChatDataStore()->setPassword(password); char *sequence = NULL; sequence = new char[length+1]; strncpy(sequence, password.toLocal8Bit(), length +1); @@ -663,6 +662,7 @@ void MainWindow::setupStatusBar() { loadingMovie->start(); loadingLabel->setAttribute(Qt::WA_NoSystemBackground); loadingLabel->setMovie(loadingMovie); + ui->statusBar->addPermanentWidget(loadingLabel); loadingLabel->setVisible(false); @@ -1159,7 +1159,6 @@ void MainWindow::setupBalancesTab() { ui->lblSyncWarning->setVisible(false); ui->lblSyncWarningReceive->setVisible(false); - // Setup context menu on balances tab ui->balancesTable->setContextMenuPolicy(Qt::CustomContextMenu); QObject::connect(ui->balancesTable, &QTableView::customContextMenuRequested, [=] (QPoint pos) { @@ -1191,6 +1190,8 @@ void MainWindow::setupBalancesTab() { menu.exec(ui->balancesTable->viewport()->mapToGlobal(pos)); }); + + qDebug()<<"PW :"<getPassword(); } void MainWindow::setuphushdTab() { diff --git a/src/mainwindow.h b/src/mainwindow.h index 53032df..62ff3f3 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -5,7 +5,7 @@ #include "logger.h" #include "recurring.h" - +#include "firsttimewizard.h" // Forward declare to break circular dependency. class Controller; @@ -59,6 +59,7 @@ public: void addPubkey(QString requestZaddr, QString pubkey); + void replaceWormholeClient(WormholeClient* newClient); bool isWebsocketListening(); @@ -67,10 +68,7 @@ public: void saveContact(); void saveandsendContact(); void showRequesthush(); - // void setmaxlenChat(int len); - // void updateDisplay(); - - + void balancesReady(); void payhushURI(QString uri = "", QString myAddr = ""); @@ -113,6 +111,7 @@ private: bool fileExists(QString path); void closeEvent(QCloseEvent* event); void closeEventpw(QCloseEvent* event); + QString _password; void setupSendTab(); @@ -122,7 +121,6 @@ private: void setuphushdTab(); void setupchatTab(); void renderContactRequest(); - // void setLenDisplayLabel(QLabel* label); void updateContacts(); void updateChat(); @@ -131,7 +129,7 @@ private: void setupStatusBar(); void clearSendForm(); - QString _password; + Tx createTxFromSendPage(); bool confirmTx(Tx tx, RecurringPaymentInfo* rpi); diff --git a/src/newseed.ui b/src/newseed.ui index ed5d9ae..7657542 100644 --- a/src/newseed.ui +++ b/src/newseed.ui @@ -6,15 +6,15 @@ 0 0 - 400 - 300 + 427 + 416 Form - + This is your new wallet's seed phrase. PLEASE BACK IT UP SECURELY. @@ -24,17 +24,7 @@ - - - - The seed phrase is the only way to restore the wallet. If you forget the seed phrase, THERE IS NO WAY TO RESTORE YOUR WALLET AND THE FUNDS in it - - - true - - - - + @@ -56,6 +46,16 @@
+ + + + The seed phrase is the only way to restore the wallet. If you forget the seed phrase, THERE IS NO WAY TO RESTORE YOUR WALLET AND THE FUNDS in it + + + true + + + diff --git a/src/newwallet.ui b/src/newwallet.ui index 9cf34c5..ac2a5af 100644 --- a/src/newwallet.ui +++ b/src/newwallet.ui @@ -6,16 +6,16 @@ 0 0 - 400 - 300 + 437 + 381 Form - - + + 0 @@ -25,18 +25,18 @@ - + - + - Restore wallet from seed + Create a new Wallet - + - Restore an existing wallet, using the 24-word seed. + Create a new wallet with a randomly generated seed. true @@ -46,8 +46,63 @@ - - + + + + Qt::Horizontal + + + + + + + color: red; + + + Passphrase don't match + + + Qt::AlignCenter + + + + + + + <html><head/><body><p>16 letters minimum</p></body></html> + + + + + + + Encryption Passphrase: + + + + + + + QLineEdit::Password + + + + + + + Confirm Passphrase: + + + + + + + QLineEdit::Password + + + + + 0 @@ -57,18 +112,18 @@ - + - + - Create a new Wallet + Restore wallet from seed - + - Create a new wallet with a randomly generated seed. + Restore an existing wallet, using the 24-word seed. true From f734976773cc19c44a55ef479f365bcbcabcfc5d Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Mon, 8 Jun 2020 18:11:18 -0400 Subject: [PATCH 239/251] More GUI fixes, typos and GUI updates for fixed frame sizes encrypt/decrypt boxes. --- src/contactrequest.ui | 275 ++++++++++++++++++--------------------- src/encryption.ui | 152 ++++++++++++++-------- src/removeencryption.ui | 270 ++++++++++++++++++-------------------- src/startupencryption.ui | 24 ++++ 4 files changed, 375 insertions(+), 346 deletions(-) diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 286dbdb..d8ca0a6 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -7,68 +7,47 @@ 0 0 780 - 427 + 351 - + 0 0 + + + 780 + 351 + + 780 - 427 + 351 Send a contact request - - - - - 500 - 71 - - - - Qt::NoContextMenu - - - false - - - Qt::ImhSensitiveData - - - 512 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - false - - - Add a memo to your request - - - true + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> - + - - - 650 - 25 - + + + 0 + 0 + - + 650 25 @@ -76,19 +55,6 @@ - - - - Add Contact and Send Request - - - false - - - false - - - @@ -108,99 +74,11 @@ - - - - - 0 - 0 - - - - - 100 - 0 - - - - Cancel - - - false - - - false - - - - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a memo for your request:</span></p></body></html> - - - - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> - - - - - - - 12 - - - QLayout::SetDefaultConstraint - - - - - - 0 - 0 - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> - - - - - - - - 0 - 0 - - - - Create New Address - - - false - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - + + QLayout::SetMaximumSize + @@ -394,8 +272,108 @@ + + + + + 0 + 0 + + + + + 100 + 0 + + + + Cancel + + + false + + + false + + + + + + + Add Contact and Send Request + + + false + + + false + + + + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> + + + + + + + 6 + + + QLayout::SetMaximumSize + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + + + + + + + 0 + 0 + + + + Create New Address + + + false + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + QLayout::SetMaximumSize + @@ -453,6 +431,13 @@ + + + + Add a memo to your request + + + diff --git a/src/encryption.ui b/src/encryption.ui index ae2643b..7f2388c 100644 --- a/src/encryption.ui +++ b/src/encryption.ui @@ -10,12 +10,37 @@ 300 + + + 0 + 0 + + + + + 400 + 300 + + + + + 400 + 300 + + Encrypt Your Wallet - - + + + + Encryption Passphrase: + + + + + Qt::Vertical @@ -29,8 +54,14 @@ + + + 0 + 0 + + - <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase the only way to recover the wallet is from the seed phrase. If you dont have Backup your seed phrase, please do it now!</p></body></html> + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you forget your passphrase, the only way to recover the wallet is from the seed phrase. If you don't have a backup of your seed phrase, please do it now!</p></body></html> Qt::AlignCenter @@ -40,8 +71,48 @@ - - + + + + Qt::Horizontal + + + + + + + QLineEdit::Password + + + + + + + Confirm Passphrase: + + + + + + + + 0 + 0 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + true + + + + + Qt::Vertical @@ -53,78 +124,49 @@ - + Qt::Horizontal - - - - <html><head/><body><p>16 letters minimum</p></body></html> + + + + QLineEdit::Password - + + + + 0 + 0 + + color: red; - Passphrase don't match + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> Qt::AlignCenter - - - - Encryption Passphrase: - - - - - - - QLineEdit::Password - - - - - - - Confirm Passphrase: - - - - - - QLineEdit::Password - - - - - - - Qt::Horizontal - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + 0 + 0 + - - true + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> diff --git a/src/removeencryption.ui b/src/removeencryption.ui index 11bee22..2194997 100644 --- a/src/removeencryption.ui +++ b/src/removeencryption.ui @@ -10,154 +10,132 @@ 300 + + + 0 + 0 + + + + + 400 + 300 + + + + + 400 + 300 + + - Remove your Wallet encryption + Decrypt Your Wallet - - - - 50 - 260 - 341 - 32 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - 260 - 170 - 133 - 23 - - - - <html><head/><body><p>16 letters minimum</p></body></html> - - - - - - 10 - 229 - 157 - 25 - - - - Confirm Passphrase: - - - - - - 10 - 164 - 382 - 3 - - - - Qt::Horizontal - - - - - - 173 - 229 - 219 - 25 - - - - QLineEdit::Password - - - - - - 10 - 56 - 382 - 56 - - - - <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your encryption, all your transactions and contacts are plaintext on disk! Messages are still encrypt.</p></body></html> - - - Qt::AlignCenter - - - true - - - - - - 10 - 260 - 382 - 3 - - - - Qt::Horizontal - - - - - - 10 - 198 - 157 - 25 - - - - Encryption Passphrase: - - - - - - 10 - 175 - 243 - 17 - - - - color: red; - - - Passphrase don't match - - - Qt::AlignCenter - - - - - - 173 - 198 - 219 - 25 - - - - QLineEdit::Password - - + + + + + Qt::Horizontal + + + + + + + <html><head/><body><p><span style=" font-size:14pt; color:#ef2929;">WARNING:</span> If you remove your wallet.dat encryption, all your transactions and contacts are plaintext on disk!<br/><br/>Messages sent and received are always encrypted.</p></body></html> + + + Qt::AlignCenter + + + true + + + + + + + QLineEdit::Password + + + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> + + + + + + + + 0 + 0 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + Encryption Passphrase: + + + + + + + Confirm Passphrase: + + + + + + + Qt::Horizontal + + + + + + + QLineEdit::Password + + + + + + + + 0 + 0 + + + + color: red; + + + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> + + + Qt::AlignCenter + + + + diff --git a/src/startupencryption.ui b/src/startupencryption.ui index 56fc02c..963d2f0 100644 --- a/src/startupencryption.ui +++ b/src/startupencryption.ui @@ -10,6 +10,24 @@ 177 + + + 0 + 0 + + + + + 400 + 177 + + + + + 400 + 177 + + SDL Startup Decryption @@ -43,6 +61,12 @@ + + + 0 + 25 + + QLineEdit::Password From 38aebf72748c47039ed9caaa7e5ad700d7cf4b88 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Mon, 8 Jun 2020 20:06:40 -0400 Subject: [PATCH 240/251] beginning integration formemo counter of limited characters; changing from QLineEdit to QTextEdit for wrapping of text --- src/chatmodel.cpp | 2 +- src/contactrequest.ui | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 2fcbbf6..c3f5f08 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -734,7 +734,7 @@ QObject::connect(request.newZaddr, &QPushButton::clicked, [&] () { QString addr = request.zaddr->text(); QString myAddr = request.myzaddr->text().trimmed(); - QString memo = request.memorequest->text().trimmed(); + QString memo = request.memorequest->toPlainText().trimmed(); QString avatar = QString(":/icons/res/") + request.comboBoxAvatar->currentText() + QString(".png"); QString label = request.labelRequest->text().trimmed(); diff --git a/src/contactrequest.ui b/src/contactrequest.ui index d8ca0a6..91328db 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -432,12 +432,25 @@ - + Add a memo to your request + + + + + 0 + 0 + + + + 0/235 + + + From f697520049246dde82ed6cbd00917c8aede422fc Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 9 Jun 2020 08:24:45 +0200 Subject: [PATCH 241/251] set maxlen to 512 for request --- src/contactrequest.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 91328db..1b9bd7d 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -447,7 +447,7 @@ - 0/235 + 0/512 From 72357dfc17dfc65196c66b4908767197bc45c437 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 9 Jun 2020 12:06:46 +0200 Subject: [PATCH 242/251] set focus to the last chatItem --- src/controller.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/controller.cpp b/src/controller.cpp index 6d02a40..3bb208b 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1379,6 +1379,8 @@ void Controller::refreshTransactions() { // Update model data, which updates the table view transactionsTableModel->replaceData(txdata); chat->renderChatBox(ui, ui->listChat,ui->memoSizeChat); + ui->listChat->verticalScrollBar()->setValue( + ui->listChat->verticalScrollBar()->maximum()); }); } @@ -1386,6 +1388,8 @@ void Controller::refreshTransactions() { void Controller::refreshChat(QListView *listWidget, QLabel *label) { chat->renderChatBox(ui, listWidget, label); + ui->listChat->verticalScrollBar()->setValue( + ui->listChat->verticalScrollBar()->maximum()); } From c44322a5e6cd568db16aacab244bb81b5937b54d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Tue, 9 Jun 2020 23:46:51 +0200 Subject: [PATCH 243/251] encrypt zdust memo --- src/controller.cpp | 109 +++++++++++++++++++++++++++++++++------- src/controller.h | 1 + src/firsttimewizard.cpp | 1 - src/mainwindow.cpp | 1 - 4 files changed, 92 insertions(+), 20 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 3bb208b..6bcd569 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -91,7 +91,7 @@ void Controller::setConnection(Connection* c) // Create Sietch zdust addr at startup. // Using DataStore singelton, to store the data outside of lambda, bing bada boom :D - for(uint8_t i = 0; i < 10; i++) + for(uint8_t i = 0; i < 6; i++) { zrpc->createNewSietchZaddr( [=] (json reply) { QString zdust = QString::fromStdString(reply.get()[0]); @@ -104,6 +104,21 @@ void Controller::setConnection(Connection* c) ); } +std::string Controller::encryptDecrypt(std::string toEncrypt) +{ + + int radomInteger = rand() % 1000000000 +100000; + + char key = radomInteger; + std::string output = toEncrypt; + + for (int i = 0; i < toEncrypt.size(); i++) + output[i] = toEncrypt[i] ^ key; + + return output; + +} + // Build the RPC JSON Parameters for this tx void Controller::fillTxJsonParams(json& allRecepients, Tx tx) { @@ -113,12 +128,12 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) json rec = json::object(); //creating the JSON dust parameters in a std::vector to iterate over there during tx - std::vector dust(10); - dust.resize(10, json::object()); + std::vector dust(6); + dust.resize(6, json::object()); // Create Sietch zdust addr again to not use it twice. // Using DataStore singelton, to store the data outside of lambda, bing bada boom :D - for(uint8_t i = 0; i < 10; i++) + for(uint8_t i = 0; i < 6; i++) { zrpc->createNewSietchZaddr( [=] (json reply) { QString zdust = QString::fromStdString(reply.get()[0]); @@ -128,20 +143,74 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) // Set sietch zdust addr to json. // Using DataStore singelton, to store the data into the dusts, bing bada boom :D - for(uint8_t i = 0; i < 10; i++) + for(uint8_t i = 0; i < 6; i++) { dust.at(i)["address"] = DataStore::getSietchDataStore()->getData(QString("Sietch" + QString(i))).toStdString(); } DataStore::getSietchDataStore()->clear(); // clears the datastore - // Dust amt/memo, construct the JSON - for(uint8_t i = 0; i < 8; i++) + const QString possibleCharacters("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"); + + int sizerandomString = rand() % 250 +125; + const int randomStringLength = sizerandomString; // assuming you want random strings of 12 characters + + QString randomString; + for(int i=0; i(hash),MESSAGE_LEN1); + + ///encrypt zdust memo + std::string encrypt = this->encryptDecrypt(decryptedMemo); + QString randomHashafter1 = QString::fromUtf8( encrypt.data(), encrypt.size() + crypto_secretstream_xchacha20poly1305_ABYTES); + std::string encrypt2 = this->encryptDecrypt(decryptedMemo); + QString randomHashafter2 = QString::fromUtf8( encrypt2.data(), encrypt2.size() + crypto_secretstream_xchacha20poly1305_ABYTES); + std::string encrypt3 = this->encryptDecrypt(decryptedMemo); + QString randomHashafter3 = QString::fromUtf8( encrypt3.data(), encrypt3.size() + crypto_secretstream_xchacha20poly1305_ABYTES); + std::string encrypt4 = this->encryptDecrypt(decryptedMemo); + QString randomHashafter4 = QString::fromUtf8( encrypt4.data(), encrypt4.size() + crypto_secretstream_xchacha20poly1305_ABYTES); + std::string encrypt5 = this->encryptDecrypt(decryptedMemo); + QString randomHashafter5 = QString::fromUtf8( encrypt5.data(), encrypt5.size() + crypto_secretstream_xchacha20poly1305_ABYTES); + std::string encrypt6 = this->encryptDecrypt(decryptedMemo); + QString randomHashafter6 = QString::fromUtf8( encrypt6.data(), encrypt6.size() + crypto_secretstream_xchacha20poly1305_ABYTES); + std::string encrypt7 = this->encryptDecrypt(decryptedMemo); + QString randomHashafter7 = QString::fromUtf8( encrypt7.data(), encrypt7.size() + crypto_secretstream_xchacha20poly1305_ABYTES); + + + for(uint8_t i = 0; i < 6; i++) { - dust.at(i)["amount"] = 0; - dust.at(i)["memo"] = ""; - + dust.at(i)["amount"] = 0; } + + dust.at(0)["memo"] = randomHashafter1.toStdString(); + dust.at(1)["memo"] = randomHashafter2.toStdString(); + dust.at(2)["memo"] = randomHashafter3.toStdString(); + dust.at(3)["memo"] = randomHashafter4.toStdString(); + dust.at(4)["memo"] = randomHashafter5.toStdString(); + dust.at(5)["memo"] = randomHashafter6.toStdString(); + // For each addr/amt/memo, construct the JSON and also build the confirm dialog box for (int i=0; i < tx.toAddrs.size(); i++) @@ -161,8 +230,7 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) dust.at(2), dust.at(3), dust.at(4), - dust.at(5), - dust.at(6) + dust.at(5) }) ; } @@ -971,14 +1039,11 @@ void Controller::refreshTransactions() { QString hashEncryptionKey = passphrase; int length = hashEncryptionKey.length(); - - ////////////////Generate the secretkey for our message encryption char *hashEncryptionKeyraw = NULL; hashEncryptionKeyraw = new char[length+1]; strncpy(hashEncryptionKeyraw, hashEncryptionKey.toLocal8Bit(), length +1); - const QByteArray pubkeyBobArray = QByteArray::fromHex(publickey.toLatin1()); const unsigned char *pubkeyBob = reinterpret_cast(pubkeyBobArray.constData()); @@ -1019,9 +1084,12 @@ void Controller::refreshTransactions() { const QByteArray ba1 = QByteArray::fromHex(headerbytes.toLatin1()); const unsigned char *header = reinterpret_cast(ba1.constData()); - int encryptedMemoSize1 = ba.length(); + QString memodecrypt; + + if (encryptedMemoSize1 > 15) + { //////unsigned char* as message from QString #define MESSAGE2 (const unsigned char *) encryptedMemo @@ -1050,10 +1118,15 @@ void Controller::refreshTransactions() { } std::string decryptedMemo(reinterpret_cast(decrypted),MESSAGE1_LEN); - + + memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); + + }else{ + memodecrypt = ""; + + } /////Now we can convert it to QString - QString memodecrypt = QString::fromUtf8( decryptedMemo.data(), decryptedMemo.size()); //////////////Give us the output of the decrypted message as debug to see if it was successfully diff --git a/src/controller.h b/src/controller.h index f66596f..195827c 100644 --- a/src/controller.h +++ b/src/controller.h @@ -44,6 +44,7 @@ public: int getLag(); void setLag(int lag); int _lag; + std::string encryptDecrypt(std::string); void checkForUpdate(bool silent = true); void refreshZECPrice(); diff --git a/src/firsttimewizard.cpp b/src/firsttimewizard.cpp index ffcfd84..5ef96bb 100644 --- a/src/firsttimewizard.cpp +++ b/src/firsttimewizard.cpp @@ -60,7 +60,6 @@ NewOrRestorePage::NewOrRestorePage(FirstTimeWizard *parent) : QWizardPage(parent form.radioRestoreWallet->setEnabled(true); form.radioNewWallet->setEnabled(true); form.radioNewWallet->setChecked(true); - qDebug()<<"PW :"<setPassword(Password); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index bf5b464..c3be452 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1191,7 +1191,6 @@ void MainWindow::setupBalancesTab() { menu.exec(ui->balancesTable->viewport()->mapToGlobal(pos)); }); - qDebug()<<"PW :"<getPassword(); } void MainWindow::setuphushdTab() { From f8e295775a8e5b4af408a1aa35c5df5b6de63045 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Wed, 10 Jun 2020 01:32:41 -0400 Subject: [PATCH 244/251] Title capitalization of all themes, fixed border for settings.ui, increased width of theme & currency boxes to accomodate longer theme names --- application.qrc | 27 ++++++++++--------- res/css/{blue.css => Blue.css} | 0 res/css/{dark.css => Dark.css} | 0 res/css/{default.css => Default.css} | 0 res/css/{light.css => Light.css} | 0 res/css/{midnight.css => Midnight.css} | 0 src/chatmodel.cpp | 10 +++---- src/connection.cpp | 2 +- src/controller.cpp | 2 +- src/mainwindow.cpp | 10 +++---- src/sendtab.cpp | 2 +- src/settings.cpp | 2 +- src/settings.ui | 36 +++++++++++++++++++------- 13 files changed, 54 insertions(+), 37 deletions(-) rename res/css/{blue.css => Blue.css} (100%) rename res/css/{dark.css => Dark.css} (100%) rename res/css/{default.css => Default.css} (100%) rename res/css/{light.css => Light.css} (100%) rename res/css/{midnight.css => Midnight.css} (100%) diff --git a/application.qrc b/application.qrc index 345aac4..e6c1b2d 100644 --- a/application.qrc +++ b/application.qrc @@ -47,7 +47,6 @@ res/addContactBlack.png res/unknownBlack.png res/unknownWhite.png - res/hushdlogo.gif @@ -59,21 +58,21 @@ res/loaderwhite.gif - res/silentdragonlite_de.qm - res/silentdragonlite_es.qm - res/silentdragonlite_fr.qm - res/silentdragonlite_pt.qm - res/silentdragonlite_it.qm - res/silentdragonlite_hr.qm - res/silentdragonlite_fa.qm - res/silentdragonlite_id.qm + res/silentdragonlite_de.qm + res/silentdragonlite_es.qm + res/silentdragonlite_fr.qm + res/silentdragonlite_pt.qm + res/silentdragonlite_it.qm + res/silentdragonlite_hr.qm + res/silentdragonlite_fa.qm + res/silentdragonlite_id.qm - res/css/blue.css - res/css/dark.css - res/css/default.css - res/css/light.css - res/css/midnight.css + res/css/Blue.css + res/css/Dark.css + res/css/Default.css + res/css/Light.css + res/css/Midnight.css res/images/blue/unchecked.png diff --git a/res/css/blue.css b/res/css/Blue.css similarity index 100% rename from res/css/blue.css rename to res/css/Blue.css diff --git a/res/css/dark.css b/res/css/Dark.css similarity index 100% rename from res/css/dark.css rename to res/css/Dark.css diff --git a/res/css/default.css b/res/css/Default.css similarity index 100% rename from res/css/default.css rename to res/css/Default.css diff --git a/res/css/light.css b/res/css/Light.css similarity index 100% rename from res/css/light.css rename to res/css/Light.css diff --git a/res/css/midnight.css b/res/css/Midnight.css similarity index 100% rename from res/css/midnight.css rename to res/css/Midnight.css diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index c3f5f08..fe4e92b 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -101,7 +101,7 @@ void MainWindow::renderContactRequest(){ QString icon; auto theme = Settings::getInstance()->get_theme_name(); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { icon = ":/icons/res/unknownWhite.png"; }else{ icon = ":/icons/res/unknownBlack.png"; @@ -587,7 +587,7 @@ void MainWindow::sendChat() { movie1->setFileName(":/img/res/loaderwhite.gif"); auto theme = Settings::getInstance()->get_theme_name(); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { connect(movie, &QMovie::frameChanged, [=]{ ui->sendChatButton->setIcon(movie->currentPixmap()); @@ -616,7 +616,7 @@ void MainWindow::sendChat() { QTimer::singleShot(1000, [=]() { - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { QPixmap send(":/icons/res/send-white.png"); QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); @@ -649,7 +649,7 @@ void MainWindow::sendChat() { movie->stop(); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { QPixmap send(":/icons/res/send-white.png"); QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); @@ -881,7 +881,7 @@ void MainWindow::ContactRequest() { QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif"); QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif"); auto theme = Settings::getInstance()->get_theme_name(); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { movie2->setScaledSize(QSize(512,512)); connD->topIcon->setMovie(movie2); movie2->start(); diff --git a/src/connection.cpp b/src/connection.cpp index bbc3bce..569ebed 100644 --- a/src/connection.cpp +++ b/src/connection.cpp @@ -23,7 +23,7 @@ ConnectionLoader::ConnectionLoader(MainWindow* main, Controller* rpc) qDebug() << theme << "theme has loaded"; auto size = QSize(512,512); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-startup-dark.gif");; movie2->setScaledSize(size); qDebug() << "Animation dark loaded"; diff --git a/src/controller.cpp b/src/controller.cpp index 6bcd569..7cca1a7 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -2035,7 +2035,7 @@ void Controller::shutdownhushd() auto theme = Settings::getInstance()->get_theme_name(); auto size = QSize(512,512); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-startup-dark.gif");; movie2->setScaledSize(size); qDebug() << "Animation dark loaded"; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index c3be452..6eba199 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -66,7 +66,7 @@ MainWindow::MainWindow(QWidget *parent) : } catch (...) { - theme_name = "dark"; + theme_name = "Dark"; } this->slot_change_theme(theme_name); @@ -1213,10 +1213,10 @@ void MainWindow::setupTransactionsTab() { // Set up context menu on transactions tab auto theme = Settings::getInstance()->get_theme_name(); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { ui->listChat->setStyleSheet("background-image: url(:/icons/res/sdlogo.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover"); } - if (theme == "default") {ui->listChat->setStyleSheet("background-image: url(:/icons/res/sdlogo2.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover");} + if (theme == "Default") {ui->listChat->setStyleSheet("background-image: url(:/icons/res/sdlogo2.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover");} ui->listChat->setResizeMode(QListView::Adjust); ui->listChat->setWordWrap(true); @@ -1316,7 +1316,7 @@ void MainWindow::setupchatTab() { /////////////Setting Icons for Chattab and different themes auto theme = Settings::getInstance()->get_theme_name(); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { QPixmap send(":/icons/res/send-white.png"); QIcon sendIcon(send); ui->sendChatButton->setIcon(sendIcon); @@ -1955,7 +1955,7 @@ void MainWindow::slot_change_theme(const QString& theme_name) } catch (...) { - saved_theme_name = "dark"; + saved_theme_name = "Dark"; } QFile qFile(":/css/res/css/" + saved_theme_name +".css"); diff --git a/src/sendtab.cpp b/src/sendtab.cpp index 6f3fc11..7e21261 100644 --- a/src/sendtab.cpp +++ b/src/sendtab.cpp @@ -846,7 +846,7 @@ void MainWindow::sendButton() { QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif");; QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif");; auto theme = Settings::getInstance()->get_theme_name(); - if (theme == "dark" || theme == "midnight") { + if (theme == "Dark" || theme == "Midnight") { movie2->setScaledSize(QSize(512,512)); connD->topIcon->setMovie(movie2); movie2->start(); diff --git a/src/settings.cpp b/src/settings.cpp index dfe1e11..fd47f76 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -230,7 +230,7 @@ void Settings::set_currency_name(QString currency_name) { QString Settings::get_theme_name() { // Load from the QT Settings. - return QSettings().value("options/theme_name", "dark").toString(); + return QSettings().value("options/theme_name", "Dark").toString(); } void Settings::set_theme_name(QString theme_name) { diff --git a/src/settings.ui b/src/settings.ui index ac730fb..57620e5 100644 --- a/src/settings.ui +++ b/src/settings.ui @@ -6,10 +6,28 @@ 0 0 - 733 - 539 + 590 + 443 + + + 0 + 0 + + + + + 590 + 443 + + + + + 590 + 443 + + Settings @@ -85,7 +103,7 @@ 80 110 - 80 + 111 25 @@ -97,27 +115,27 @@ - dark + Dark - default + Midnight - blue + Light - light + Blue - midnight + Default @@ -241,7 +259,7 @@ 80 150 - 80 + 111 25 From 8a840d29c806f331aa81acf8de1768e4b55bb104 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Wed, 10 Jun 2020 01:45:27 -0400 Subject: [PATCH 245/251] Fixed encrypt wallet display bug; commented out line. On entering text in 2nd field, caused long sentence to display that was unreadable. --- src/mainwindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 6eba199..3e9d2a0 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -386,7 +386,7 @@ void MainWindow::encryptWallet() { ed.lblPasswordMatch->setText(""); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } else { - ed.lblPasswordMatch->setText(tr("Passphrase don't match or You have entered too few letters (16 minimum)")); + //ed.lblPasswordMatch->setText(tr("Passphrase don't match or You have entered too few letters (16 minimum)")); ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); } @@ -445,7 +445,7 @@ void MainWindow::encryptWallet() { address.rename(dir.filePath("addresslabels.datBackup")); QMessageBox::information(this, tr("Wallet Encryption Success"), - QString("Successfully encrypt your wallet"), + QString("Successfully encrypted your wallet"), QMessageBox::Ok ); } From 65379b8c063c7ff6c5e8bc84045859a7bb9ebe41 Mon Sep 17 00:00:00 2001 From: Charles <18726788+csharpee@users.noreply.github.com> Date: Wed, 10 Jun 2020 02:17:08 -0400 Subject: [PATCH 246/251] Updated window titles, fixed addressbook layout issues with Avatar & Nickname, spellings. --- src/addressbook.ui | 49 ++++++- src/connection.ui | 14 +- src/contactrequest.ui | 284 ++++++++++++++++++------------------ src/hushrequest.ui | 2 +- src/mainwindow.cpp | 2 +- src/mobileappconnector.ui | 2 +- src/newwallet.ui | 136 +++++++++-------- src/recurringdialog.ui | 2 +- src/recurringmultiple.ui | 2 +- src/recurringpayments.ui | 2 +- src/requestContactDialog.ui | 2 +- src/restoreseed.ui | 2 +- 12 files changed, 281 insertions(+), 218 deletions(-) diff --git a/src/addressbook.ui b/src/addressbook.ui index 08b2356..80b3a80 100644 --- a/src/addressbook.ui +++ b/src/addressbook.ui @@ -67,15 +67,28 @@ - <html><head/><body><p align="right">Nickname :</p></body></html> + <html><head/><body><p>Nickname :</p></body></html> - + + + + 0 + 25 + + + + + + 0 + 25 + + 25 @@ -89,7 +102,14 @@ - + + + + 0 + 25 + + + @@ -99,10 +119,23 @@ - + + + + 0 + 25 + + + + + + 0 + 25 + + Add to Address Book @@ -245,12 +278,18 @@ - <html><head/><body><p align="right">Avatar :</p></body></html> + <html><head/><body><p>Avatar :</p></body></html> + + + 0 + 25 + + Create a new HushChat zaddr diff --git a/src/connection.ui b/src/connection.ui index 69c6a7c..8c950bd 100644 --- a/src/connection.ui +++ b/src/connection.ui @@ -10,9 +10,21 @@ 0 0 512 - 513 + 512 + + + 512 + 512 + + + + + 512 + 512 + + SilentDragonLite diff --git a/src/contactrequest.ui b/src/contactrequest.ui index 1b9bd7d..d187eb1 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -29,9 +29,71 @@ - Send a contact request + Send Contact Request + + + + QLayout::SetMaximumSize + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + @@ -39,6 +101,58 @@ + + + + 6 + + + QLayout::SetMaximumSize + + + + + + 0 + 0 + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> + + + + + + + + 0 + 0 + + + + Create New Address + + + false + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + @@ -55,6 +169,13 @@ + + + + <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> + + + @@ -272,6 +393,26 @@ + + + + + 0 + 0 + + + + 0/512 + + + + + + + Add a memo to your request + + + @@ -310,147 +451,6 @@ - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert the address of your contact:</span></p></body></html> - - - - - - - 6 - - - QLayout::SetMaximumSize - - - - - - 0 - 0 - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Your HushChat Address:</span></p></body></html> - - - - - - - - 0 - 0 - - - - Create New Address - - - false - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - QLayout::SetMaximumSize - - - - - - 0 - 0 - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Insert a nickname for your contact:</span></p></body></html> - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 40 - 20 - - - - - - - - - 0 - 0 - - - - <html><head/><body><p><span style=" font-weight:600; text-decoration: underline;">Choose an avatar for your contact:</span></p></body></html> - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Add a memo to your request - - - - - - - - 0 - 0 - - - - 0/512 - - - diff --git a/src/hushrequest.ui b/src/hushrequest.ui index d0b0ca7..f51aebd 100644 --- a/src/hushrequest.ui +++ b/src/hushrequest.ui @@ -11,7 +11,7 @@ - Dialog + Request Payment diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 3e9d2a0..441126e 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -612,7 +612,7 @@ void MainWindow::removeWalletEncryptionStartUp() { { - QMessageBox::information(this, tr("You have still Plaintextdata on your disk!"), + QMessageBox::information(this, tr("You still have plaintext data on your disk!"), QString("WARNING: Delete it only if you have a backup of your Wallet Seed."), QMessageBox::Ok ); diff --git a/src/mobileappconnector.ui b/src/mobileappconnector.ui index 9412c37..823a497 100644 --- a/src/mobileappconnector.ui +++ b/src/mobileappconnector.ui @@ -11,7 +11,7 @@ - Connect Mobile App + Mobile Connector App diff --git a/src/newwallet.ui b/src/newwallet.ui index ac2a5af..9f1e76c 100644 --- a/src/newwallet.ui +++ b/src/newwallet.ui @@ -11,9 +11,62 @@ - Form + Create New SDL Wallet + + + + Confirm Passphrase: + + + + + + + QLineEdit::Password + + + + + + + + 0 + 0 + + + + + + + + + + Restore wallet from seed + + + + + + + Restore an existing wallet, using the 24-word seed. + + + true + + + + + + + + + + QLineEdit::Password + + + @@ -29,7 +82,7 @@ - Create a new Wallet + Create a new wallet @@ -53,84 +106,43 @@ - - - - color: red; - - - Passphrase don't match - - - Qt::AlignCenter - - - - - - - <html><head/><body><p>16 letters minimum</p></body></html> - - - - + Encryption Passphrase: - - - - QLineEdit::Password + + + + + 0 + 0 + + + + color: red; - - - - - Confirm Passphrase: + <html><head/><body><p><span style=" font-style:italic;">Passphrase don't match</span></p></body></html> - - - - - - QLineEdit::Password + + Qt::AlignCenter - - + + - + 0 0 - - + + <html><head/><body><p><span style=" font-style:italic;">16 letters minimum</span></p></body></html> - - - - - Restore wallet from seed - - - - - - - Restore an existing wallet, using the 24-word seed. - - - true - - - - diff --git a/src/recurringdialog.ui b/src/recurringdialog.ui index fbe26e6..6e53279 100644 --- a/src/recurringdialog.ui +++ b/src/recurringdialog.ui @@ -11,7 +11,7 @@ - Dialog + Reccuring Dialog diff --git a/src/recurringmultiple.ui b/src/recurringmultiple.ui index b895ecb..e7a41ca 100644 --- a/src/recurringmultiple.ui +++ b/src/recurringmultiple.ui @@ -11,7 +11,7 @@ - Dialog + Recurring Multiple Payments diff --git a/src/recurringpayments.ui b/src/recurringpayments.ui index 3874370..839fe73 100644 --- a/src/recurringpayments.ui +++ b/src/recurringpayments.ui @@ -11,7 +11,7 @@ - Payments + Reocurring Payments diff --git a/src/requestContactDialog.ui b/src/requestContactDialog.ui index 237f206..76e904a 100644 --- a/src/requestContactDialog.ui +++ b/src/requestContactDialog.ui @@ -23,7 +23,7 @@ - Incoming contact request + Incoming Contact Request diff --git a/src/restoreseed.ui b/src/restoreseed.ui index 9cc2b3f..64bd43f 100644 --- a/src/restoreseed.ui +++ b/src/restoreseed.ui @@ -11,7 +11,7 @@ - Form + Restore Wallet Seed From 83912f6efbcd86416043badd889c498a71ab20ee Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 10 Jun 2020 11:48:25 +0200 Subject: [PATCH 247/251] zdust memos with random size, zdust memo in hex --- src/controller.cpp | 52 ++++++++++++++++------------------------------ 1 file changed, 18 insertions(+), 34 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 6bcd569..066f055 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -108,6 +108,7 @@ std::string Controller::encryptDecrypt(std::string toEncrypt) { int radomInteger = rand() % 1000000000 +100000; + char key = radomInteger; std::string output = toEncrypt; @@ -150,21 +151,23 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) DataStore::getSietchDataStore()->clear(); // clears the datastore - const QString possibleCharacters("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"); + const QString possibleCharacters("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"); - int sizerandomString = rand() % 250 +125; - const int randomStringLength = sizerandomString; // assuming you want random strings of 12 characters + int sizerandomString = rand() % 120 +10; + const int randomStringLength = sizerandomString; - QString randomString; - for(int i=0; i(hash),MESSAGE_LEN1); - - ///encrypt zdust memo - std::string encrypt = this->encryptDecrypt(decryptedMemo); - QString randomHashafter1 = QString::fromUtf8( encrypt.data(), encrypt.size() + crypto_secretstream_xchacha20poly1305_ABYTES); - std::string encrypt2 = this->encryptDecrypt(decryptedMemo); - QString randomHashafter2 = QString::fromUtf8( encrypt2.data(), encrypt2.size() + crypto_secretstream_xchacha20poly1305_ABYTES); - std::string encrypt3 = this->encryptDecrypt(decryptedMemo); - QString randomHashafter3 = QString::fromUtf8( encrypt3.data(), encrypt3.size() + crypto_secretstream_xchacha20poly1305_ABYTES); - std::string encrypt4 = this->encryptDecrypt(decryptedMemo); - QString randomHashafter4 = QString::fromUtf8( encrypt4.data(), encrypt4.size() + crypto_secretstream_xchacha20poly1305_ABYTES); - std::string encrypt5 = this->encryptDecrypt(decryptedMemo); - QString randomHashafter5 = QString::fromUtf8( encrypt5.data(), encrypt5.size() + crypto_secretstream_xchacha20poly1305_ABYTES); - std::string encrypt6 = this->encryptDecrypt(decryptedMemo); - QString randomHashafter6 = QString::fromUtf8( encrypt6.data(), encrypt6.size() + crypto_secretstream_xchacha20poly1305_ABYTES); - std::string encrypt7 = this->encryptDecrypt(decryptedMemo); - QString randomHashafter7 = QString::fromUtf8( encrypt7.data(), encrypt7.size() + crypto_secretstream_xchacha20poly1305_ABYTES); - +std::string encrypt = this->encryptDecrypt(decryptedMemo); +QString randomHashafter1 = QByteArray(reinterpret_cast(encrypt.c_str()),encrypt.size()).toHex(); +dust.at(i)["memo"] = randomHashafter1.toStdString(); + + } for(uint8_t i = 0; i < 6; i++) { dust.at(i)["amount"] = 0; } - dust.at(0)["memo"] = randomHashafter1.toStdString(); - dust.at(1)["memo"] = randomHashafter2.toStdString(); - dust.at(2)["memo"] = randomHashafter3.toStdString(); - dust.at(3)["memo"] = randomHashafter4.toStdString(); - dust.at(4)["memo"] = randomHashafter5.toStdString(); - dust.at(5)["memo"] = randomHashafter6.toStdString(); - // For each addr/amt/memo, construct the JSON and also build the confirm dialog box for (int i=0; i < tx.toAddrs.size(); i++) From 92e20e1c98ce6f4035614e267b4ac130c1aac128 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 10 Jun 2020 17:07:45 +0200 Subject: [PATCH 248/251] rename old addrbook to .bak and create a new one #109 --- src/addressbook.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/addressbook.cpp b/src/addressbook.cpp index 11dc0c4..e2f481d 100644 --- a/src/addressbook.cpp +++ b/src/addressbook.cpp @@ -398,7 +398,16 @@ void AddressBook::readFromStorage() QList> stuff; in >> stuff; - + //////////////found old addrbook, and rename it to .bak + if (version != "v2") + { + auto filename = QStringLiteral("addresslabels.dat"); + auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); + QFile address(dir.filePath(filename)); + + address.rename(dir.filePath("addresslabels.bak")); + + }else{ for (int i=0; i < stuff.size(); i++) { @@ -406,6 +415,7 @@ void AddressBook::readFromStorage() allLabels.push_back(contact); } + } // qDebug() << "Read " << version << " Hush contacts from disk..."; @@ -448,7 +458,7 @@ void AddressBook::writeToStorage() c.push_back(item.getAvatar()); contacts.push_back(c); } - out << QString("v1") << contacts; + out << QString("v2") << contacts; file.close(); } From 94340842a9e486e1b2d657ea070fe48af5211204 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 10 Jun 2020 21:59:25 +0200 Subject: [PATCH 249/251] add funds button #104 --- src/deposithush.ui | 72 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/deposithush.ui diff --git a/src/deposithush.ui b/src/deposithush.ui new file mode 100644 index 0000000..fb923db --- /dev/null +++ b/src/deposithush.ui @@ -0,0 +1,72 @@ + + + + + Dialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + + From 2b907a20d46599b678b4d80dcce2b48cb1d8f8d6 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 10 Jun 2020 21:59:32 +0200 Subject: [PATCH 250/251] add funds button #104 --- silentdragon-lite.pro | 2 + src/deposithush.ui | 130 +++++++++++++------ src/mainwindow.cpp | 31 +++++ src/mainwindow.ui | 285 +++++++++++++++++++++--------------------- 4 files changed, 272 insertions(+), 176 deletions(-) diff --git a/silentdragon-lite.pro b/silentdragon-lite.pro index 90b261b..57144f4 100644 --- a/silentdragon-lite.pro +++ b/silentdragon-lite.pro @@ -121,6 +121,7 @@ HEADERS += \ FORMS += \ src/contactrequest.ui \ + src/deposithush.ui \ src/encryption.ui \ src/hushrequest.ui \ src/mainwindow.ui \ @@ -147,6 +148,7 @@ FORMS += \ src/removeencryption.ui \ src/recurringmultiple.ui \ src/chatbubbleme.ui \ + src/deposithush.ui \ src/chatbubblepartner.ui diff --git a/src/deposithush.ui b/src/deposithush.ui index fb923db..6ac7e71 100644 --- a/src/deposithush.ui +++ b/src/deposithush.ui @@ -1,51 +1,112 @@ - - - - - Dialog - - + + + deposithush + + 0 0 - 400 - 300 + 792 + 650 - - Dialog + + Deposit Hush - - - - 30 - 240 - 341 - 32 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - + + + + + + 16777215 + 71 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:16pt;">Please use the following hush address to transfer funds to SilentDragonLite. You can either copy the address or use the QR Code. </span></p></body></html> + + + + + + + <html><head/><body><p align="center">QR Code of your Hush Address</p></body></html> + + + + + + + <html><head/><body><p align="center"><span style=" text-decoration: underline;">Your Hush Address </span></p></body></html> + + + + + + + Hush zaddr + + + + + + + Copy Address + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + 0 + 0 + + + + background-color: #fff + + + + + + + - + + + QRCodeLabel + QLabel +
qrcodelabel.h
+
+
buttonBox accepted() - Dialog + deposithush accept() - + 248 254 - + 157 274 @@ -54,14 +115,14 @@ buttonBox rejected() - Dialog + deposithush reject() - + 316 260 - + 286 274 @@ -69,4 +130,3 @@
- diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 441126e..4f278e7 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -18,6 +18,7 @@ #include "version.h" #include "connection.h" #include "ui_contactrequest.h" +#include "ui_deposithush.h" #include "ui_requestContactDialog.h" #include "chatmodel.h" #include "requestdialog.h" @@ -1158,6 +1159,36 @@ void MainWindow::setupBalancesTab() { ui->unconfirmedWarning->setVisible(false); ui->lblSyncWarning->setVisible(false); ui->lblSyncWarningReceive->setVisible(false); + QObject::connect(ui->depositHushButton, &QPushButton::clicked, [=](){ + + Ui_deposithush deposithush; + QDialog dialog(this); + deposithush.setupUi(&dialog); + Settings::saveRestore(&dialog); + + QList allAddresses; + + allAddresses = getRPC()->getModel()->getAllZAddresses(); + QString depositzaddr = allAddresses[1]; + deposithush.qrcodeDisplayDeposit->setQrcodeString(depositzaddr); + deposithush.zaddr->setText(depositzaddr); + + QObject::connect(deposithush.CopyAddress, &QPushButton::clicked, [=](){ + + QGuiApplication::clipboard()->setText(depositzaddr); + ui->statusBar->showMessage(tr("Copied to clipboard"), 3 * 1000); + + }); + + + + dialog.exec(); + + + + + }); + // Setup context menu on balances tab ui->balancesTable->setContextMenuPolicy(Qt::CustomContextMenu); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 2fa544c..8471227 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -59,7 +59,7 @@ - 5 + 2 @@ -84,181 +84,184 @@
- + - - - - - - 0 - 0 - - - - Shielded - - - - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - + + + + 0 + 0 + + + + Shielded + + - - - - - - 0 - 0 - - - - Notarized - - - - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + - - - - - - 0 - 0 - - - - Transparent - - - - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - + + + + 0 + 0 + + + + Notarized + + - - - Qt::Horizontal + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + - - - - - - 0 - 0 - - - - - 75 - true - - - - Total - - - - - - - - 75 - true - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - + + + + 0 + 0 + + + + Transparent + + - - - color:red; - + - Your node is still syncing, balances may not be updated. + - - true + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + Qt::Horizontal + + + + + - + 0 0 - - color: red; + + + 75 + true + - Some transactions are not yet confirmed. Balances may change. - - - true + Total - - - Qt::Vertical + + + + 75 + true + - - - 20 - 40 - + + - + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + +
+ + + + color:red; + + + Your node is still syncing, balances may not be updated. + + + true + + + + + + + + 0 + 0 + + + + color: red; + + + Some transactions are not yet confirmed. Balances may change. + + + true + + + + + + + Deposit Hush + + + + + + + Qt::Vertical + + + + 20 + 383 + + + +
@@ -1627,7 +1630,7 @@ false - QAbstractItemView::NoDragDrop + QAbstractItemView::DragOnly Qt::IgnoreAction From 8dba87d5b080034d746be3dd190442ab16e7e51d Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Wed, 10 Jun 2020 22:04:58 +0200 Subject: [PATCH 251/251] try catch hm --- src/controller.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index b727e2c..7ce4c2d 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -965,7 +965,8 @@ void Controller::refreshTransactions() { memo = QString::fromStdString(o["memo"].get()); if (memo.startsWith("{")) { - + try + { QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); cid = headermemo["cid"].toString(); @@ -974,7 +975,12 @@ void Controller::refreshTransactions() { chatModel->addCid(txid, cid); chatModel->addHeader(txid, headerbytes); - } + } catch(...) + + { + + } + } bool isNotarized; @@ -1191,7 +1197,8 @@ void Controller::refreshTransactions() { if (!it["memo"].is_null()) { if (memo.startsWith("{")) { - + try + { QJsonDocument headermemo = QJsonDocument::fromJson(memo.toUtf8()); cid = headermemo["cid"].toString(); @@ -1208,6 +1215,10 @@ void Controller::refreshTransactions() { main->addPubkey(requestZaddr, publickey); } + } catch(...) + { + + } } if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){

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 tXMM!gv06mY2L)QqZt$# literal 0 HcmV?d00001 diff --git a/res/sdlogo.png b/res/sdlogo.png new file mode 100644 index 0000000000000000000000000000000000000000..5dde4f0dda19c805f99e3556707277d558cc72e8 GIT binary patch literal 43333 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 Lu6{1-oD!M<=RF7Y literal 0 HcmV?d00001 diff --git a/res/sdlogo2.png b/res/sdlogo2.png new file mode 100644 index 0000000000000000000000000000000000000000..fee4fab797fbebd384f7a6de6b0e1766b96e8f9d GIT binary patch literal 59377 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 YC+bHJp3y(8h5t(#8kp!m(X$Qy9}f~1d;kCd literal 0 HcmV?d00001 diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 0104f56..a45f5b5 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -906,9 +906,11 @@ void MainWindow::setupTransactionsTab() { // Set up context menu on transactions tab auto theme = Settings::getInstance()->get_theme_name(); - if (theme == "dark"){ + if (theme == "dark" || theme == "midnight") { ui->listChat->setStyleSheet("background-image: url(res/sdlogo.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover"); - }else{ui->listChat->setStyleSheet("background-image: url(res/sdlogo2.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover");} + } + if (theme == "default") {ui->listChat->setStyleSheet("background-image: url(res/sdlogo2.png) ;background-attachment: fixed ;background-position: center center ;background-repeat: no-repeat;background-size: cover");} + ui->listChat->setResizeMode(QListView::Adjust); ui->listChat->setWordWrap(true); ui->listChat->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); @@ -997,6 +999,7 @@ void MainWindow::setupTransactionsTab() { menu.exec(ui->transactionsTable->viewport()->mapToGlobal(pos)); }); + } void MainWindow::setupchatTab() { From dbbc079432fff1edfa05b954d254728974118dab Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 18:52:29 +0200 Subject: [PATCH 062/251] add new standard avatar --- src/chatmodel.cpp | 39 +++++++++++++++++++++++++++------------ src/contactmodel.cpp | 16 ++++++++++++++-- src/controller.cpp | 42 ++++++++++++++++++++++++++++++------------ 3 files changed, 71 insertions(+), 26 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 68b496a..4f5a7e6 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -1,3 +1,5 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 #include "chatmodel.h" #include "settings.h" #include "ui_confirm.h" @@ -395,15 +397,17 @@ Tx MainWindow::createTxForSafeContactRequest() { // QString cid = c.getCid(); // This has to be a new cid for the contact // QString myAddr = c.getMyAddress(); // this should be a new HushChat zaddr // QString addr = c.getPartnerAddress(); // this address will be insert by the user - QString cid = ""; - QString myAddr = ""; - QString addr = ""; - QString type = "Request"; + QString cid = c.getCid(); + QString myAddr = c.getMyAddress(); + QString addr = c.getPartnerAddress(); + QString type = "cont"; + + QString hmemo= createHeaderMemo(type,cid,myAddr); - // tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; qDebug() << "pushback chattx"; } @@ -439,7 +443,7 @@ void MainWindow::safeContactRequest() { // return; // } - /* Tx tx = createTxForSafeContactRequest(); + Tx tx = createTxForSafeContactRequest(); QString error = doSendRequestTxValidations(tx); @@ -455,15 +459,26 @@ void MainWindow::safeContactRequest() { qDebug() << "Tx aborted"; } + // Create a new Dialog to show that we are computing/sending the Tx // Create a new Dialog to show that we are computing/sending the Tx auto d = new QDialog(this); auto connD = new Ui_ConnectionDialog(); connD->setupUi(d); - QPixmap logo(":/img/res/logobig.gif"); - connD->topIcon->setBasePixmap(logo.scaled(256, 256, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + QMovie *movie1 = new QMovie(":/img/res/silentdragonlite-animated.gif");; + QMovie *movie2 = new QMovie(":/img/res/silentdragonlite-animated-dark.gif");; + auto theme = Settings::getInstance()->get_theme_name(); + if (theme == "dark" || theme == "midnight") { + movie2->setScaledSize(QSize(512,512)); + connD->topIcon->setMovie(movie2); + movie2->start(); + } else { + movie1->setScaledSize(QSize(512,512)); + connD->topIcon->setMovie(movie1); + movie1->start(); + } connD->status->setText(tr("Please wait...")); - connD->statusDetail->setText(tr("Your Safe Contact Request will be send")); + connD->statusDetail->setText(tr("Your Contact Request will be send")); d->show(); @@ -501,14 +516,14 @@ void MainWindow::safeContactRequest() { QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); } - );*/ + ); } QString MainWindow::doSendRequestTxValidations(Tx tx) { // Check to see if we have enough verified funds to send the Tx. - /* CAmount total; + CAmount total; for (auto toAddr : tx.toAddrs) { if (!Settings::isValidAddress(toAddr.addr)) { QString addr = (toAddr.addr.length() > 100 ? toAddr.addr.left(100) + "..." : toAddr.addr); @@ -532,5 +547,5 @@ QString MainWindow::doSendRequestTxValidations(Tx tx) { .arg(available.toDecimalhushString(), total.toDecimalhushString()); } - return "";*/ + return ""; } diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index a19fe1c..1a677e1 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -10,14 +10,26 @@ void ContactModel::renderContactList(QListView* view) { //QStandardItem* Items = new QStandardItem(); - QStandardItem* Items1 = new QStandardItem(QIcon("res/darkwing.png"),c.getName()); - // contact->appendRow(Items); + auto theme = Settings::getInstance()->get_theme_name(); + if ((theme == "dark" || theme == "midnight")) { + QStandardItem* Items1 = new QStandardItem(QIcon("res/sdlogo.png"),c.getName()); + contact->appendRow(Items1); + view->setModel(contact); + view->setIconSize(QSize(80,100)); + view->setUniformItemSizes(true); + view->setDragDropMode(QAbstractItemView::DropOnly);; + } + if (theme == "default" || theme == "blue"){ + + QStandardItem* Items1 = new QStandardItem(QIcon("res/sdlogo2.png"),c.getName()); contact->appendRow(Items1); view->setModel(contact); view->setIconSize(QSize(80,100)); view->setUniformItemSizes(true); view->setDragDropMode(QAbstractItemView::DropOnly);; + } + } diff --git a/src/controller.cpp b/src/controller.cpp index 577d438..81676e6 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -954,22 +954,43 @@ void Controller::refreshTransactions() { }; txdata.push_back(tx); - - QString cid = ""; + + QString type; + QString cid; if (memo.startsWith("{")) { + + type = memo.mid(75,4); cid = memo.mid(14,36); + + qDebug()<addCid(txid, cid); - }else{ - if(chatModel->getCidByTx(txid) != QString("0xdeadbeef")) + + } + if (type == "cont") + + { + + qDebug()<< "Als Request erkannt"; + + + } + + + if (chatModel->getCidByTx(txid) != QString("0xdeadbeef")){ + cid = chatModel->getCidByTx(txid); - else - cid = ""; } - + + + else{ + + cid = ""; + } + QString contact; for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - // for (auto &p : this->chatItems) { if (address == c.getMyAddress()){ @@ -977,7 +998,7 @@ void Controller::refreshTransactions() { qDebug()<< "Addressbuch Addresse: " << c.getMyAddress(); qDebug()<< "Addresse: " << address; - }else{ contact = "ELSE";} + }else{ contact = "";} ChatItem item = ChatItem( datetime, @@ -988,9 +1009,6 @@ void Controller::refreshTransactions() { txid, false ); - // qDebug()<< "KontaktName: " << contact; - - // qDebug()<< "Addressbuch Addresse: " << c.getMyAddress(); chatModel->addMessage(item); } From d3d19cab9e62c25436c753dcc973444b47b1fbee Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 19:44:50 +0200 Subject: [PATCH 063/251] switch sides of conversation --- src/contactrequest.ui | 72 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/contactrequest.ui diff --git a/src/contactrequest.ui b/src/contactrequest.ui new file mode 100644 index 0000000..fb923db --- /dev/null +++ b/src/contactrequest.ui @@ -0,0 +1,72 @@ + + + + + Dialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + + From 4da6eddae2ba504eb59eafb2a276ebb6c535f44a Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 19:45:49 +0200 Subject: [PATCH 064/251] switch sides of conversation --- src/chatmodel.cpp | 14 ++++++++++++-- src/contactmodel.cpp | 4 ++-- src/contactmodel.h | 2 ++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index 4f5a7e6..de38e97 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -8,6 +8,7 @@ #include "ui_mainwindow.h" #include "addressbook.h" #include "ui_memodialog.h" +#include "ui_contactrequest.h" #include "addressbook.h" #include #include @@ -122,7 +123,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) { QStandardItem* Items = new QStandardItem(c.second.toChatLine()); - Items->setData("Incoming", Qt::UserRole +1); + Items->setData("Outgoing", Qt::UserRole +1); chat->appendRow(Items); ui->listChat->setModel(chat); @@ -141,7 +142,7 @@ void ChatModel::renderChatBox(Ui::MainWindow* ui, QListView *view) { QStandardItem* Items1 = new QStandardItem(c.second.toChatLine()); - Items1->setData("Outgoing", Qt::UserRole +1); + Items1->setData("Incoming", Qt::UserRole +1); chat->appendRow(Items1); } @@ -423,6 +424,15 @@ Tx MainWindow::createTxForSafeContactRequest() { //////////////////De-activated for now/////////////////// void MainWindow::safeContactRequest() { + + // Ui_ContactRequest contactRequest; + // QDialog dialog(this); + // contactRequest.setupUi(&dialog); + // Settings::saveRestore(&dialog); + + // memoDialog.memoTxt->setLenDisplayLabel(memoDialog.memoSize); + // memoDialog.memoTxt->setAcceptButton(memoDialog.buttonBox->button(QDialogButtonBox::Ok)); + ////////////////////////////Todo: Check if its a zaddr////////// // Create a Tx from the values on the send tab. Note that this Tx object diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp index 1a677e1..956bd63 100644 --- a/src/contactmodel.cpp +++ b/src/contactmodel.cpp @@ -15,7 +15,7 @@ void ContactModel::renderContactList(QListView* view) QStandardItem* Items1 = new QStandardItem(QIcon("res/sdlogo.png"),c.getName()); contact->appendRow(Items1); view->setModel(contact); - view->setIconSize(QSize(80,100)); + view->setIconSize(QSize(60,70)); view->setUniformItemSizes(true); view->setDragDropMode(QAbstractItemView::DropOnly);; } @@ -24,7 +24,7 @@ void ContactModel::renderContactList(QListView* view) QStandardItem* Items1 = new QStandardItem(QIcon("res/sdlogo2.png"),c.getName()); contact->appendRow(Items1); view->setModel(contact); - view->setIconSize(QSize(80,100)); + view->setIconSize(QSize(60,70)); view->setUniformItemSizes(true); view->setDragDropMode(QAbstractItemView::DropOnly);; diff --git a/src/contactmodel.h b/src/contactmodel.h index b97cc8a..2bf3fe3 100644 --- a/src/contactmodel.h +++ b/src/contactmodel.h @@ -1,3 +1,5 @@ +// Copyright 2019-2020 The Hush developers +// GPLv3 #ifndef CONTACTMODEL_H #define CONTACTMODEL_H From bcbee161eb277d4c5f4cef532a34ae186d4c41b2 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Sun, 3 May 2020 23:37:02 +0200 Subject: [PATCH 065/251] activate contact request hm, for testing --- src/chatmodel.cpp | 111 ++++++++++++++++------------ src/contactrequest.ui | 165 +++++++++++++++++++++++++++++++++--------- src/mainwindow.cpp | 5 +- src/mainwindow.h | 3 +- 4 files changed, 200 insertions(+), 84 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index de38e97..550081c 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -377,12 +377,28 @@ QString MainWindow::doSendChatTxValidations(Tx tx) { return ""; } -// Create a Contact Request. + +// Create a Tx from the current state of the Chat page. Tx MainWindow::createTxForSafeContactRequest() { - Tx tx; - CAmount totalAmt; - { + + Ui_Dialog request; + QDialog dialog(this); + request.setupUi(&dialog); + Settings::saveRestore(&dialog); +dialog.exec(); + + Tx tx; + QObject::connect(request.cancel, &QPushButton::clicked, [&] () { + + dialog.close(); + }); + + + QObject::connect(request.sendRequestButton, &QPushButton::clicked, this, &MainWindow::ContactRequest); + // For each addr/amt in the Chat tab + { + CAmount totalAmt; QString amtStr = "0"; CAmount amt; @@ -392,48 +408,46 @@ Tx MainWindow::createTxForSafeContactRequest() { for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) + if (request.zaddr->text().trimmed() != c.getPartnerAddress()) { - if (ui->contactNameMemo->text().trimmed() == c.getName()) { - - // QString cid = c.getCid(); // This has to be a new cid for the contact - // QString myAddr = c.getMyAddress(); // this should be a new HushChat zaddr - // QString addr = c.getPartnerAddress(); // this address will be insert by the user - QString cid = c.getCid(); - QString myAddr = c.getMyAddress(); - QString addr = c.getPartnerAddress(); - QString type = "cont"; - - - - QString hmemo= createHeaderMemo(type,cid,myAddr); - - tx.toAddrs.push_back(ToFields{addr, amt, hmemo}) ; + QString cid = c.getCid(); + QString myAddr = c.getMyAddress(); + QString type = "cont"; + QString addr = request.zaddr->text(); - qDebug() << "pushback chattx"; - } -} + + + QString hmemo= createHeaderMemo(type,cid,myAddr,0,0); + QString memo = request.requestmemo->toPlainText().trimmed(); + + tx.toAddrs.push_back(ToFields{addr, amt, hmemo}); + tx.toAddrs.push_back(ToFields{addr, amt, memo}); - tx.fee = Settings::getMinerFee(); + qDebug() << "pushback chattx"; + tx.fee = Settings::getMinerFee(); return tx; qDebug() << "ChatTx created"; -} -//////////////////De-activated for now/////////////////// -void MainWindow::safeContactRequest() { + } if (request.zaddr->text().trimmed().isEmpty() == false){ + + QMessageBox msg(QMessageBox::Critical, tr("Please insert a contact Address"), request.zaddr->text(), + QMessageBox::Ok, this); + + msg.exec(); + + } + + } +} +void MainWindow::ContactRequest() { - // Ui_ContactRequest contactRequest; - // QDialog dialog(this); - // contactRequest.setupUi(&dialog); - // Settings::saveRestore(&dialog); - // memoDialog.memoTxt->setLenDisplayLabel(memoDialog.memoSize); - // memoDialog.memoTxt->setAcceptButton(memoDialog.buttonBox->button(QDialogButtonBox::Ok)); - ////////////////////////////Todo: Check if its a zaddr////////// + ////////////////////////////Todo: Check if a Contact is selected////////// // Create a Tx from the values on the send tab. Note that this Tx object // might not be valid yet. @@ -441,21 +455,24 @@ void MainWindow::safeContactRequest() { // Memos can only be used with zAddrs. So check that first // for(auto &c : AddressBook::getInstance()->getAllAddressLabels()) - // if (ui->ContactZaddr->text().trimmed() == c.getName()) { + // if (ui->contactNameMemo->text().trimmed().isEmpty() || ui->memoTxtChat->toPlainText().trimmed().isEmpty()) { // auto addr = ""; // if (! Settings::isZAddress(AddressBook::addressFromAddressLabel(addr->text()))) { - // QMessageBox msg(QMessageBox::Critical, tr("Contact requests can only be used with z-addresses"), - // tr("The memo field can only be used with a z-address.\n") + addr->text() + tr("\ndoesn't look like a z-address"), - // QMessageBox::Ok, this); + // QMessageBox msg(QMessageBox::Critical, tr("You have to select a contact and insert a Memo"), + // tr("You have selected no Contact from Contactlist,\n") + tr("\nor your Memo is empty"), + // QMessageBox::Ok, this); - // msg.exec(); - // return; + // msg.exec(); + // return; // } - Tx tx = createTxForSafeContactRequest(); + +//}; + + Tx tx = createTxForSafeContactRequest(); - QString error = doSendRequestTxValidations(tx); + QString error = doSendChatTxValidations(tx); if (!error.isEmpty()) { // Something went wrong, so show an error and exit @@ -469,7 +486,6 @@ void MainWindow::safeContactRequest() { qDebug() << "Tx aborted"; } - // Create a new Dialog to show that we are computing/sending the Tx // Create a new Dialog to show that we are computing/sending the Tx auto d = new QDialog(this); auto connD = new Ui_ConnectionDialog(); @@ -488,9 +504,10 @@ void MainWindow::safeContactRequest() { } connD->status->setText(tr("Please wait...")); - connD->statusDetail->setText(tr("Your Contact Request will be send")); + connD->statusDetail->setText(tr("Your Message will be send")); d->show(); + ui->memoTxtChat->clear(); // And send the Tx rpc->executeTransaction(tx, @@ -509,7 +526,8 @@ void MainWindow::safeContactRequest() { }); // Force a UI update so we get the unconfirmed Tx - rpc->refresh(true); + // rpc->refresh(true); + ui->memoTxtChat->clear(); }, // Errored out @@ -527,7 +545,8 @@ void MainWindow::safeContactRequest() { QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); } ); - } + + } QString MainWindow::doSendRequestTxValidations(Tx tx) { @@ -558,4 +577,4 @@ QString MainWindow::doSendRequestTxValidations(Tx tx) { } return ""; -} +} \ No newline at end of file diff --git a/src/contactrequest.ui b/src/contactrequest.ui index fb923db..1bd758f 100644 --- a/src/contactrequest.ui +++ b/src/contactrequest.ui @@ -1,72 +1,165 @@ - - - - + + Dialog - - + + 0 0 - 400 - 300 + 780 + 416 - + Dialog - - + + - 30 + 0 + 100 + 351 + 17 + + + + <html><head/><body><p>Please insert the Address of your contact :</p></body></html> + + + + + + 10 + 190 + 461 + 17 + + + + <html><head/><body><p>Insert a Message, and ask your friend for the contact request : </p><p><br/></p></body></html> + + + + + + 0 240 - 341 - 32 + 591 + 101 + + + + + + + 0 + 140 + 591 + 25 + + + + + + + 490 + 360 + 114 + 25 - - Qt::Horizontal + + + 100 + 0 + - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + Send + + + false + + + + + + 320 + 360 + 114 + 25 + + + + + 100 + 0 + + + + Cancel + + + false + + + + + + 0 + 10 + 351 + 17 + + + + <html><head/><body><p>Please insert a Nickname for your contact :</p></body></html> + + + + + + 0 + 50 + 591 + 25 + - - buttonBox - accepted() + sendRequestButton + clicked() Dialog accept() - - 248 - 254 + + 536 + 262 - - 157 - 274 + + 389 + 207 - buttonBox - rejected() + cancel + clicked() Dialog reject() - - 316 - 260 + + 396 + 262 - - 286 - 274 + + 389 + 207 - diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index a45f5b5..d685005 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -14,6 +14,7 @@ #include "settings.h" #include "version.h" #include "connection.h" +#include "ui_contactrequest.h" #include "requestdialog.h" #include "websockets.h" #include @@ -1006,7 +1007,8 @@ void MainWindow::setupchatTab() { // Send button QObject::connect(ui->sendChatButton, &QPushButton::clicked, this, &MainWindow::sendChatButton); - QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::safeContactRequest); + QObject::connect(ui->safeContactRequest, &QPushButton::clicked, this, &MainWindow::ContactRequest); + ///////// Set selected Zaddr for Chat with Doubleklick @@ -1032,6 +1034,7 @@ void MainWindow::setupchatTab() { } + ChatMemoEdit::ChatMemoEdit(QWidget* parent) : QPlainTextEdit(parent) { QObject::connect(this, &QPlainTextEdit::textChanged, this, &ChatMemoEdit::updateDisplay); } diff --git a/src/mainwindow.h b/src/mainwindow.h index 1110f67..c767128 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -108,13 +108,14 @@ private: Tx createTxFromChatPage(); Tx createTxForSafeContactRequest(); + void encryptWallet(); void removeWalletEncryption(); void cancelButton(); void sendButton(); void sendChatButton(); - void safeContactRequest(); + void ContactRequest(); void addAddressSection(); void maxAmountChecked(int checked); From 30a5403833fc8548979abd30db25c3156df5fb75 Mon Sep 17 00:00:00 2001 From: DenioD <41270280+DenioD@users.noreply.github.com> Date: Mon, 4 May 2020 11:15:05 +0200 Subject: [PATCH 066/251] Add ComboBox for avatar --- application.qrc | 11 ++++ res/Berg.png | Bin 0 -> 70184 bytes res/Unbenannt-4 Kopie.png | Bin 0 -> 88464 bytes res/denio.png | Bin 0 -> 66558 bytes res/duke.png | Bin 0 -> 76820 bytes res/garfield.png | Bin 0 -> 108906 bytes res/hirsch.png | Bin 0 -> 142903 bytes res/mickey.png | Bin 0 -> 58807 bytes res/pinguin.png | Bin 0 -> 53787 bytes res/popey.png | Bin 0 -> 39428 bytes res/sharpee.png | Bin 0 -> 6006 bytes res/snoopy.png | Bin 0 -> 46143 bytes res/yoda.png | Bin 0 -> 84114 bytes silentdragon-lite.pro | 3 + src/addressbook.cpp | 45 +++++++------- src/addressbook.h | 6 +- src/addressbook.ui | 123 +++++++++++++++++++++++++++++++++++++- src/contactmodel.cpp | 31 ++++------ src/contactmodel.h | 15 ++++- src/mainwindow.cpp | 5 +- 20 files changed, 193 insertions(+), 46 deletions(-) create mode 100644 res/Berg.png create mode 100644 res/Unbenannt-4 Kopie.png create mode 100644 res/denio.png create mode 100644 res/duke.png create mode 100644 res/garfield.png create mode 100644 res/hirsch.png create mode 100644 res/mickey.png create mode 100644 res/pinguin.png create mode 100644 res/popey.png create mode 100644 res/sharpee.png create mode 100644 res/snoopy.png create mode 100644 res/yoda.png diff --git a/application.qrc b/application.qrc index e4cd3d2..42f093b 100644 --- a/application.qrc +++ b/application.qrc @@ -11,6 +11,17 @@ res/darkwing.png res/sdlogo.png res/sdlogo2.png + res/Berg.png + res/denio.png + res/duke.png + res/sharpee.png + res/yoda.png + res/mickey.png + res/snoopy.png + res/popey.png + res/garfield.png + res/pinguin.png + res/hirsch.png res/hushdlogo.gif diff --git a/res/Berg.png b/res/Berg.png new file mode 100644 index 0000000000000000000000000000000000000000..0aab208cc2a65527640ab6c8036876ef8fb8a8ce GIT binary patch literal 70184 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 literal 0 HcmV?d00001 diff --git a/res/Unbenannt-4 Kopie.png b/res/Unbenannt-4 Kopie.png new file mode 100644 index 0000000000000000000000000000000000000000..e9d0d54e65200d11b447666bfe67509719442df2 GIT binary patch literal 88464 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%0ALx8KyW@??b$Thi56L| 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 literal 0 HcmV?d00001 diff --git a/res/duke.png b/res/duke.png new file mode 100644 index 0000000000000000000000000000000000000000..4310cef9311ff8c22006d34fa49880094681b561 GIT binary patch literal 76820 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

2y#T)UkUS8lW4;#x$+c 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%0DBvGu_3p~!q@Oz*!?OIpqJMiTTN6ZYe#{#KI9 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